From 2e28a5190d825c359ae8a67abe00b73245e0f999 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 03:04:01 +0000 Subject: [PATCH 01/33] Update changelog (#671) Co-authored-by: mcasimir --- CHANGELOG.md | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0caad78ba..9e7b572d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## [v1.5.0](https://github.com/mongodb-js/vscode/releases/tag/untagged-bf7d742ca55d7b3fe4c6) - null + +Edit the release notes before publishing. + + ## [v1.4.0](https://github.com/mongodb-js/vscode/releases/tag/v1.4.0) - 2024-01-09 ## What's Changed @@ -431,21 +436,3 @@ To dig deeper please feel free to follow the links mentioned below: - Fixed an issue with the tree explorer freezing when double clicking an open schema -## [v0.0.4](https://github.com/mongodb-js/vscode/releases/tag/v0.0.4) - 2020-06-17 - -### Added - -- Added `Launch MongoDB Shell` right click action for the active connection in the tree view - -### Fixed - -- Fixed an issue with connecting to ssl with the launch shell command -- Fixed an issue with the launch shell command on windows -- Fixed playgrounds not being able to run in WSL environments -- Updated our connection model dependency to pull in a fix for connection strings with `readPreferenceTags` - -### Changed - -- Connections in the tree view are now alphabetically sorted - - From d64604333f0d134b7c572c593d66a0da1a553b9d Mon Sep 17 00:00:00 2001 From: Rhys Date: Wed, 24 Jan 2024 09:54:13 -0500 Subject: [PATCH 02/33] chore: remove unused less in webpack and deps (#674) --- .depcheckrc | 5 - package-lock.json | 765 ---------------------------------------------- package.json | 5 - webpack.config.js | 28 -- 4 files changed, 803 deletions(-) diff --git a/.depcheckrc b/.depcheckrc index 97d6c0453..238406eb2 100644 --- a/.depcheckrc +++ b/.depcheckrc @@ -14,11 +14,6 @@ ignores: - "vscode" - "webpack-cli" - "@mongodb-js/oidc-plugin" - - css-loader - - less - - less-loader - node-loader - - postcss-loader - - style-loader - ts-loader - mongodb-runner diff --git a/package-lock.json b/package-lock.json index 26e0b72d2..bf3007bfe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -78,7 +78,6 @@ "chai-as-promised": "^7.1.1", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", - "css-loader": "^6.8.1", "depcheck": "^1.4.3", "duplicate-package-checker-webpack-plugin": "^3.0.0", "enzyme": "^3.11.0", @@ -90,8 +89,6 @@ "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", - "less": "^3.13.1", - "less-loader": "^5.0.0", "mkdirp": "^1.0.4", "mocha": "^10.2.0", "mocha-junit-reporter": "^2.2.0", @@ -103,14 +100,12 @@ "npm-run-all": "^4.1.5", "ora": "^5.4.1", "path-browserify": "^1.0.1", - "postcss-loader": "^7.3.3", "pre-commit": "^1.2.2", "prettier": "^2.8.8", "process": "^0.11.10", "sinon": "^9.2.4", "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", - "style-loader": "^1.3.0", "ts-jest": "^26.5.6", "ts-loader": "^9.4.4", "ts-node": "^10.9.1", @@ -7897,15 +7892,6 @@ "node": ">=0.6" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -8823,15 +8809,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -9061,18 +9038,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -9240,32 +9205,6 @@ "node": "*" } }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, "node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -9294,18 +9233,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", @@ -10438,15 +10365,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "devOptional": true }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -10556,19 +10474,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -13587,18 +13492,6 @@ "node": ">=0.10.0" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -13627,19 +13520,6 @@ "node": ">= 4" } }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", @@ -14524,12 +14404,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -15536,15 +15410,6 @@ "node": ">= 10.13.0" } }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, "node_modules/jose": { "version": "4.14.4", "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", @@ -15848,65 +15713,6 @@ "node": ">=0.10.0" } }, - "node_modules/less": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", - "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "tslib": "^1.10.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "native-request": "^1.0.5", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", - "dev": true, - "dependencies": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">= 4.8.0" - }, - "peerDependencies": { - "less": "^2.3.1 || ^3.0.0", - "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/less/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 - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -16007,32 +15813,6 @@ "node": ">=6.11.5" } }, - "node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/loader-utils/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -16184,30 +15964,6 @@ "node": ">=12" } }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -17492,13 +17248,6 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "devOptional": true }, - "node_modules/native-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", - "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", - "dev": true, - "optional": true - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -18723,15 +18472,6 @@ "node": ">=0.10" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -18837,144 +18577,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", - "dev": true, - "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/postcss-loader/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -19218,13 +18820,6 @@ "node": ">= 0.10" } }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -20401,24 +19996,6 @@ "object-assign": "^4.1.1" } }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/scss-parser": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.6.tgz", @@ -21740,40 +21317,6 @@ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, - "node_modules/style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/style-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, "node_modules/style-mod": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.0.tgz", @@ -30253,12 +29796,6 @@ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -30971,12 +30508,6 @@ "wrap-ansi": "^7.0.0" } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true - }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -31165,15 +30696,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "requires": { - "is-what": "^3.14.1" - } - }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -31315,22 +30837,6 @@ "randomfill": "^1.0.3" } }, - "css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.21", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, "css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", @@ -31350,12 +30856,6 @@ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", @@ -32223,12 +31723,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "devOptional": true }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -32311,16 +31805,6 @@ "object-is": "^1.1.5" } }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -34650,12 +34134,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true - }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -34667,13 +34145,6 @@ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true - }, "immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", @@ -35317,12 +34788,6 @@ "get-intrinsic": "^1.1.1" } }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -36129,12 +35594,6 @@ "supports-color": "^7.0.0" } }, - "jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true - }, "jose": { "version": "4.14.4", "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", @@ -36395,49 +35854,6 @@ "invert-kv": "^1.0.0" } }, - "less": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", - "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "native-request": "^1.0.5", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -36519,28 +35935,6 @@ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, - "loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -36667,26 +36061,6 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true - } - } - }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -37649,13 +37023,6 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "devOptional": true }, - "native-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz", - "integrity": "sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==", - "dev": true, - "optional": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -38591,12 +37958,6 @@ "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -38672,91 +38033,6 @@ } } }, - "postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", - "dev": true, - "requires": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true - }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, "postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", @@ -38939,13 +38215,6 @@ } } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -39846,17 +39115,6 @@ "object-assign": "^4.1.1" } }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, "scss-parser": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.6.tgz", @@ -40918,29 +40176,6 @@ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, - "style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, "style-mod": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.0.tgz", diff --git a/package.json b/package.json index a943b2444..c2f053b24 100644 --- a/package.json +++ b/package.json @@ -1129,7 +1129,6 @@ "chai-as-promised": "^7.1.1", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", - "css-loader": "^6.8.1", "depcheck": "^1.4.3", "duplicate-package-checker-webpack-plugin": "^3.0.0", "enzyme": "^3.11.0", @@ -1141,8 +1140,6 @@ "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", - "less": "^3.13.1", - "less-loader": "^5.0.0", "mkdirp": "^1.0.4", "mocha": "^10.2.0", "mocha-junit-reporter": "^2.2.0", @@ -1154,14 +1151,12 @@ "npm-run-all": "^4.1.5", "ora": "^5.4.1", "path-browserify": "^1.0.1", - "postcss-loader": "^7.3.3", "pre-commit": "^1.2.2", "prettier": "^2.8.8", "process": "^0.11.10", "sinon": "^9.2.4", "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", - "style-loader": "^1.3.0", "ts-jest": "^26.5.6", "ts-loader": "^9.4.4", "ts-node": "^10.9.1", diff --git a/webpack.config.js b/webpack.config.js index d5f4c7cd6..3fca92511 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -175,34 +175,6 @@ module.exports = (env, argv) => { exclude: /node_modules/, options: {}, }, - { - test: /\.less$/, - exclude: [/\.global/, /bootstrap/, /node_modules/, /global\.less/], - use: [ - { loader: 'style-loader' }, - { - loader: 'css-loader', - options: { - modules: true, - importLoaders: 1, - }, - }, - { - loader: 'postcss-loader', - options: { - postcssOptions: { - plugins: [autoprefixer()], - }, - }, - }, - { - loader: 'less-loader', - options: { - noIeCompat: true, - }, - }, - ], - }, ], }, plugins: [ From 4e7c08b10cc64cfad0b8edbd16930d5df2d49dd4 Mon Sep 17 00:00:00 2001 From: Rhys Date: Wed, 24 Jan 2024 10:00:43 -0500 Subject: [PATCH 03/33] chore: set browser auth without github actions for mongosh int tests (#672) --- .github/workflows/actions/test-and-build/action.yaml | 8 -------- src/test/suite/oidc.test.ts | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/actions/test-and-build/action.yaml b/.github/workflows/actions/test-and-build/action.yaml index ee400fdd7..07f558515 100644 --- a/.github/workflows/actions/test-and-build/action.yaml +++ b/.github/workflows/actions/test-and-build/action.yaml @@ -69,15 +69,7 @@ runs: if: ${{ runner.os != 'Windows' }} shell: bash - - name: Set BROWSER_AUTH_COMMAND - run: | - BROWSER_AUTH_COMMAND=$(echo "$(which node) $(pwd)/src/test/fixture/curl.js") - echo "BROWSER_AUTH_COMMAND=$BROWSER_AUTH_COMMAND" >> $GITHUB_ENV - shell: bash - - name: Run Tests - env: - BROWSER_AUTH_COMMAND: ${{ env.BROWSER_AUTH_COMMAND }} run: | npm run test shell: bash diff --git a/src/test/suite/oidc.test.ts b/src/test/suite/oidc.test.ts index 2fef7f337..bd5b520ca 100644 --- a/src/test/suite/oidc.test.ts +++ b/src/test/suite/oidc.test.ts @@ -31,8 +31,8 @@ function hash(input: string): string { } // Need to be provided via CI env because we can't get a hold for node.js exec -// path in our tests - they run inside a vscode process -const browserShellCommand = process.env.BROWSER_AUTH_COMMAND; +// path in our tests - they run inside a vscode process in the built dir. +const browserShellCommand = `$(echo "$(which node) ${__dirname}/../../../src/test/fixture/curl.js")`; const UNIQUE_TASK_ID = process.env.GITHUB_RUN_ID && process.env.GITHUB_RUN_NUMBER From 6c3273938223f00ab6585d64ee7148f5677a8d7e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:07:47 +0000 Subject: [PATCH 04/33] Update changelog (#675) Co-authored-by: Anemy --- CHANGELOG.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e7b572d7..1a1fa4a2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,22 @@ # Change Log -## [v1.5.0](https://github.com/mongodb-js/vscode/releases/tag/untagged-bf7d742ca55d7b3fe4c6) - null +## [v1.5.0](https://github.com/mongodb-js/vscode/releases/tag/v1.5.0) - 2024-01-24 -Edit the release notes before publishing. +## What's Changed +* VSCODE-505: stream support in UI by @shaketbaby in https://github.com/mongodb-js/vscode/pull/643 +* feat(webview): use new connection form, remove old form VSCODE-491 by @Anemy in https://github.com/mongodb-js/vscode/pull/636 +* fix: add explicit ordering for stream processor context menu actions by @pulkitkalra-mdb in https://github.com/mongodb-js/vscode/pull/654 +* chore: close connection string input when opening form VSCODE-507 by @Anemy in https://github.com/mongodb-js/vscode/pull/656 +* fix: ensure extension output populates ObjectIds in stream by @pulkitkalra-mdb in https://github.com/mongodb-js/vscode/pull/657 +* feat(connect-form): add OIDC device auth flow with preference VSCODE-503 by @Anemy in https://github.com/mongodb-js/vscode/pull/658 +* feat(connections): add edit connection context menu action VSCODE-406 by @Anemy in https://github.com/mongodb-js/vscode/pull/655 +* chore(deps): update mongodb and devtools dependencies by @Anemy in https://github.com/mongodb-js/vscode/pull/662 +* chore: cancel connection attempt when removing connection, update assert to expect in webview and connection controller tests by @Anemy in https://github.com/mongodb-js/vscode/pull/667 + +## New Contributors +* @pulkitkalra-mdb made their first contribution in https://github.com/mongodb-js/vscode/pull/654 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.4.0...v1.5.0 ## [v1.4.0](https://github.com/mongodb-js/vscode/releases/tag/v1.4.0) - 2024-01-09 From 4606982fef69c382e1655a83ebe3c93cdf2eb11c Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Thu, 25 Jan 2024 09:16:46 +0100 Subject: [PATCH 05/33] feat: add export to Rust and PHP VSCODE-411 (#676) * feat: add export to Rust and PHP VSCODE-411 * test: update playgroundSelectedCodeActionProvider tests --- README.md | 2 + package.json | 16 ++ src/commands/index.ts | 2 + .../playgroundSelectedCodeActionProvider.ts | 22 +++ src/mdbExtensionController.ts | 6 + ...aygroundSelectedCodeActionProvider.test.ts | 163 +++++++++++++++++- src/types/playgroundType.ts | 2 + 7 files changed, 207 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index bf7a289cf..82e101b9b 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,8 @@ Select queries and aggregations within your Playground files and translate them * Python 3 * Ruby * Go + * Rust + * PHP ![Export to language](resources/screenshots/export-to-language.gif) diff --git a/package.json b/package.json index c2f053b24..e21f6cf35 100644 --- a/package.json +++ b/package.json @@ -246,6 +246,14 @@ "command": "mdb.exportToGo", "title": "MongoDB: Export To Go" }, + { + "command": "mdb.exportToRust", + "title": "MongoDB: Export To Rust" + }, + { + "command": "mdb.exportToPHP", + "title": "MongoDB: Export To PHP" + }, { "command": "mdb.addConnection", "title": "Add MongoDB Connection", @@ -720,6 +728,14 @@ "command": "mdb.exportToGo", "when": "mdb.isPlayground == true && mdb.connectedToMongoDB == true && mdb.isAtlasStreams == false" }, + { + "command": "mdb.exportToRust", + "when": "mdb.isPlayground == true && mdb.connectedToMongoDB == true && mdb.isAtlasStreams == false" + }, + { + "command": "mdb.exportToPHP", + "when": "mdb.isPlayground == true && mdb.connectedToMongoDB == true && mdb.isAtlasStreams == false" + }, { "command": "mdb.refreshPlaygroundsFromTreeView", "when": "false" diff --git a/src/commands/index.ts b/src/commands/index.ts index 8e5e3c989..ebef4dec1 100644 --- a/src/commands/index.ts +++ b/src/commands/index.ts @@ -23,6 +23,8 @@ enum EXTENSION_COMMANDS { MDB_EXPORT_TO_NODE = 'mdb.exportToNode', MDB_EXPORT_TO_RUBY = 'mdb.exportToRuby', MDB_EXPORT_TO_GO = 'mdb.exportToGo', + MDB_EXPORT_TO_RUST = 'mdb.exportToRust', + MDB_EXPORT_TO_PHP = 'mdb.exportToPHP', MDB_CHANGE_EXPORT_TO_LANGUAGE_ADDONS = 'mdb.changeExportToLanguageAddons', MDB_OPEN_MONGODB_DOCUMENT_FROM_CODE_LENS = 'mdb.openMongoDBDocumentFromCodeLens', diff --git a/src/editors/playgroundSelectedCodeActionProvider.ts b/src/editors/playgroundSelectedCodeActionProvider.ts index 2784d5c58..f12d4de45 100644 --- a/src/editors/playgroundSelectedCodeActionProvider.ts +++ b/src/editors/playgroundSelectedCodeActionProvider.ts @@ -133,6 +133,28 @@ export default class PlaygroundSelectedCodeActionProvider tooltip: 'Export To Go', }; codeActions.push(exportToGoCommand); + + const exportToRustCommand = new vscode.CodeAction( + 'Export To Rust', + vscode.CodeActionKind.Empty + ); + exportToRustCommand.command = { + command: EXTENSION_COMMANDS.MDB_EXPORT_TO_RUST, + title: 'Export To Rust', + tooltip: 'Export To Rust', + }; + codeActions.push(exportToRustCommand); + + const exportToPHPCommand = new vscode.CodeAction( + 'Export To PHP', + vscode.CodeActionKind.Empty + ); + exportToPHPCommand.command = { + command: EXTENSION_COMMANDS.MDB_EXPORT_TO_PHP, + title: 'Export To PHP', + tooltip: 'Export To PHP', + }; + codeActions.push(exportToPHPCommand); } return codeActions; diff --git a/src/mdbExtensionController.ts b/src/mdbExtensionController.ts index 8319bb77e..791d85287 100644 --- a/src/mdbExtensionController.ts +++ b/src/mdbExtensionController.ts @@ -235,6 +235,12 @@ export default class MDBExtensionController implements vscode.Disposable { this.registerCommand(EXTENSION_COMMANDS.MDB_EXPORT_TO_GO, () => this._playgroundController.exportToLanguage(ExportToLanguages.GO) ); + this.registerCommand(EXTENSION_COMMANDS.MDB_EXPORT_TO_RUST, () => + this._playgroundController.exportToLanguage(ExportToLanguages.RUST) + ); + this.registerCommand(EXTENSION_COMMANDS.MDB_EXPORT_TO_PHP, () => + this._playgroundController.exportToLanguage(ExportToLanguages.PHP) + ); this.registerCommand( EXTENSION_COMMANDS.MDB_CHANGE_EXPORT_TO_LANGUAGE_ADDONS, diff --git a/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts b/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts index cc09fb127..3950d7dc7 100644 --- a/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts +++ b/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts @@ -24,6 +24,9 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { const extensionContextStub = new ExtensionContextStub(); + const EXPORT_LANGUAGES_CODEACTIONS_COUNT = 8; + const TOTAL_CODEACTIONS_COUNT = EXPORT_LANGUAGES_CODEACTIONS_COUNT + 1; + // The test extension runner. extensionContextStub.extensionPath = '../../'; @@ -182,7 +185,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[2].command; if (actionCommand) { @@ -218,7 +221,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[2].command; if (actionCommand) { @@ -283,7 +286,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[3].command; if (actionCommand) { @@ -352,7 +355,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[1].command; if (actionCommand) { @@ -426,7 +429,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[5].command; if (actionCommand) { @@ -500,7 +503,7 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { expect(codeActions).to.exist; if (codeActions) { - expect(codeActions.length).to.be.equal(7); + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[6].command; if (actionCommand) { @@ -547,6 +550,154 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { } } }); + + test('exports to rust and includes driver syntax', async () => { + const textFromEditor = "use('db'); db.coll.find({ name: '22' })"; + const selection = { + start: { line: 0, character: 24 }, + end: { line: 0, character: 38 }, + } as vscode.Selection; + const mode = ExportToLanguageMode.QUERY; + const activeTextEditor = { + document: { getText: () => textFromEditor }, + } as vscode.TextEditor; + + mdbTestExtension.testExtensionController._playgroundController._selectedText = + "{ name: '22' }"; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.selection = + selection; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.mode = + mode; + mdbTestExtension.testExtensionController._playgroundController._activeTextEditor = + activeTextEditor; + + testCodeActionProvider.refresh({ selection, mode }); + + const codeActions = testCodeActionProvider.provideCodeActions(); + expect(codeActions).to.exist; + + if (codeActions) { + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[7].command; + + if (actionCommand) { + expect(actionCommand.command).to.be.equal('mdb.exportToRust'); + expect(actionCommand.title).to.be.equal('Export To Rust'); + + await vscode.commands.executeCommand(actionCommand.command); + + let expectedResult: PlaygroundResult = { + namespace: 'DATABASE_NAME.COLLECTION_NAME', + type: null, + content: 'doc! {\n "name": "22"\n}', + language: 'rust', + }; + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult + ).to.be.deep.equal(expectedResult); + + const codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(2); + + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + driverSyntax: true, + } + ); + + expectedResult = { + namespace: 'db.coll', + type: null, + content: `// Requires the MongoDB crate.\n// https://crates.io/crates/mongodb\n\nlet client = Client::with_uri_str(\"mongodb://localhost:27088/?appname=mongodb-vscode+${version}\").await?;\nlet result = client.database(\"db\").collection::(\"coll\").find(doc! {\n \"name\": \"22\"\n}, None).await?;`, + language: 'rust', + }; + + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult + ).to.be.deep.equal(expectedResult); + } + } + }); + + test('exports to php and includes driver syntax', async () => { + const textFromEditor = "use('db'); db.coll.find({ name: '22' })"; + const selection = { + start: { line: 0, character: 24 }, + end: { line: 0, character: 38 }, + } as vscode.Selection; + const mode = ExportToLanguageMode.QUERY; + const activeTextEditor = { + document: { getText: () => textFromEditor }, + } as vscode.TextEditor; + + mdbTestExtension.testExtensionController._playgroundController._selectedText = + "{ name: '22' }"; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.selection = + selection; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.mode = + mode; + mdbTestExtension.testExtensionController._playgroundController._activeTextEditor = + activeTextEditor; + + testCodeActionProvider.refresh({ selection, mode }); + + const codeActions = testCodeActionProvider.provideCodeActions(); + expect(codeActions).to.exist; + + if (codeActions) { + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[8].command; + + if (actionCommand) { + expect(actionCommand.command).to.be.equal('mdb.exportToPHP'); + expect(actionCommand.title).to.be.equal('Export To PHP'); + + await vscode.commands.executeCommand(actionCommand.command); + + let expectedResult: PlaygroundResult = { + namespace: 'DATABASE_NAME.COLLECTION_NAME', + type: null, + content: "['name' => '22']", + language: 'php', + }; + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult + ).to.be.deep.equal(expectedResult); + + const codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(2); + + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + driverSyntax: true, + } + ); + + expectedResult = { + namespace: 'db.coll', + type: null, + content: `// Requires the MongoDB PHP Driver\n// https://www.mongodb.com/docs/drivers/php/\n\n$client = new Client('mongodb://localhost:27088/?appname=mongodb-vscode+${version}');\n$collection = $client->selectCollection('db', 'coll');\n$cursor = $collection->find(['name' => '22']);`, + language: 'php', + }; + + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult + ).to.be.deep.equal(expectedResult); + } + } + }); }); suite('the regular JS file', () => { diff --git a/src/types/playgroundType.ts b/src/types/playgroundType.ts index b2728c71b..350a7d890 100644 --- a/src/types/playgroundType.ts +++ b/src/types/playgroundType.ts @@ -46,6 +46,8 @@ export enum ExportToLanguages { JAVASCRIPT = 'javascript', RUBY = 'ruby', GO = 'go', + RUST = 'rust', + PHP = 'php', } export enum ExportToLanguageMode { From b03533f13b6ba20752cde21ff4ae883b18535c41 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Fri, 26 Jan 2024 18:16:21 +0100 Subject: [PATCH 06/33] chore(ci): sign using package (#678) --- .../actions/test-and-build/action.yaml | 9 ++- package-lock.json | 65 ++++++++++++++++++- package.json | 1 + scripts/sign-vsix.js | 13 ++++ scripts/sign-vsix.sh | 45 ------------- 5 files changed, 84 insertions(+), 49 deletions(-) create mode 100644 scripts/sign-vsix.js delete mode 100644 scripts/sign-vsix.sh diff --git a/.github/workflows/actions/test-and-build/action.yaml b/.github/workflows/actions/test-and-build/action.yaml index 07f558515..f69e43675 100644 --- a/.github/workflows/actions/test-and-build/action.yaml +++ b/.github/workflows/actions/test-and-build/action.yaml @@ -89,13 +89,18 @@ runs: - name: Sign .vsix if: runner.os == 'Linux' env: - ARTIFACTORY_HOST: ${{ inputs.ARTIFACTORY_HOST }} ARTIFACTORY_PASSWORD: ${{ inputs.ARTIFACTORY_PASSWORD }} ARTIFACTORY_USERNAME: ${{ inputs.ARTIFACTORY_USERNAME }} GARASIGN_PASSWORD: ${{ inputs.GARASIGN_PASSWORD }} GARASIGN_USERNAME: ${{ inputs.GARASIGN_USERNAME }} run: | - bash scripts/sign-vsix.sh + set -e + FILE_TO_SIGN=$(find . -maxdepth 1 -name '*.vsix' -print -quit) + if [ -z "$FILE_TO_SIGN" ]; then + echo "Error: No .vsix file found in the current directory." >&2 + exit 1 + fi + node scripts/sign-vsix.js "${FILE_TO_SIGN}" ls *.vsix.sig shell: bash diff --git a/package-lock.json b/package-lock.json index bf3007bfe..e981e8c50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,6 +50,7 @@ "@mongodb-js/oidc-plugin": "^0.3.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.5.4", + "@mongodb-js/signing-utils": "^0.3.1", "@mongosh/service-provider-core": "^2.0.2", "@testing-library/react": "^12.1.5", "@types/babel__core": "^7.20.1", @@ -4961,6 +4962,17 @@ "mongodb-sbom-tools": "bin/mongodb-sbom-tools.js" } }, + "node_modules/@mongodb-js/signing-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.1.tgz", + "integrity": "sha512-/zAg9vdxTQstu6kNkfOPr9WvLodz88k7egetKw8c5eZyPLBQgm3JfTaH7vQe/iSCuCwvXSk0tNcgo+6AdQNbTw==", + "dev": true, + "dependencies": { + "@types/ssh2": "^1.11.19", + "debug": "^4.3.4", + "ssh2": "^1.15.0" + } + }, "node_modules/@mongodb-js/ssh-tunnel": { "version": "2.1.10", "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.1.10.tgz", @@ -6434,6 +6446,24 @@ "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" }, + "node_modules/@types/ssh2": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.19.tgz", + "integrity": "sha512-ydbQAqEcdNVy2t1w7dMh6eWMr+iOgtEkqM/3K9RMijMaok/ER7L8GW6PwsOypHCN++M+c8S/UR9SgMqNIFstbA==", + "dev": true, + "dependencies": { + "@types/node": "^18.11.18" + } + }, + "node_modules/@types/ssh2/node_modules/@types/node": { + "version": "18.19.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz", + "integrity": "sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -22322,7 +22352,7 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "optional": true + "devOptional": true }, "node_modules/union-value": { "version": "1.0.1", @@ -27482,6 +27512,17 @@ "spdx-satisfies": "^5.0.1" } }, + "@mongodb-js/signing-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.1.tgz", + "integrity": "sha512-/zAg9vdxTQstu6kNkfOPr9WvLodz88k7egetKw8c5eZyPLBQgm3JfTaH7vQe/iSCuCwvXSk0tNcgo+6AdQNbTw==", + "dev": true, + "requires": { + "@types/ssh2": "^1.11.19", + "debug": "^4.3.4", + "ssh2": "^1.15.0" + } + }, "@mongodb-js/ssh-tunnel": { "version": "2.1.10", "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.1.10.tgz", @@ -28704,6 +28745,26 @@ "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" }, + "@types/ssh2": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.11.19.tgz", + "integrity": "sha512-ydbQAqEcdNVy2t1w7dMh6eWMr+iOgtEkqM/3K9RMijMaok/ER7L8GW6PwsOypHCN++M+c8S/UR9SgMqNIFstbA==", + "dev": true, + "requires": { + "@types/node": "^18.11.18" + }, + "dependencies": { + "@types/node": { + "version": "18.19.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz", + "integrity": "sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + } + } + }, "@types/stack-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", @@ -40952,7 +41013,7 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "optional": true + "devOptional": true }, "union-value": { "version": "1.0.1", diff --git a/package.json b/package.json index e21f6cf35..38997d53e 100644 --- a/package.json +++ b/package.json @@ -1117,6 +1117,7 @@ "@mongodb-js/oidc-plugin": "^0.3.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.5.4", + "@mongodb-js/signing-utils": "^0.3.1", "@mongosh/service-provider-core": "^2.0.2", "@testing-library/react": "^12.1.5", "@types/babel__core": "^7.20.1", diff --git a/scripts/sign-vsix.js b/scripts/sign-vsix.js new file mode 100644 index 000000000..5a45f7c1f --- /dev/null +++ b/scripts/sign-vsix.js @@ -0,0 +1,13 @@ +const { sign } = require('@mongodb-js/signing-utils'); + +(async () => { + const file = process.argv[2]; + if (!file) { + throw new Error('File is required.'); + } + console.log(`Signing vsix: ${file}`); + await sign(file, { + client: 'local', + signingMethod: 'gpg', + }); +})(); diff --git a/scripts/sign-vsix.sh b/scripts/sign-vsix.sh deleted file mode 100644 index 5cf417adb..000000000 --- a/scripts/sign-vsix.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -FILE_TO_SIGN=$(find . -maxdepth 1 -name '*.vsix' -print -quit) - -if [ -z "$FILE_TO_SIGN" ]; then - echo "Error: No .vsix file found in the current directory." >&2 - exit 1 -fi - -required_vars=("ARTIFACTORY_PASSWORD" "ARTIFACTORY_HOST" "ARTIFACTORY_USERNAME" "GARASIGN_USERNAME" "GARASIGN_PASSWORD") -for var in "${required_vars[@]}"; do - if [ -z "${!var}" ]; then - echo "Error: Environment variable $var is not set." >&2 - exit 1 - fi -done - -logout_artifactory() { - docker logout "${ARTIFACTORY_HOST}" > /dev/null 2>&1 - echo "logged out from artifactory" -} - -trap logout_artifactory EXIT - - -echo "${ARTIFACTORY_PASSWORD}" | docker login "${ARTIFACTORY_HOST}" -u "${ARTIFACTORY_USERNAME}" --password-stdin > /dev/null 2>&1 - -if [ $? -ne 0 ]; then - echo "Docker login failed" >&2 - exit 1 -fi - -docker run \ - --rm \ - -e GRS_CONFIG_USER1_USERNAME="${GARASIGN_USERNAME}" \ - -e GRS_CONFIG_USER1_PASSWORD="${GARASIGN_PASSWORD}" \ - -v "$(pwd):/tmp/workdir" \ - -w /tmp/workdir \ - ${ARTIFACTORY_HOST}/release-tools-container-registry-local/garasign-gpg \ - /bin/bash -c "gpgloader && gpg --yes -v --armor -o /tmp/workdir/${FILE_TO_SIGN}.sig --detach-sign /tmp/workdir/${FILE_TO_SIGN}" - -if [ $? -ne 0 ]; then - echo "Signing failed" >&2 - exit 1 -fi From 35d0eba413591ba40ec91ee1ee3e64575c7629c0 Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Tue, 30 Jan 2024 19:28:02 +0100 Subject: [PATCH 07/33] fix: include export mode when retrieving import statements VSCODE-440 (#677) * fix: include export mode when retrieving import statements VSCODE-440 * tests: more java export scenarios * cleanup * test: add test and flatten java tests --- src/editors/playgroundController.ts | 23 +- ...aygroundSelectedCodeActionProvider.test.ts | 487 ++++++++++++++++-- 2 files changed, 459 insertions(+), 51 deletions(-) diff --git a/src/editors/playgroundController.ts b/src/editors/playgroundController.ts index 6e932d433..e1403fa23 100644 --- a/src/editors/playgroundController.ts +++ b/src/editors/playgroundController.ts @@ -97,6 +97,21 @@ const countAggregationStagesInString = (str: string) => { .length; }; +enum TranspilerExportMode { + PIPELINE = 'Pipeline', + QUERY = 'Query', + DELETE_QUERY = 'Delete Query', + UPDATE_QUERY = 'Update Query', +} +const exportModeMapping: Record< + ExportToLanguageMode, + TranspilerExportMode | undefined +> = { + [ExportToLanguageMode.AGGREGATION]: TranspilerExportMode.PIPELINE, + [ExportToLanguageMode.QUERY]: TranspilerExportMode.QUERY, + [ExportToLanguageMode.OTHER]: undefined, +}; + /** * This controller manages playground. */ @@ -807,7 +822,13 @@ export default class PlaygroundController { let imports = ''; if (importStatements) { - imports = transpiler.shell[language].getImports(driverSyntax); + const exportMode = this._playgroundSelectedCodeActionProvider.mode + ? exportModeMapping[this._playgroundSelectedCodeActionProvider.mode] + : undefined; + imports = transpiler.shell[language].getImports( + exportMode, + driverSyntax + ); } this._playgroundResult = { diff --git a/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts b/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts index 3950d7dc7..1dea18fbd 100644 --- a/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts +++ b/src/test/suite/editors/playgroundSelectedCodeActionProvider.test.ts @@ -195,69 +195,456 @@ suite('Playground Selected CodeAction Provider Test Suite', function () { } }); - test('exports to java and includes builders', async () => { - const textFromEditor = "{ name: '22' }"; - const selection = { - start: { line: 0, character: 0 }, - end: { line: 0, character: 14 }, - } as vscode.Selection; - const mode = ExportToLanguageMode.QUERY; - const activeTextEditor = { - document: { getText: () => textFromEditor }, - } as vscode.TextEditor; + suite('exports to java', () => { + const expectedResult = { + namespace: 'DATABASE_NAME.COLLECTION_NAME', + type: null, + content: 'new Document("name", "22")', + language: 'java', + }; + + beforeEach(async () => { + const textFromEditor = "{ name: '22' }"; + const selection = { + start: { line: 0, character: 0 }, + end: { line: 0, character: 14 }, + } as vscode.Selection; + const mode = ExportToLanguageMode.QUERY; + const activeTextEditor = { + document: { getText: () => textFromEditor }, + } as vscode.TextEditor; + + mdbTestExtension.testExtensionController._playgroundController._selectedText = + textFromEditor; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.selection = + selection; + mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.mode = + mode; + mdbTestExtension.testExtensionController._playgroundController._activeTextEditor = + activeTextEditor; + + testCodeActionProvider.refresh({ selection, mode }); + + // this is to ensure we're starting each test in the same state + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: false, + importStatements: false, + driverSyntax: false, + } + ); + }); - mdbTestExtension.testExtensionController._playgroundController._selectedText = - textFromEditor; - mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.selection = - selection; - mdbTestExtension.testExtensionController._playgroundController._playgroundSelectedCodeActionProvider.mode = - mode; - mdbTestExtension.testExtensionController._playgroundController._activeTextEditor = - activeTextEditor; + test('include builders (only)', async () => { + const codeActions = testCodeActionProvider.provideCodeActions(); - testCodeActionProvider.refresh({ selection, mode }); + if (!codeActions) { + expect.fail('No code actions'); + return false; + } - const codeActions = testCodeActionProvider.provideCodeActions(); - expect(codeActions).to.exist; + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[2].command; + + if (!actionCommand) { + expect.fail('Action command not found'); + return false; + } + + expect(actionCommand.command).to.be.equal('mdb.exportToJava'); + expect(actionCommand.title).to.be.equal('Export To Java'); + + await vscode.commands.executeCommand(actionCommand.command); + + let codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + let lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + // Only java queries supports builders. + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: true, + importStatements: false, + driverSyntax: false, + } + ); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Raw Query' + ); + + expectedResult.content = 'eq("name", "22")'; + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult + ).to.be.deep.equal(expectedResult); + }); + + test('include driver syntax (only)', async () => { + const codeActions = testCodeActionProvider.provideCodeActions(); + + if (!codeActions) { + expect.fail('No code actions'); + return false; + } - if (codeActions) { expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); const actionCommand = codeActions[2].command; - if (actionCommand) { - expect(actionCommand.command).to.be.equal('mdb.exportToJava'); - expect(actionCommand.title).to.be.equal('Export To Java'); + if (!actionCommand) { + expect.fail('Action command not found'); + return false; + } - await vscode.commands.executeCommand(actionCommand.command); + expect(actionCommand.command).to.be.equal('mdb.exportToJava'); + expect(actionCommand.title).to.be.equal('Export To Java'); - const expectedResult = { - namespace: 'DATABASE_NAME.COLLECTION_NAME', - type: null, - content: 'new Document("name", "22")', - language: 'java', - }; + await vscode.commands.executeCommand(actionCommand.command); - const codeLenses = - mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); - expect(codeLenses.length).to.be.equal(3); + let codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + let lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); - // Only java queries supports builders. - await vscode.commands.executeCommand( - 'mdb.changeExportToLanguageAddons', - { - ...mdbTestExtension.testExtensionController._playgroundController - ._exportToLanguageCodeLensProvider._exportToLanguageAddons, - builders: true, - } - ); + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: false, + importStatements: false, + driverSyntax: true, + } + ); - expectedResult.content = 'eq("name", "22")'; - expect( - mdbTestExtension.testExtensionController._playgroundController - ._playgroundResult - ).to.be.deep.equal(expectedResult); + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Exclude Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + const driverSyntaxRawQuery = + 'Bson filter = new Document("name", "22");'; + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult?.content + ).to.include(driverSyntaxRawQuery); + }); + + test('include import statements (only)', async () => { + const codeActions = testCodeActionProvider.provideCodeActions(); + + if (!codeActions) { + expect.fail('No code actions'); + return false; } - } + + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[2].command; + + if (!actionCommand) { + expect.fail('Action command not found'); + return false; + } + + expect(actionCommand.command).to.be.equal('mdb.exportToJava'); + expect(actionCommand.title).to.be.equal('Export To Java'); + + await vscode.commands.executeCommand(actionCommand.command); + + let codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + let lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: false, + importStatements: true, + driverSyntax: false, + } + ); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Exclude Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + // imports without driver syntax are limited + const rawQueryWithImport = + 'import org.bson.Document;\n\nnew Document("name", "22")'; + expect( + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult?.content + ).to.deep.equal(rawQueryWithImport); + }); + + test('include driver syntax and import statements (in a single export)', async () => { + const codeActions = testCodeActionProvider.provideCodeActions(); + + if (!codeActions) { + expect.fail('No code actions'); + return false; + } + + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[2].command; + + if (!actionCommand) { + expect.fail('Action command not found'); + return false; + } + + expect(actionCommand.command).to.be.equal('mdb.exportToJava'); + expect(actionCommand.title).to.be.equal('Export To Java'); + + await vscode.commands.executeCommand(actionCommand.command); + + let codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + let lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: false, + importStatements: true, + driverSyntax: true, + } + ); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Exclude Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Exclude Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + // With driver syntax, java includes generic import statements + const mongoClientImport = 'import com.mongodb.MongoClient;'; + // as well as import statements which depend on the exportToLanguageMode. the following is for QUERY + const queryImport = 'import com.mongodb.client.FindIterable;'; + const content = + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult?.content; + expect(content).to.include(mongoClientImport); + expect(content).to.include(queryImport); + }); + + test('include driver syntax and then import statements in a subsequent export', async () => { + const codeActions = testCodeActionProvider.provideCodeActions(); + + if (!codeActions) { + expect.fail('No code actions'); + return false; + } + + expect(codeActions.length).to.be.equal(TOTAL_CODEACTIONS_COUNT); + const actionCommand = codeActions[2].command; + + if (!actionCommand) { + expect.fail('Action command not found'); + return false; + } + + expect(actionCommand.command).to.be.equal('mdb.exportToJava'); + expect(actionCommand.title).to.be.equal('Export To Java'); + + /* 1st export - we'll select drivers only */ + await vscode.commands.executeCommand(actionCommand.command); + + let codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + let lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Include Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + builders: false, + importStatements: false, + driverSyntax: true, + } + ); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + lensesObj = { lenses: codeLenses }; + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Include Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Exclude Driver Syntax' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[2].command.title', + 'Use Builders' + ); + + /* 2nd export - this time we add import statements on top of drivers */ + await vscode.commands.executeCommand(actionCommand.command); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + lensesObj = { lenses: codeLenses }; + // the state is persisted from the 1st export + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Exclude Driver Syntax' + ); + + // We add import on top of the drivers + await vscode.commands.executeCommand( + 'mdb.changeExportToLanguageAddons', + { + ...mdbTestExtension.testExtensionController._playgroundController + ._exportToLanguageCodeLensProvider._exportToLanguageAddons, + importStatements: true, + } + ); + + codeLenses = + mdbTestExtension.testExtensionController._playgroundController._exportToLanguageCodeLensProvider.provideCodeLenses(); + expect(codeLenses.length).to.be.equal(3); + lensesObj = { lenses: codeLenses }; + // the state is persisted from the 1st export + expect(lensesObj).to.have.nested.property( + 'lenses[0].command.title', + 'Exclude Import Statements' + ); + expect(lensesObj).to.have.nested.property( + 'lenses[1].command.title', + 'Exclude Driver Syntax' + ); + + // The imports and driver syntax are both applied + const mongoClientImport = 'import com.mongodb.MongoClient;'; + const queryImport = 'import com.mongodb.client.FindIterable;'; + const content = + mdbTestExtension.testExtensionController._playgroundController + ._playgroundResult?.content; + expect(content).to.include(mongoClientImport); + expect(content).to.include(queryImport); + }); }); test('exports to csharp and includes import statements', async () => { From 683064614656841f2fd073b57e1b5410366ba398 Mon Sep 17 00:00:00 2001 From: Maurizio Casimirri Date: Fri, 2 Feb 2024 09:31:43 +0100 Subject: [PATCH 08/33] Update dependabot.yml (#682) --- .github/dependabot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 4805cb57c..b0b452f6a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -2,6 +2,7 @@ version: 2 updates: - package-ecosystem: npm + versioning-strategy: increase directory: / schedule: interval: daily From 7ea7140dd56a5c250a34fdf66c12f4094dab6cab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:43:21 +0100 Subject: [PATCH 09/33] chore(deps-dev): bump @mongodb-js/oidc-mock-provider (#670) Bumps [@mongodb-js/oidc-mock-provider](https://github.com/mongodb-js/devtools-shared) from 0.6.9 to 0.6.10. - [Commits](https://github.com/mongodb-js/devtools-shared/compare/@mongodb-js/oidc-mock-provider@0.6.9...@mongodb-js/oidc-mock-provider@0.6.10) --- updated-dependencies: - dependency-name: "@mongodb-js/oidc-mock-provider" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Maurizio Casimirri --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e981e8c50..1c87157ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@babel/preset-typescript": "^7.22.5", - "@mongodb-js/oidc-mock-provider": "^0.6.9", + "@mongodb-js/oidc-mock-provider": "^0.6.10", "@mongodb-js/oidc-plugin": "^0.3.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.5.4", @@ -4859,9 +4859,9 @@ } }, "node_modules/@mongodb-js/oidc-mock-provider": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.9.tgz", - "integrity": "sha512-4D9y7w7k0f7z6OkFJ8Ux5UhMG7Tg287CC1KmpW43BMzMx5gPXhostYK+OtpZNBlOoB9yrlHLusLKtpqQywMaog==", + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.10.tgz", + "integrity": "sha512-fU0Cppp6cfv2r/60L3dJVxYtxutK31mziomXTFHLe0mSOM/rcILNYO0oAoeqs1mULQYHrmu+o2IdOzhvaTJzew==", "dev": true, "dependencies": { "yargs": "17.7.2" @@ -27428,9 +27428,9 @@ } }, "@mongodb-js/oidc-mock-provider": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.9.tgz", - "integrity": "sha512-4D9y7w7k0f7z6OkFJ8Ux5UhMG7Tg287CC1KmpW43BMzMx5gPXhostYK+OtpZNBlOoB9yrlHLusLKtpqQywMaog==", + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.10.tgz", + "integrity": "sha512-fU0Cppp6cfv2r/60L3dJVxYtxutK31mziomXTFHLe0mSOM/rcILNYO0oAoeqs1mULQYHrmu+o2IdOzhvaTJzew==", "dev": true, "requires": { "yargs": "17.7.2" diff --git a/package.json b/package.json index 38997d53e..ba344354e 100644 --- a/package.json +++ b/package.json @@ -1113,7 +1113,7 @@ }, "devDependencies": { "@babel/preset-typescript": "^7.22.5", - "@mongodb-js/oidc-mock-provider": "^0.6.9", + "@mongodb-js/oidc-mock-provider": "^0.6.10", "@mongodb-js/oidc-plugin": "^0.3.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.5.4", From 54951959f74beb19331968f566869b7d61c8c1f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:43:31 +0100 Subject: [PATCH 10/33] chore(deps-dev): bump @mongodb-js/mongodb-downloader (#669) Bumps [@mongodb-js/mongodb-downloader](https://github.com/mongodb-js/devtools-shared) from 0.2.9 to 0.2.10. - [Commits](https://github.com/mongodb-js/devtools-shared/compare/@mongodb-js/mongodb-downloader@0.2.9...@mongodb-js/mongodb-downloader@0.2.10) --- updated-dependencies: - dependency-name: "@mongodb-js/mongodb-downloader" dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Maurizio Casimirri --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c87157ae..5d627340e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4846,9 +4846,9 @@ } }, "node_modules/@mongodb-js/mongodb-downloader": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.9.tgz", - "integrity": "sha512-RaTqbRkBSuB4ixo9c8BbImEET0HuK3j0F+Y429rD22TiOCozUNxM26OmOydNE3Fb8A4C/ble1BCRFv78J7X6Nw==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.10.tgz", + "integrity": "sha512-nM0vUGUcC8DsR6x3AU6032I8b5OaTqAdq9JmanVecq2NyLZu1aacIS9Yqo3QiE2dIlrkn9hcaUg9Z/tL+3QbNA==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -27415,9 +27415,9 @@ } }, "@mongodb-js/mongodb-downloader": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.9.tgz", - "integrity": "sha512-RaTqbRkBSuB4ixo9c8BbImEET0HuK3j0F+Y429rD22TiOCozUNxM26OmOydNE3Fb8A4C/ble1BCRFv78J7X6Nw==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.10.tgz", + "integrity": "sha512-nM0vUGUcC8DsR6x3AU6032I8b5OaTqAdq9JmanVecq2NyLZu1aacIS9Yqo3QiE2dIlrkn9hcaUg9Z/tL+3QbNA==", "dev": true, "requires": { "debug": "^4.3.4", From 0c8a77b4421daaa553e753dd4ecf0cb8ccd0e3e4 Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Mon, 12 Feb 2024 09:58:00 +0100 Subject: [PATCH 11/33] fix: remove userId COMPASS-7608 (#690) --- src/explorer/helpTree.ts | 6 +--- src/storage/storageController.ts | 12 +------ src/telemetry/telemetryService.ts | 12 +------ src/test/suite/explorer/helpExplorer.test.ts | 4 +-- .../suite/storage/storageController.test.ts | 31 +------------------ src/views/webviewController.ts | 3 +- 6 files changed, 7 insertions(+), 61 deletions(-) diff --git a/src/explorer/helpTree.ts b/src/explorer/helpTree.ts index 50e0862ca..5d54c97e8 100644 --- a/src/explorer/helpTree.ts +++ b/src/explorer/helpTree.ts @@ -120,11 +120,7 @@ export default class HelpTree const atlas = new HelpLinkTreeItem({ title: 'Create Free Atlas Cluster', - url: LINKS.createAtlasCluster( - telemetryUserIdentity?.userId ?? - telemetryUserIdentity?.anonymousId ?? - '' - ), + url: LINKS.createAtlasCluster(telemetryUserIdentity?.anonymousId ?? ''), linkId: 'freeClusterCTA', iconName: 'atlas', useRedirect: true, diff --git a/src/storage/storageController.ts b/src/storage/storageController.ts index fde6748de..3ae1a71ec 100644 --- a/src/storage/storageController.ts +++ b/src/storage/storageController.ts @@ -90,24 +90,14 @@ export default class StorageController { } getUserIdentity() { - const userId = this.get(StorageVariables.GLOBAL_USER_ID); let anonymousId = this.get(StorageVariables.GLOBAL_ANONYMOUS_ID); + // The anonymousId becomes required with analytics-node v6. if (!anonymousId) { anonymousId = uuidv4(); void this.update(StorageVariables.GLOBAL_ANONYMOUS_ID, anonymousId); } - // Initially, we used `userId` as Segment user identifier, but this usage is being deprecated. - // The `anonymousId` should be used instead. - // We keep sending `userId` to Segment for old users though to preserve their analytics. - if (userId && typeof userId === 'string') { - return { - userId, - anonymousId, // The anonymousId becomes required with analytics-node v6. - }; - } - return { anonymousId }; } diff --git a/src/telemetry/telemetryService.ts b/src/telemetry/telemetryService.ts index cd95874f0..a38b55a89 100644 --- a/src/telemetry/telemetryService.ts +++ b/src/telemetry/telemetryService.ts @@ -25,7 +25,6 @@ type PlaygroundTelemetryEventProperties = { export type SegmentProperties = { event: string; - userId?: string; anonymousId: string; properties: Record; }; @@ -128,7 +127,6 @@ export enum TelemetryEventTypes { */ export default class TelemetryService { _segmentAnalytics?: SegmentAnalytics; - _segmentUserId?: string; _segmentAnonymousId: string; _segmentKey?: string; // The segment API write key. @@ -140,10 +138,9 @@ export default class TelemetryService { context: vscode.ExtensionContext, shouldTrackTelemetry?: boolean ) { - const { userId, anonymousId } = storageController.getUserIdentity(); + const { anonymousId } = storageController.getUserIdentity(); this._context = context; this._shouldTrackTelemetry = shouldTrackTelemetry || false; - this._segmentUserId = userId; this._segmentAnonymousId = anonymousId; this._segmentKey = this._readSegmentKey(); } @@ -295,13 +292,6 @@ export default class TelemetryService { } getTelemetryUserIdentity() { - if (this._segmentUserId) { - return { - userId: this._segmentUserId, - anonymousId: this._segmentAnonymousId, - }; - } - return { anonymousId: this._segmentAnonymousId, }; diff --git a/src/test/suite/explorer/helpExplorer.test.ts b/src/test/suite/explorer/helpExplorer.test.ts index 402d21093..9bb9df134 100644 --- a/src/test/suite/explorer/helpExplorer.test.ts +++ b/src/test/suite/explorer/helpExplorer.test.ts @@ -45,11 +45,11 @@ suite('Help Explorer Test Suite', function () { assert.strictEqual(atlasHelpItem.label, 'Create Free Atlas Cluster'); assert.strictEqual(atlasHelpItem.url.includes('mongodb.com'), true); - const { userId, anonymousId } = + const { anonymousId } = mdbTestExtension.testExtensionController._telemetryService.getTelemetryUserIdentity(); assert.strictEqual( new URL(atlasHelpItem.url).searchParams.get('ajs_aid'), - userId ?? anonymousId + anonymousId ); assert.strictEqual(atlasHelpItem.iconName, 'atlas'); assert.strictEqual(atlasHelpItem.linkId, 'freeClusterCTA'); diff --git a/src/test/suite/storage/storageController.test.ts b/src/test/suite/storage/storageController.test.ts index d053aca95..b90853f92 100644 --- a/src/test/suite/storage/storageController.test.ts +++ b/src/test/suite/storage/storageController.test.ts @@ -1,6 +1,4 @@ import assert from 'assert'; -import { before } from 'mocha'; -import { v4 as uuidv4 } from 'uuid'; import StorageController, { StorageVariables, @@ -45,7 +43,7 @@ suite('Storage Controller Test Suite', () => { ); }); - suite('for a new user that does not have anonymousId or userId', () => { + suite('for a new user that does not have anonymousId', () => { const extensionContextStub = new ExtensionContextStub(); extensionContextStub._globalState = {}; const testStorageController = new StorageController(extensionContextStub); @@ -55,34 +53,7 @@ suite('Storage Controller Test Suite', () => { const anonymousId = testStorageController.get( StorageVariables.GLOBAL_ANONYMOUS_ID ); - const userId = testStorageController.get(StorageVariables.GLOBAL_USER_ID); assert.deepStrictEqual(userIdentity, { anonymousId }); - assert(!userId); - }); - }); - - suite('for an old user that does not have anonymousId but has userId', () => { - const extensionContextStub = new ExtensionContextStub(); - extensionContextStub._globalState = {}; - const testStorageController = new StorageController(extensionContextStub); - const id = uuidv4(); - - before(async () => { - await testStorageController.update( - StorageVariables.GLOBAL_USER_ID, - id, - StorageLocation.GLOBAL - ); - }); - - test('getUserIdentity returns userId from the global storage and returns it to telemetry', () => { - const userIdentity = testStorageController.getUserIdentity(); - const anonymousId = testStorageController.get( - StorageVariables.GLOBAL_ANONYMOUS_ID - ); - const userId = testStorageController.get(StorageVariables.GLOBAL_USER_ID); - assert(userId === id); - assert.deepStrictEqual(userIdentity, { userId, anonymousId }); }); }); }); diff --git a/src/views/webviewController.ts b/src/views/webviewController.ts index 3fe00de40..fac9a83d6 100644 --- a/src/views/webviewController.ts +++ b/src/views/webviewController.ts @@ -328,8 +328,7 @@ export default class WebviewController { panel.webview.html = getWebviewContent({ extensionPath, - telemetryUserId: - telemetryUserIdentity.anonymousId || telemetryUserIdentity.userId, + telemetryUserId: telemetryUserIdentity.anonymousId, webview: panel.webview, }); From feeaf6e1f3e211c9a3fd2bd8ee24859d1f738629 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 12 Feb 2024 13:27:46 +0100 Subject: [PATCH 12/33] chore(deps): bump socks to 2.7.3 VSCODE-520 (#693) --- package-lock.json | 67 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 50 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5d627340e..53b9e8bee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13885,10 +13885,22 @@ "node": ">=0.10.0" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "node_modules/ip-range-check": { "version": "0.0.1", @@ -15465,6 +15477,11 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "node_modules/jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", @@ -20749,15 +20766,15 @@ } }, "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz", + "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==", "dependencies": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 10.13.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, @@ -34467,10 +34484,21 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" }, - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + } + } }, "ip-range-check": { "version": "0.0.1", @@ -35674,6 +35702,11 @@ "esprima": "^4.0.0" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, "jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", @@ -39758,11 +39791,11 @@ } }, "socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz", + "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==", "requires": { - "ip": "^2.0.0", + "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, From 902fef960cd986f9b2a93245ad6613471a3b40bb Mon Sep 17 00:00:00 2001 From: Rhys Date: Tue, 20 Feb 2024 10:11:21 -0500 Subject: [PATCH 13/33] chore: add Atlas Stream Processing to readme with screenshot (#694) --- README.md | 7 +++++++ .../screenshots/atlas-stream-processing.png | Bin 0 -> 602951 bytes 2 files changed, 7 insertions(+) create mode 100644 resources/screenshots/atlas-stream-processing.png diff --git a/README.md b/README.md index 82e101b9b..54ec00cc1 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,13 @@ If you use Terraform to manage your infrastructure, MongoDB for VS Code helps yo ![Terraform snippet](resources/screenshots/terraform.png) +### Atlas Stream Processing + +Connect to Atlas Stream Processing instances and develop stream processors using playgrounds. + +![Atlas Stream Processing Playground](resources/screenshots/atlas-stream-processing.png) + + ## Extension Settings | Setting | Description | Default | diff --git a/resources/screenshots/atlas-stream-processing.png b/resources/screenshots/atlas-stream-processing.png new file mode 100644 index 0000000000000000000000000000000000000000..050328a4563c6114fbefd49d9514326f665d92a2 GIT binary patch literal 602951 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
hVla6@2^hBS=sy|T-+^C0^HOy2`rzaF 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%0DPV;BShypY*@qvZFr<7j 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%0DU?&W+>F4gq@_Y8vt7u{9pnjUa6&vX}fi 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 lk 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

51T;LNg-&DQ70GO`F}?Fx7JQ5T#d?o2 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�!yfPwT1z!^8 zln}7B={WHs5(*p!;fYK5id2fd;WWDnXc}2NA*xbhgz2o6uR>$3wv79yM^6`8RHX|c zymbnmPG2p6j$Pq+U}I)OvX;8zq418F6q3(ThNYl25DSg2xNb;L$$RMebPkR@D}rGH zG%d<{F5~RBCWL4u(3@Xishi6k$0{RY^Dzh;{CFPeq@Oq@f`n4AsT zH6+WOB8#1N0rC!!N7f$`f#UUzQ!r~g+C@o)m5t> zIj@(HaT{ek%GpxKBcp?aNe-rez9^&5FRxXI&ohaxmJFPgG6Hd9`t=DpO~Vc;YId`; zoqbS8vtw4>?tl*4{yG7w>Cg|w`9U-A)pf62XW6?8HQAZty<_LjPy+Of%G z@G)w&7bbyHA*?7v7RVVxg`<&zz4fBI&%*I`S`G;MuIX!*90dK33@`K{hxf(deM`4X zY)Mbr7l&&(8QZBfFWv@UK$0rFtl0#d5=h&h-N&Wz3^&q*doBnH8!^EBfXa09BTg!>x^;r-hyZY3l4``DSt6X~<|F%S!ZhW2h8e?3X3&|m0&;|IGa31{VvdJFX6 z7g$baaz6P}!TqGnD;fmc%lDM*Kv!BkWWnBZx7t61LZq&GU8^x@QkpP!LQ8S|Mb4!) zhyn+W^pCOyOK8f|JZ>iioMQymKR-f&N!x*=CMSnek5v!B$$Bj8fgaRtq7o@_3Z~I{ zq$ccDgiGw^J%-wbzrxbqLP1|@;R9v`5ObO$^>AhR%nqEzQwr>XMt7@Q{rUZ@$9GMHwnfnQ}A|C2UnmUJ$@v?8vPMO^r2w`z_wZZ_=jMl!ZDDGGKzQP{~>|bVQ8|t4r~Yn9&j;y zu;}(Zn4y=9xXH2~mt1BLxa<4Li%Po#57Y%TuD4(x53p+SKVOagu^~<`fngvx5n%^! zxn74&?j*z%3H9zH)`xCCxq){}Xl!f>#X^^(K(pNmVzmZQvGEs>pOWd8_&sOR{W+&< zq`8*lG65X}50lw~a1IAs6LUEp)-bK4nwJM@`@B5iHr|8OTa1ra9A@&1e7ODJ3cX)l zB`b;YbFqip?c33X+KhKzO&mG`;pu$Sy~U!f>}HDE73wo#J7YD|*D}xn3eIqf#(tcj z=!NJ$c4*{8TVU_Q~8klVMkr){cu_Il17NbqGsce6F+J%CwmklhlMD2OO0IRa~ z;lqc+M7&&?bV9|Y7@(P4%eSlwV};vxJ{EBud7=P!o@grw1qu&PlMmv9Z~%^<0zWz$ zds(=h&{L&ipB)h~&vcV6!RuAI2kaj6j(u*kos4+0MSffc(Cj;dtXnA#_rH)Sq1^O; zvFI&{j%E!3*;tLJfC$u{X_Tb##HboWAFoF^s8LMF12JjOX7`jR(8WUZRW=yJ*cJ#z zOM|Z!BA0=Epz-OTBnfYS-?8q_1u-zztYu^U)>2~dbV(jF`dYr!oO~ATkiWF{y z^z|()R;M+U_YG^116FfDRpJ;Nyg|~WpK>^Sh$Wm1blV7d*Kjkt#}qP*opSay(x^Uh z+tLlmLjW(lbUHaM#|U!)%FltUW&-s6Fe1OHC;bunMRovd5>SxR6&o{CWeNMvA>EbM zzVMg@a5DI~#QIsHxO>VGbP~kAcs^_6^}6nUnjed5%4UxC;WIX*pp)h}=BZKs~1X8&ZHrqdSAFvI9 zG&@8ZQ)f?tKwW|Rjklqk0wF3p;EQLzWkK)w+$!BDgGPR=V&C$}pOO_Jv-X~ug(C3G zNP-r#8z)xI(ly}v#1O7bz*6Tsb|3XNl{csR20tF!MtJJ$=jYI~(MG zjS2qaXqwkWK=ikZMqfY=m#!ma(tN=ua~>+VQ*z#J%oA@rz&^~h)v5OVY-dg-od@ZA z>)TsU#b@Xg-jQUZ?Q@+#TpdCUQZ$Kdu;&OZAvSx!cWM}9 zfguB6ECQstw`T0C14g8zLq_#$%0goaVd*mZ`IeGqvu0(mae{kX(3#$SnA4w*_Meof zq9ib;gE8WRkS17eGf}euPhTr{+b-Cr{c+_Y8H$Vu865>9$)n&$Fi>$1ly1xx4(xz% z3;fo@?;b;2sUc#L9}!4jRvyn-1CHJAfK(6JtTg@KfV+xiT+kUWbeUy@q_kVv zC91GIO+PwY=1g^Ul5!d#Zflm2tL>*(y;<^tTa#OEOe^>>2SH1Oeqp`yN3Jal2|zxp z;bT1$1mLf7m`GZ080eML;YHool0d_P=$Tt{qet~X0;mv%{!;j^WEo6H5M=oFV|hmz zcM$3=%vWN*tzG3U$T*#Wl1nDi@W4F#70Oi!P0({?gK9UHpusMA@aTL?eQz4)oCIq|O74 zq6asW`%b3-!kNgwzP@TgQHmTy1oSoRPjyJLYbq)opKSni=`n$5f?w@A(1>SW?4Mr7 zv{0O&VUb$vKOpc>)ia;_uJ6YP+Yr)r1yuFqOZ*#gq;C7W8~q=D#;O8JQimPnjM}Ai zbtTZtzCkJ&uaIeHh=S$;DP^2)uB;ZsW((N!I#G?8t%#6*L+O9DhrRtpi6kIEytMO=R;|4vcVZ@&+e2)v*PrjE-=Obgu=bi!wq4C zHkhkU@V>Cb%fo&l1V&w-jtV$Tokhst$=zNMjaCcB{t`Ox`9(AvJ1BMl(!h1ECNPV? zp=%P;u{v93KlS~5r1J7T{4P8Z>5d zBAP|=)xfuFB(L`Z*~ZLDuW?ari}q{Z#f&*%4Kqcb zj$$P&VyVlqgD%0jj6m&;rRDT5UZ@OqPE6 zc{k#c7J~32R#Sa$s}@QDBT+$%(^+s%1_7J2^SaqAXg>@HFtn`^#kz8XDdB67NGSmb zF#J;VofoAtEc0vdKbBUO+-kbL1afLw-C4-I(n)#G=MStKZSKM{k_&l93F^t?j^6x_ z5522^5Yii#T4Cr$#Q`G?l#|dc_ADiMnZ%-wfw`3zVpFmtnNBw`u$>7JOJhK& zmi?;D#wkn>yQ!&HgG1%PhJO`us3;Kg9@96L+fTmc(JT2*pgtIs0}au$Tc2OS#&;&M z>Q$()Q2E{J!>q~II9^{K-_GWo?R&edKGzVHS<>mEe>d@-#Fn1*XIsx3G-D|l>8|?4 z4xcs4J3PvEF7=AKKVGz#U!T*QaV&pb_4-8dgEGnT^jM@%DCYXh9Vx6x7qL+TUf!4V zi%#p1r&Xw#v@X!<1g>jC)#}VCIB)R}O_^pLeB<5t0}5t}*UPD3@@1qbx8oAy&yN0b zTXZ8G&R!}pcU25#I>(_7utGgk6GL(bZ_BK!c{)nokQ;XCo#}=_pN_#wV8W@Q?F6GA ziigV9Yyy{}y%$gGmXhGOQhvOLAzW8)lA!kB@$xipsz=!?leTy9C2KZ{V|`Nfm<*b? zU}@XtQY#A#l`HgQ7`gKs?sUOWguivu-r$E=D@=vJR?H1d-}fo|`VKVuoW34M zvA@wr=;oun-*Zx(lC1GF&r^xScXdDUVmC|YO_SUhx3uN`;dypnV@Egb;lpDDPP;#3 zSE0_aTrvX$+wt+Duo_E5m~_R8O9TQuJnM%s3+`tU5?loxjPrYwVSuJz%x$L?*VAh6 z=+Dgu`Z!`%Z8y={l)K;E2vs53Wj9O$hQi|gMa^V5FI&@A^^$yx^0T@UqHanT=ktnh zBOp7ZSsSswFCiG_X_sJ3Si0=haRV%rL4i?B$4Xt*!K-ofr=E52eb4-(*)JByRT|u=r06snQX&`X9@CW@^an zl;!@}_3-&lFDZi(S zBdNb>UV44aaBc7M+sYytXe2xzeZs29NV}eMM}r598G5ioD`dUn%=k*XLuVFer#`*; z*2Wk|Px=C0Mw*HcoB~$+j8&O!SUD-X8S$ujS}&4*Nm=<>kGp$uwCe0bn#YQ8vP>^C zUY_Y{6MT=dXl;B|p8!_fOc@^?sg*XYx@cIALG6*{P&+rVcMLz(S!?bNu@BW2`NZzB zL!+<6YuCU-`IPk9+(X-3Z1&^IC0BT~vv^nN+IhG&Q*oWauytAXx{P;ZL^UjziRf5; zByTRXA<{NTH*urjrPW5>LR)Eg>B0w+FGERN2$|RX zW83#P(u8siJ>G$nzi%k*rj*_$&B5SqN49ke zM7x7R$a#ll&S2e2=hF0nlhIMS8P6B%3ERYNXU#IGGgURB>KfC!PdM~ypN~?DR%N!5 zis*mJ85vl&hjHHFX!{0Ce3uEPT}{RGGajWRo=C7JYoxH7b%%-E3Uv4n`l23}A+1#2 zQ{3wmKEC4>dg*r@i)~Ta@6C(b)3+w_CEJm$D}%+ z! zzv-%9t5@tjqWQRmdi7sPubaz5<^|>5ZV#z}HQU8kY|-wPJz}OsAHYE6-i|r$gp6I; zLf|+B$e5jPn#o35qp$A9+N>8g|E|Ud8Ih}hfd3m11vtC^_u8~tUbArJP1fMcDCC9# z^N!A~+&s_khpJwaK|t~7%oQb>^`1`KAv;gF82Op9Rm*DN)e@9h;^E}1g|wO>h`d^8 zdeHXgeL~pKKZ_wp0NmvRQ*UI+;zr}kw z3lBG$76&Xlk-`-}ED z$@vEaGz_1zo;u2f%u`KTMs^~?#6VtcO`)@g>FGHE4D^HOMg)?r3l+YUpt|mbzrPpb zW7WBf)mIR1Foio7d|r-287=JYVA-AbZH);H^Fo`opVq|zK!tjqXVw^f{;{VuApU+2 zDQLPZBFK9)z)_(7IuKgU7p^VTPTK=DB>-#zy6t)4ov4BmSfc&vZV0iK&b-Q|4aH_0 z2WBe+9$NIaP7WaN;dJ)>syJohkc;FuCCBxm$8L*8Tm}AC4}Dt?92DX5P2kb599uv9E-<$JyU6pywNe z%CwfYNAyCuX&V=!F~Dy3>J}x#l&4CG?r+2^9SEX+OQ8{T=n7RgM!&;4!o2JC-HuaR zdD?9u!INv7O&dwg?$AtDDZX7t+S;~L2s64yP@EqOdFW=n9{XS#TUbz^NY>W4t~MUX_p}Nq zys&vGtcgIsZ8+r^I%x-3j-zRKgpH@Gb@OCQwvEE%et%I_KA(s1sQaV0;z=O$3OJ}y zgO+0SFMd7Lboj*YrTID`h2U9vl6x4MMg5IMM(1KV=TV+%k$BMVa`Ul};N8-+iv_x(9!E%l_n5&Twk|5(Nz1huFe=LwYm*7{K_o}Av-2CTN zO~~7Wn{LRWSCx^j>~rBey7^cCxsLwVTbLaUcbLaX{Ve->C`yNV^Pj`nwrgy3tUJn(KN1#K>CzUd{&&yA9lkl2V5R)~ za|d9>(lop*&CZ8UnZm4}MgO|sfBT|Oc;Q!N*-IBPZvJyt1!Pq=_^v^#HX&?`NsowTiV4}<(WY+vKtcIQZAgczm@5!;9H+Ei;m)rcT|8=YX;~CP< zAvT*7dr~&HJ19b(@KB7@CG`I99{oX@1=e)>^n_4L13Y z4v152dsK76`^CK>p7Gyr#6Mr0XE;K~PV93||D_Unf;^HlPU?km9`L)i?qR)bl!1Z%U(2^SQ`Y=odOj2;tpDW`yA9$V z`FGp@uRo(D_cTA!$g(y-YuLW_RixTqn*O=4ZCQG2CoZCU`te1B#Sq?XG5eI#clXxr z8HM8Up!dDdInv~ zB4Aa2grPlW+kbt&YM$mB$QIFS;)t*%k7!TpMazP$mzaEMDalS?8gjpotu3hiLOCwo zmsX5CpTZD<->XUlDcnMi(9zQyI|PP?GKTDZsRyymywK^ty5VjY$OqTidprkbGC8p-!snM;{*osD$Z{>mHvT*dUay7GoQCC! zS)=NNUWzFf9{QR?T-dN7{{+`p zZ=;hE`epA!Sfkts44s9x#u`eNA8-SzFpb_*mY7qbax_S5h9j7Ck2h_XsJ8V+LVWQ zPKtYQ9Xs}M7GIj1QJ(~%8Rj=3XCU`k$LSq+*fp5H#w)l6-^hC507>b~!UB$UIs5R5 z6{+mL0ow`N!IO64b-FRu_mzHbupB2%*DvF{f4+?#(w;mlji}awEFsh8s*;^%BWq_) zD6CL7G=xf5n$M!Xx}r{E7IC;6m^|Z_4w;sej5039yVUm(r-YKF_HLM&`KdWPPtFtX zHXHnEGJBvj6Q)o#0~OvmQ^I8=g4s0)Z^&#=jf!k6BW^dCjZ$|k8S=k0G+!x6A#(qu zRh2J|?D5@8#MdnkhalD=5GL+CY=e-6UEPhM34~|%vxmQ32LeKDp8EI*W;nJaxYwP( zA;ljFn_xepJyd1PI3i0uX2yvIpEmxopP$U!;r$2z44`dN#GQL-G)qd!i(SI=#_k|* z$0fgBZcU!IYPlCwHoX9t8dZC;G)G>zab*9*y&m3SVE1ZX3~06GFsYcZWZLrJv^7r1Gdo< zO151u2uyF$N7sO8__c0^Nur(n-6MkA^ITSERu(g~t7{2vcKw+~isrXlbj>MJr-ojN z_5~v3#9sc_IvE8&D95{&j;)FV;hTT9Y&CKNas3E&6HTA8wm1+YA4LKgBIMyw`{=h) z^GHlN(3Etm!$dO_DnVUCM@+ZjpYd=rHGMaQEyu1Uek4gaFC2b&wf5f6&S>mP6lOW( zs6^G&XUmq`6R=6pjNE$L%c0400ulluGJFG5&`$%?Y_kGWT_W#G3Ju&W>&Dp~_s0F%vxig%u|M7y^?tYxp2jRukvytgj`&dne)bwV(6Na7qd7i8NjBVp)3AqxaNOn1OwWL`VT- zDIzDGHRJ+*G>U-MOq;Pqqtw-8Snoom6yw(hc1gHXDiCb6v|3!1+o8v;X?4@b*Wdp* zP&w;412zfEE0ob!CY zkN2^>mQ8S}!Z*G+^8>F7D4J;4WIaV!cUXR?R)CXrYNvR8sjm~aSbQ{4;yzEulM4mn zTO*4|4wII?^`WN~U61t|@t&m(A#LE4rq;Uw?Kyoad!F<~V_yNFn-K0@c8yNKfod z)B>Bkij)_~^Dco3uaeQaL^wIfUBDk8*L1K3x~ZAKI}++%%O7Z34;&Nc`*@5`ttwvu z@#8LP`xfmE#((vMlk?l%#H*@np)h|xQlKeFFB?x?eem^!q~v9OpRp}bi9|r9St|u? zyg#o2Yy^2G^V?%qOi5%jkFMG4Mi#aT-TE|8=Eo~P7~4*d=^OjcBW(+e?c~$b#3U_E z)lQl-@6+3{)4#v?{N&8&PsWyT4?&)^{qQkh0^iCT8TP;DB!aucwwg$$yL<^sOS}<~ z*%)d2v+K|*o*BVOeOvYRB?VF}|7M15^9)Q^z`HRNXc9H&+d$soBGR%}NKUTLx)ucp zM}FVQxCEK|CTYG?CXk(kqkJ!6&ahreb7a{{M$p(;xR>g{O{G<}n2}LV-xwz2s8R4p zK+0_Rsr2e&UEb|GN}Bp^nRAK)C&A-~vV~e{^NYjoYBt!q4>E5n9KF$CA<{V57my-* zJ0^gF_lA_91%PBth1vHs>9#S5C!Gr&3L_pbt`!(}JIg>%d7$`am<4;z&#p7tNb+NhTR!`!QBECyp z@{GIg#D|#~wbbeAO#UnyLnD8s{+?RP@ ze3o_i#7v#jQs)M8@+Tp3Reh9sF8g8jTe;W`t&2K8I#wFXrDAGvoELf)&suAqH4!ma z#-p{8)jhwedb>~+F|#+A)r4yaKlbBzC`R%fE01oX`o9Hdcau&lrFeX-(&?JiW+Xbw zSD$UAJCB6y&?(M{u(%VEXv2tq0cC@gRZlOih^J>VyrM+gE zS>kiowD}CiY54txul-m90A=64!$Qb4$S&D4A^(x%akve*1%i+!2T+G9(H3V$IU_@Y zK))5g+{N8g=-!_rVeZ!Q8O(u{=y`~^d@D4oohm)KGQRJQBt=qcsC|1mS^;EPi%{r3 zb%IWXgc#CqNm^{$YXcM)uMvypc8bKXU{z2ZNc;oXet1ZBYG5$|3rd)EvEa4uOpS60 z#Yyu6rRP(9eq2BmJ-A`MLN%|rGuV!V(Zb0h-_r8}qoUb5yx)rqZXc2vsSBb$Os{(Z zpyyiw;j$d8tAMb^tg)Hdt`(g?3)k|UM+dL?UrPWCdJCiu_6mPmc_g0vTm($F^K5*| zHkjJ|Cn-u|U_7?YcW0&6eOgipyyH!r2Fo6QMPfBUfeFg8oM!OWu&KZI!0@W&o@N6m zC^NlPhPO~*maCMt;N^noe`kHZdqK((2*P?1*m{maQRFG+PZx7lo7*BCN{!#O-vI*S zsMSUDfWaGWu@hI9aOqxl%_t}>B3;S4ZmvV3i3%0rfl{(QmWAsQCAS8dxId0zRyNW; zO}8K_)JmoWL}K*6jCP8OQ^oQWxTZ2Yq7j#V20?RBqjhls5ig0)MHO4E5 zawF5u`)@`GP^>)d;2Z^Oda#)liyFtRRyZwm?(Xj!vjaeL zmhbY^xn>p1BwJ&kEr@~&?}GqZpzAa;bcrsDB%3wos06-qK)^AA!}KeQ?r<3INm`*LdMpi^2G(XA~H4?@GYs3AoinVW*jphdHT!tcmD$rEXEG_c?=9oXTdbU(S{#2f#<7mJ>BW!Lt$(jh zp2>6r8?Aw+dCbCgcg=gXA9d=f_wUoK`3@G0XXhyu&!TB~M>f+X+kC7wV1Zj*ku_=} zABLnoQWz&uUV-0mQ`&(YMRjD+asRr~zzE35F9&VKzcfW=&1*Z6F5t*2~=g7Hlp3L>T=o@KG?3ra7 zY@|z?X#0WS7F&za(r8R4`O`}Y4ZI7h)s{fiyM%i(=?k{*`uRb=(?RYJeZ9xGe&)zp zry?)bbKDN&9~l~1xq6Gkc=y zJmfc@3IympiKiqq`FU$0UT9cvJnc-v4(~gjZZ%$_k{vIdUXNKwCv0MP^fbSnpvaIM z&@0J2T}Hi~3!9A!JXe!{&BP)dQjwf_EvJ3#=%?nXL)swGLT;nU&pQK zY?_NlY4oVYS~NHe0s7f@?K|m_BR}uyotG%gI~;ecwFsx}5dE6IB$#JU(+;2}->NWD-g29nKK~||cINMHA zW(dk{lj&5&?;&DN$t$0zH@$b)lZgn1YOElkn%MUMgSi1EX>N`Sb{ZV*%eZgWdQBOx zgS>DnNF?LsUT-4;?ce#nac{%2p>Xs@auxix@q9^}qzpEpf3d)5D;fINCRdVgaQg;U#`q!sOLM0RJBLnw^I2}Dh&)lsVVT{TTe zdj@0|#6(O!`?%?Sd9$iiu<`xKK+W;-bbNm50pay0SsLrw-d&rX4{5Qz7YqslbTiZJ z_=6YtzLl6yMJ+gy@P%WbN>M zRjRsg`~>-ED3z8)y=?mC++LAuZ)2Lg3fFecBp|ULlcTX!y|Y)FY&xs8+-yk4+&`S2 z4VH`F`dJN8K(k)6&S+xuy30hQ1e0GBe5(=rHlj9Yo5M}i;SxX6;Bq1O-bX3k;COaU zmeu$C|D*5xH$gu{1M+@0z7(zCpIv3#~B|jIo}J za=ocC;PQSm#nwE`grG%P>}&e*Sto)UR~t?QTkOj~;&yiTM)bdU@j?r6b)|nHRwRwP zbT;_*0;yF@N(baB+N)8uo{@&ue6nMyr|3poOCXA2tgC8CwMb&TBWItKC^QJH9aD;b zPpCU1)n4)Jc;Mb566k6m?vGNwp^#>kmH<^j^ebS9r{v)d)D z9sqVjdfZjGBGd$ycA4F=isBX&C3NiA#Y*SY(s$>`?o(_t6be5eXG0ZESe(^`mAqC) zR?r{==Q0GRz+z;$n zE|39<=~X)ENqu)~9qE>x)l6g8zy7>@h}8TzYa;y)^FAptBM&`+YwxYsSxi>15B4^n z*)*9Kihn9C8?9=-RueW@-|$L4!h8TNZ2 z-&;BK^*M_K^^ir6o}DJL>)Vyyd&c#B3Xr%~a!)#pn&f3w?NeXjJbC%uTELqxrv%E7<^zLF6-V=wo9PcS3 zJm4vjjG4NUH>?==A*N^<49r5eVpLU3+@^H}G|^BIO)M-tY)<^zTb*C~)uGSOp+cMH zKlW|Y>7={8g1>+I=>~`W^H^^^-mrZip&xs<j$n3OS3sw+m{ug?K3b10LIw!{IgTi z?xpB-q=w)5>#Dqbiot`&tJh!7Wi+7M?=gqa*#(qjx7(veN@MjKeJi+ZF;l{`R!|T)+dI^3N&w_*s=~~< z%EaUO(}ydCpD|;pupfMDygfN7bObFM*6~}(JLwa7VD4m>K0K#~6x4_<5KTK6}XCfB9=s(4@JT3JcoG_BGLZF5uEkDVO%iCd?R&#i_E`+o1xVg@FfZng; zHPH*ioxGs$q!3op=L_i2$yPCB+1sg3Fkx%FU|YCZEv#mWpzOxsOOs<8doE&cmpRYy%j~`h&MN`ju z!JX_~NxF{gTT;&(IO(K$ui~y1+8rGq#j=<0(hZ5atz^$4Kg~_gSw2IV0n~Rr>l+`R zLZxT#g%vX(TX7BMmlqP;D-z~8x?HZ~FU|&a@8w7n8$C9+>Vy~wyi@rv!0Uf3v;SR$ zZ{uj@*b} zghws+(G8m06ThUCnsov=O?|`F{$WLZks@$aYTtN|a@(*4{PeW!cBQXs%sP`Pa*GFR zo|#M{ZtMw^=>GF>Ue7V_ZymyIQm{cKz^p(K3jejXQF>}jYFsXD+qujIq2Mo5xE)d* zNMV|<=H%dL^|?P^Yk?|1v$?VUC6swHxu7D{GR^15&Z@N^Pv`AI>k#t~Z|=KyHxk&p zYHP0%otEkdaei6*=dof&{dK2ZoJO#bp#VT#OZEi|zz?}#=+p{bM*MP4h^8TZOtZ`so9=Yk~Kks%w2x5~D%MZM(h{!Ju+xRzbKDx_DKnDBD+)zKviC zz-uwRB|miWy{hk*#36PkGYR)5_33vbMw8X4v=?it>+N5XxPpYmf)Cm$)MikQi|DJ? z7oZT{-W{UBKf3s34!Yotvv2d>?y63@9w!le`Ne)Lg+?iuRg=o8e}$-Sgk$v~>MMXQBLfM0 zTc8nNm1Nn}=`tcDazVJz`DD$Mn7KibpIdV6X4-bEwzp|LY0q!CJaRiE#z=fRC3ei> zm8y8vxSLMiz3i;h(aZ)X^j;NymcG*+zBEo=fWrN65|@83V9-F&-#V@O=alqF@xJ_<5zP)_YNdK4rI~_JWmKjA-Aeb47=m-YXNsH!f>s$1 zB@vIzG|l0sNi4p%+B&brc8NAXMcB&KDdK7 zSmrR8d4xPgY9V~3%;Y7`2K^k{VqM&N(Mp$EMArsCi~MW~YHdg9W~XvNN=GE3Q^S{rqOE8eC`eQw+uYK`vtEN z;)Dv~jNiNiVFTg9>Zs>iKlglG9zEgNNC`7DZ0>+==qj4%BC-(N30!>M=?%U9jaU4f zE(1=v`$Vs|%y0fIiahCWL&ln~6ye4DBztz(YC}T5KAA$q4s@d4p`=5`{M?f^qdEw| z_7olzL42lsCPtrf_(E=9`)HQT60Ut?l+#;NW5pw8gV>nTxVOciR*qEF!Tkoao2utB zI$P>w9^hP6M@m@r0xQzm`2Nmdr^*YuN)lpk0&l1eA5W<55H-dWda`a#Kha6rW0^Ab z%(vgctKYKidcK5he*aHJONWbZH>gcf{J0Lg?4ZQuELtDZRxzt1o<^ZRxVvx;8CFD4{Tznkd%ytH;?1n>Uj+RcymqwtBf<$B&9+(ge~fsP{j=^+vPYOQa1Zf3|#{lUwZy!XrJ zKudDg&cGjMW#j)!JA!lO1h?@;>?UwHXln4JmBQG$^?=XUfx2ycs@ZyqH%|$o=upRD zzTVI*AWp_KHue?~NsQA=&|E!$e(`|w?N{#Qh49Z9n-?+BC4B8}09wFS63j=^byyqjxZ351f4g$vzo zw39fd$|8=Go1>-<v8qswYLa4R-9+mo;%p;H6|nlNNI!tYAs>H z))qI7en;zY)!6<)#~q5ZQ-Ky>RO~4qloF>Q(*`wUgbAtFT&7n~d>#kGIgFR;`pZjX z|BQ|I&abkP7pdN!;)<^S4EOO36$dt%>t<7q@Q@KkwJ6V=E4bW3Bk94HJhRF1*s|x@ zZ2NLwxjMFtb)26Xwhy{7#Y(0Y$U zr1}mHetC%xO06M{-azr+ImIvyTud1|jbKg5>Y2m-l~Aa={6$n4CAb4!vM1lj1x3jJ z35i5Yc7o+C7k=3p3+v|%TT%QM4-IaiQYj=I5+Q0`E!$o(8Apm-zV~#W$YF43E;X9H z%FG{79A@Fo$;je!{jCww8OfteJVJ+QTX=JI*lJoa?W5CyEqy0#mt}6HB&nn$adPxq zI$Z*ls&)L21)(k$YDeH{5u7g!LVHJTH`W%HsHD*_J+I6YyQWX3W5Eshc2{~`Q{uu< zWoH0K6T8O7aj;ta`HeG|f22-;4Jr$wm9xh(FawOs`^CF<`^3r{(s{0yVj@=P2mA8% z+fpB^S?fe=rPYZ0WBl2+c{37?^aLc5rn1?`>arS!3~FximF81v8$!E|sk(TZjW40H zSNGp8oys|ycG9jG-7xCa_hMYg>N~Msef8mP=KLUj5n8)m8Ym>>1E0&AdU$-$(oKG+ zv0-I?TI!9;U3ODs$J7*Y`W%Y1$k~OVxYna(6ezX+#bJT>l!~8gcn67C9d-J{bl~)4 zme;JZn|q3xkh;-eFJr9DY?08?(gM{joh{)P==txWUE&_aoGsLIjdzm6!r9(+S|Pg9 z63O8fE?mKB*CKV&4h@d(e(>>v((R5hw4i4+cPnOKSuPpb2KlND@ewgG_lW0OlseDc zo?`q!X#%Kx2^oy|6USL*nD$m+ic22Gr#xk(Fi7wecuRuMX*8D=k>954k020*jL;9> z>u%Uj2P}c~juyhmlVrWZ{TTEt;R6WfAFC=rdb|bPTc+oa&6L1Bg0d!^q1Hk9=Et*9 z)>ViuESzn0JMzp(6bEZ~>0;eot8gTlfxRrDzp!^<8Tb;DAd0j+SOeIJp2DGq)e6lp zd8pU)w6#w#zL8B>?$odXiOH4n|VqtBut#jf<#;)ca(N@+t%? zrE7Gk4C;dM3T&swjZ0=K2roO|d;u3EtVrbdS~z!G#zl^IxT`|{d}h8!CPMhbw&iW1 zK>qC}(;IKyHQtxST6dhK1G%%bdMPM?&t!rA&?+-E(E88OlGS(6DcCQzR)8mpXaGzp z@1T;~C#>_GT?QXY`moEHE2Oi}b7JsGH)m;_{ph;|s{b2=lB}E&fpI*WL?D zLu1ckJXE_0$7ez|-(;8E_z{e!I+zC~?CFAW4IBW7w80zG%-AqTJe$RXFHh_Crj%oc zAX#&RfG4wM^Gdm;Bc5G$gV(MCrS6CgI7!&7j1bys(&MO5&-Fdn&FL1p` z2K_j1?rP6WNz2RH){yJgn|S9of!kESTcuJNX*Ss}VBIa#wPsjn3h zq&3K3AY}h`P{++O=J?DnkzG=7>HF zsqEpg1`B1cc|o3!W$~cD(5kY)Qu20BAZz0axDmxc!?s~{AXR~|+_+s_mK)f%kHJEkx7LVGuJMG1&a?{DubEeCw@%!oR* z$`7*30j4h3S~g>rvYC)}@=9--atv^B=)<0wy}`zZj{wf{wD@tYEbA)ED1`8K29 z_+xT3_f(aQs~8lYRq}6w?okUlaaOO{{oyRNBVFLMChZBK@kPdy99qZ5xMSr7ht}Ja zgD1^gVcydptVYt0H?R7UwX!@bLlhW7>)Ns5rz&^l#8q+=_d3WW9P`d$ztt7GQwJT; z=8|@Y#bT_&uTlrKi@(e}c@5*U9x#dU`b(PiceU{!UhUQ%OJ*V>zNC#WAFSQJ5-8vC ziP5D#0O1|wjg!>jl=3QiqP_lri+lm}n(%d-8_RmW6nv zaVzkYVnB$|X9UAH#;>{-n5g1igsG@L3AF)Cg|ZNOMSAjI9|UrSqQqPD;TeUw&xFZfwdiY6Vfi>3Z>5-`gwpGAtAvdz(78V7#JE)G-t7q^qLBgd!;=73XtCz(8E=Y8 zD)l;_fr>LGCgv=%%@iaRwdkHT*X69_b{CZDfXv|N z4o7@EaOn=v*b=vVM-i%ZoKbkJ7X`dTTcb2KZ7_wWAz%O+EGg8~5etp5mfS0^zdX#P z%tefUfB3TWG^Dm{-F{eOlIS-KNI#zgg;0(=?npcg+Ce)^?T4q?@dX9E;7h@Ex>jFs zP^ZZT-IxWK(I-=jim$8^Mi2p#Y)?`XI#df7c6$ik1Ij2(Q-7fexMn;utyYqB%qzV1 z<=b6s-NfcQm53-TI^)+@uOJX`;*)inqy>Kr$f5cbJUuIP00XfL&dE4N)*gi4s$5td zg$MA-c5L_Td$QimAYKEblyEGgbQbW4LJhraAZC6Z=ibOd=62>1E6MvaiYQVo0ehAb z_y^Tjmd-gPNYWYRZcxGc7i+>WXzRt813UV% zFdIG^8=gf?L5d|GS^@troaNAkw^p&6-ameHTE>kyP9-))eWINeO%MKT-FS)ixd%Z` zQ~#-cLH+J0oCqh<_`Kxo&x+bF(DYKM2-@WJFDA4!P$nwt`Q`&l+`el>p^r}H`)^i; zg!y|lXJJxXVsfaT)n>zlIGxj^kYDD~ggRfm_)Wz6&mHQ}0ug$37s;a#Uw@|eUNYeP zV*qA6aM4h4)bi#&* z#2XIrEF`%))7{-w?@fawKx{+!UIwphy+2$fc?>Yc)&7q?;BUEt=JJH`4Kop+KzD9W zpbOb_G&s1pDFR>5NF1Tw)~CG=uhz~p$X1nKPm0E7zD@udvcLtfNykf|Y3gS{&BhKB zCi3a?=f{?rG83DB;l2V_3E#I7Azn$MsjH}w@XC+rr^2!Tth4$ChLNjmG^+3>ikLw zIX2g@(A4)%l6qjZw4i%fld@>^9-!`UpT}?4p~XXbcDHJ|b){Cl(p$C0F|(aNag$^( zyOlhNt9-tT*4v;y^^QTsW-5GEZ>?D2zR9C&n&?G~!0bDCVos$~^0J1>vLm^DzN6Q@ za%F!PdhYSv7^F6N?=0u#Ibn!{cfI0-+Nf{ZqcenhnZ%5R*8$K`cq`tIO6=$q(hIO$ zP6j|*o>@c7-(}MO%5|PgZ0i6j_d}S7l&b)fTYz^@euMW${Yl=-t1LkOS znrC3L{w_di#e>35!>AL?HhO9)){v;(oatiE25Gj{H_&@;gVN{*rtqH13F;>047fuo z_1i@mrJULT>5&o)w6reDMg+(w6hI9ge4y$YY{^HcfT$^?uy-D~~-{6kq zs&m>Kf!;DZp&_8c#2kb5#s+5SeJzd$mT}wjLjuNqEJ)v_iD>vlKNhc+OX-&EW19uO zyP^?_dj!O)z3`$&=F$AEbW_rG6ZT2Ucqr2#ef*6-;=_A%U-NbEIxzC1mtz$ay0B_Q z=;;^p)s-K=y|bp<{;s|O;I$!>^4e*po5pQ)Z8R6OTG!iGNWd|GOy*>YH=}RaUBiq; zdM>o@O>)YgJZcj0f~c~lBNVz*d(}7ad3rmmKuS(6XmtZRe{?i93+ncVb;!6^j6v=9 z65TnLzS{N*UVCOcvF$AAE3R*^R2RY_0!3-!YlaN^)cEx{kNuPE+_{XKbv1~8pT-9*P(vPlb)sMsCmLw zJ>iyu?|%*|R+T08Nsy$f%6d`!*mreX$@@Fe20WwWvRc~XPiiN}!;1JxEu%BXCt9qu zIp)m8hZ3kijQv-i0Dv@A?)*Q7H+L!54hHhYF^T&N5{gJC6%Rs|)KrGd9PWoy?t;Wi zG_3AQH{p$M^q<+zuWqe3Y$q)}dR z9s)a}g&9(z1sGD31NXjN2-$)Jx$i#w$i1C5W|5A4Z-oHw9CKZ60a;nkOK@Z%2JPB+ z6vI6a1}7IO?*YO4V#a?2lTq)Zb_F12~byMI0u;OIJ%(&ka`$auLBYiB==r(2ne`TS^%X3yrSE@ zEOv#Om+L|n7_pEtU2ZQKTGu2AR0m&T_xXaUDX8wTCAK;s-yU6s?|OYUQNbm3W_{gs zxSj+$)H)zSrTPj5ttw2BTx!Hp#(7@EXDUC7heb6Ky?_`YsCVkCt5j?3+G?T&rQ=WU z3@D0w%5Gon4!s7R5-$K3jkyjj|E9hJPzJL#Feh zJqiSy+;@kZKO+zahU2Y}-2~jREti5ma-Gd-tElXkGIh8+glhZrfaQ$55*TqSReP6y zt$p)?US}R0uDBS_6S`K7@rYewH683i7+jqokyKh*jzGV>`{gMs6-;{IGR3MqD)Rw8 zm@3+q6L=%F()~=p=!QYzfP?`)!|bR_{jCzG+0G@BcUX$9YHKv}jAIU<^4y^zWg5$gYsSbS}xxM79 zCU$9ge+&knc|PJ~(rsRgt=m_^c1|gr{D_ZyCA&1EL-Ar~>+*1jsq!|1=%BCHjLB4{DJ7qDn_lX(ANBZh?xVZ6A^A&#Gg-h|i_ z5?DV{Xkm1OHB&hOEDYN^HT1lTO4l#{OL&(zyC1K`$asf>z3B744ZbpnO=?7cqcn5y?<25ixD-^7QEw^Jna;iSnLr#Uef3~N83;-y z!1ZdTOcMEa#GNPbg=8Z%HLeW^(foD23RB15nZeumJ)d&2k`9~hV3_kZ?s<2{O?mdd zbbi2-eaB7D$)+!uci3s7wNJ}c6_iT*^zHxPof=hHf({A#e)4*j7A7K$d^JYzaYrt) zsWn9yy?%cS>F&-M|K5)G&L8n<+V!fp!^jwd)sfnuRkbS3##)nK9QMDoQre)l(K_?BKLZ2s z3YZ8bSbZ7$36LU}`_->rl|EKMbXE*fm}juA4XgltRLM_V2h*I>>ww+(;<^gO)g-uX zta{=7KRw!WZnp~6T(x!@@Aexgqw{K4Psw9BOV@?s+zd9 z>^^k|*5Z~xl63h9h^tIc7J^S80yKP=vbZflY&lVBOc1gbL!+q=d-0t^e{4Zr*}a|b zc_xE<^3$M>sZOgKs^5P&E(Z_~fY6jQ8bc&I^cT$DagGOZnA@tlPfE|crA=d03(K*@sG1)_j8)q zJUt~9I+JXZu+BWgGDi{VHDY4myd zKZWs-5Ux;h?ykxXnU|1qugEXg6|u{|1a6YONr}%pf?G%YF3IAw$~VMUrc-pEF1J^d)wsJnb+Z$v4tN7j>)}nlSN$6tc|C&Qv7T1~@UPI#h?JO~Lty=-DRxK=T8O~W5QSgxR9-QNn~81Q!R^taQQ z2A(@8eHerlQ>EgW6+ne~ow)Puya6cvp`;Lpl#~XnYx=c)3;99l1V>pQ0@|IGfD&F!V>)+3@Va(kl>3W0KR>Au#3t<#PnIn}y)UTCr zz&ZBM0$7|oOq$Vu=u5zpQ}y?@*E;v+XwLKsChKHrKpB@(9a~xo4TG@-OAyC78_ZM) zl93O$Tp#u84oy^kbcKm^-4poB8JlJ>^6i+r6rp+9yKbop0~_-{tz+k&E< zf~kjFgab5e#UK%JTj`zEyE*tLkzjY=7BX#T z{<%>eq9dpSxGeV-&aW6J<@`GLM*sX2XS1bg4i%3D$Ht9<-R&6na?TVjGTr@W$B60B zM(y04FVKj%^>6^ZRPMvGP?xRA4qXCObQKiQq~8@6OdHbk;PeLDoI`;rH~m^-vfYN9 zXcZ`K6|aJgwQ)T!FhZYs9o{ayOA%u-3EJ)2v`wVxbxJwp_~*3I3EXeWjmRQ1y$l|9 zeyn45b}biSX#ec5WW9MvZC5QLTE%0=Uj6amt~vsqa06ADIB>=ny?yUd%oat6t{j0+ z&Zg6&mds#^FvObDqzY(#JtSqT7iIvVp3YlErJ(Nxd0F}6J?X-{XuCsBz3x8v@-3jK zH+U(%o=}h`9eDVWdSL^GBO<>XNttEt_aor|AvihFvX`Gk$4!wOv30d&&VhmYVF5&H z?m{M<7gg-HF}!jPHUVf=1SaJHG!S{iSd>+a5+}8TI-t%Uv(=&#A_YbxdqcIzrPr9Q z&uZ{(%VLmZ=U25?=RRvCL!s#TAQ~;}ckC8rKPU2D-k1!|M_)1xs_r^o_=}6&7(DJ? zeErOv7RTGf*R-1LPhT-G15@@;6FWh+!#5@CXqqw;B5v_HG&L>;Syu$8Nlo`ucN%$h z1(62VOMET{Purm<10FoldBE98jUVst;?I+u_sHGYsXO+H2h(!o3;*)B z+m1gt2kzRS4l4U<8xkxImCASi{C4@D%~p%Ifxa15*(7j9-mFd~*QLBuvOWM8up+0I zs+w`C2avZNFO}5M?pGg{biC5=CaA9eY+%=FNZaH@j2WMKuRP>+TnG5d8`Byz=?Aj52qHzfG(EvO8?3}@H*5ibhVp|xyx*){H+FBeW zky$QS;(%%)YkeKoxo-U!9WPTb(w@Ewq-=b3sVg0E@ixC`$;a(}IThRkmb%Y3w0BiM z9A$tMj9OH)#9Reki!YrID9dl0h!^(bFfPv_m1^3NlUC;SbjC5?P-60#3gI~*o+x-D zbeo6kGq!zQCgW6z*Y6!Ppbo91b0={x7-a90;k!1&1W`y&Z6!K1z(2%#v zeEv0XT$X@e^-|Bdi-hv;Uihr$zuF9p1R2#UpGFLE$}c>j+-ToSCbb&DN`L%yx&U$- zF#j7V({TrvmnX9~`+T(oQFK8qN$)4i5m|r0A%6STEVhSvMqse+934OtY+dp2sD8RJ zch!$~L=&w8 zJGBBIPAPlNY15TIpx!F+CpkCVusB=i4R$cMzNI39tQ?P9F)=<+89Rku03zZ6EM;-( z!y&3Ai`~?m@n*8tjD)s=k|wkP*xt98-(m!D9&YWAmZ90f$}k;wDsSh*QCl=N{cq$; zg`V>!#=Ch+l`GKJXT?eoBU@3Izt8X5_r>Va=G6tSs@MIIF~aJ|CV=1kH!^CHbS0X~ zq6Ra4?BE;Zfb`1+)!_djrt_Ehz>|28t;|(*BXK~lmeqOY*!5Rs(PzLA<&09r6l8@M zRnp^mIJo6I*3F5t41{dEr~X-n`4y{kd&5_o7tSaTcrs60reCY?F?e%>yCqEpJt6mz zjAJiIU=UtSqwF1L`A6LV9cCK}l!9|?b9>t>ZG5!;tyJXp3=)-OcVtzM2i&w-&P0iu zvsT4HxbSR;Uf#*SG)~xQkpm9Q6DLz2eT5)g(Kws6*KOm&Wu+k3oC&dO=FGy^;#Ajn z4Goo_2o7*jDz>eHe&Ii+qkn82I4@|ol{^rhEc5GXc0ZzvaoM-@xEOLmce@G|mL1%- zR_MN*$qlP6upLB~S#$HL+Z(%l2 zeEn)d%HZPCeo0B;sQH9Xe7MPGLS)Pl*zQ=BlAD;x`|wjk)MI zQ|12`()xc^B?xJO)Z15;PS0PmfzoslK1LVOgnjxj#?#D5=e@x#yPx&3l$fJi)$O=aY1igetR-J5#npV2VD|NZ%{}c&@^gXkMnvbzEIg#YF!5-9FLP0uR*W znHy-rdu@4q&pE`l>zeG@e+R+;<%#~WMF1W`;D=(KU-wp!LKmnDB1On_)IiK==QUNk zar?s0|IXLuJ1Fn58$F}`{>YMKxHxfd9mUtBg7ib8+4x*XOzQ8S|NX1xJh(LXxs>VZ ze=p9^19UsSFoifB=Hu{Qf>*j&i&{8~<$@pSdPN#~uy9-L6~o@e83 zYc}cGyESwh^R+w2AH0=+p{m7k)cgCk$5Ph}E(?r^4b}O`cNN|FXYI@qy56REpueKh zuhkZ+PgjG?&>AwPk4dXk9{(jGXti~{t?xxE&DU%xE-&u&h1SPsO6I;y{f)@m80{O1 z{pax~w5V~b(_3HP?^5ZB9(}rR*YTdSn%lD;9X>4jBx6iqyO`J6`P`64vRbFEO)&Lr z+od(D)?;>0Gh{c1_Bh)8y?Z6bEx~*%7nY*B;cVySo-FXaFMA_!}u$&*TETE8&oZ_0NKc~XV0OVH*bRNpQM@h z{#<|&J_piv3mC&p0Fi|7@Lk!1@bIBVF{`>7P*u4|mxu!xf4}uHVc|BgV4ehGFWp!7 zif0A=Wb8~%8}Bw&cCgV~e|@(%+cYztY;(jp?@il2w^YruD@j?mu${z6i;GpqX$2el z9MA5=$FA*-iBCS>f{2=>{uiK{8}wZgp%>}+J5IZbfvTm%)22qk2x{mwkzYj-|E001({tKah3Rey#^Ja=(fG&c|<0y^dt$mTCp?e*^g_CTs+bSGaiF;VmeA95;W zv$>N?$2hg7!hhtQUt&AW{>}#i1+A?An3q4=z$vY(GT6Q&lcRDO@!t@nCbq#HSNbmE z#{PQ~%fo+d2JYEloyqUkOIADt$mC_8!@*n0Q-Y#dG#ISBx~@(IWlw_e%LIb4Uwuo4 zg^@eRe#M|yhBVj+-;N8g;1ac%X(>0whF6Nt_Rki$_)x?=Ck#Yg47vsX@dgT>r`Jq- zqN0<2!$rl=z!;vhloY9I?y*&n#*{PWAtJ@L}fTYQ>pQ;B<^Jvos#SXkfqdJYtqv{p$ z;iFiS9*y1ePXT^x4kCH*irU_y9lt`DU>K|bnH|#&H!DZHl7NGDnPgt=kvBhr zGQ!9hyr*qagv7-!2`JmP?z@uzp>$nXGj~`+%BA)l@y(0%!1Z1G<4q-;msCMQqavN%nkLTFC?(oU64&4%)#_$*) zLP5ih{vW!vj5?CmCu7F@CqtvF{ie>AZER9mEWE`(%}2$gI2tL+S4nU^5k z=jt=eiVZv*J-*n&wb%B?qfIya97-2?NQb28Man-|8(bM7F#H)O&FV6DIPhGg!ZFtS ze)9}0BQb{O8Y9(A9s^PN1MsP6SrhZ5%u&o(>lkLiCpcSGkP2TbE@ zO=kGL2+ZhN8>@Tnp5uHl^Rz9e01!sU+}!-3o^h7;p4qFVglbyq6v+u!d!T0(c@=ykc!YqsF3o;^es8kg9r zaVg+>Pzve65Va$+p0f)nZ&P(f9@!>0LfjsxyMc3-Fi@T z^``}VlLf=sl}{(tUbo|oZZ7fqvz4$IEWL7wQLqXciI3h-T&X{Is_=C1QHT7a$tq&| ziwdQ*bP~LWCGw{(mv0}Fh&-qDU}o2TvD>$cy0apStS%`^F?lZI9wh z@>m~ygJ~O6cr#ZmdelO@EYfrJYy@l%tyUwXqlpQ`Qd!@{B2Kr>`P*%G38M7dvO-h_ zI%F~4FlPLg4e37b@Cc{V@3r_huQc`PQ?9wDrq91arXpQy{_9U(9+rKM$P&RDWTtNG8)$=J!cv zmFF9qSG z`sMiR8&Bi%1oeVeU)W}RjJM(fVvw2xcbkRK%dOUa2KC`#y%SO+?}+zaXrZ=(v$ckMYsFj*sx82&-mqnFYG;Lx?n$13 zx@wfOq!TE=VeALb@du3WQge2=SfbinRg{&TJttqPUjzC%a!!dR<+>+*zIRN;?Djra zStYhjM^nRUpxWTw!qJ@)`j@bc(F^BV6D6>?|H8HKUoHcBF_hm2JZ$yH3z~jg0?VtZ zbZ{9!EY;J5YD4NwAJFYn0r#`8{L;gNPNj5+>E;xd5lvVehi{ce>o#7;qi#D(*)*H= zX8Dcx`(fSHUTOcRDy=5uJs$`OLL;!z=kU&$hMY>#I_8=D^t!4q+_Z=S3Rc0c4?o?< z(kEnNMYrjvu{EDXb?oao;&B?KD@;l!UG8T`GXHuQzqj)L{p$Huh)dJ4!YzTn zj(d6v^T}ItI}to?gVaugADhR(yJ8rvm{hdawU&;nPrJd`WfDZ+D&+im^zi0YZrNa# z)VA(Arw-*ZX-{jovoSej-fYdSBCjzZ;{E2WK)F^V>udAm1{C~T~br__c!{_uQZ>5ymXp1 zzmURjPYBn=AKQ0t{XeX|cUaTgwgtLX6h#FaA{~?>ARs6r9SbU5YUrRe=}ibN1Q0}} z3IZx!=~Zgz5l|42A{_!mqz6bS385uX=L-hUA_{K{Nw%{k_nWAL2f z;1B^kz&PNct_oC;g+FrKbX5dw97ns2ENV(moje5U65)a}&Q$yP<&n~s(wAk?K+hW% zvYx@3AkTHUT9xbI4%K4t^-6(Xy*Q&UWD4q$B<}lZ*`%(y(030gox#5s>SYX21n_JG_2mi=MBqWL^10!~_o)Q8jp1(<>)G=W}#5Ri?TKavJ0H%C$Oj!=$jRpE1lK&f)+|lW<_yTa7}6+XFZ_?? z={2dE*cYKpBY~Hw7J8F!pngxoFcYeTLkmySLVti83Q5ctcwGOIw?a{@9a39$&V>{> z(+x2|-^P6PDD(4YRaVs)aQctg_HRMSz(zzNM^+iTf6yv|V|F4j9U$qzaux;)1|x=@ zU{!j`T?z$+A*v4xJ_FE@lN`~Fro#eTd|2{!u}gC?JuNnw=cDxCruQR= zU^->)gK4bH^#L!_#iI2R=~+=-1G7|OVq20H}2Lm^Jh_A7= z9Lu5p)|dx_w8(yh8~La7C`AeWUlm&CsD;+7vODK~ycMRWeMJXx-+8`p4fvLI0OwQc z69!cc@T8l_W{?Bq!tZG=3^^F~bM@3sp<{Yj;|l2)-GljLwq8!KDW4OCXvsukjm$;( z_!eqCGPLT7`*5SjYJE03DDC*t=tWqGE(C_W3%}G>%2h;$WHvF-^zCJ79oeCc7ZR(Uh=nC#UJh=0|x#VDm zJF>dotF=!^Ghz8eLSVo>{c`xi3bS_6l;@ZeW`m)9Qy~EZuD9)@=z}HfCc0eJHh?EQ zd+g9|H%YI-anPu5`p3Mf7fF_MXWOp@C$a*m&FCPRE0gIWof2Osyy22DbMej+eYvrp zMEv{R>9>OisN6JH?IZhWTs2iuv0MXaIqviUekd%sy87ljIlro6+st0zP$pnpRVe=y ztmiUda|G&`Bx)U#?7tYAC8`p%;vqqcN1IgWxQ9I-b>8~^@`+DY4 zki{xUpqS9G2a@9hSduyaN_qbs_62@crUF7-zg>JEI#H|wi4`%W9(YnwVcPk(M6oyT=OyHSr?r_Shj+^Q?ozID7g9trWxbhcdKb*RqdP@9h+cs)FK{_}q3N`L@gd@k@SmM&4+yPArbmu;CJk?yp8bG|6XC&> zSx&XI`L&le$awbW+I41n*SxCoRdJ7vz~~y|JVc(d-86Atl+=~fWR^4VDy}SXEP>u+ z6dZQoyTkw8%f7)x-P3#HTM#>|)vq|%#HNRt5_&?LrL|nq!v$~s=V+ALjmw8}m@3?9rUurHoyU&{+fXg@j`b*w5d zU~!Ye|JC?pAELs+-$D7MLdJhHdzZ`w&Ru?4rN3>)pZP#^6Gd-ZS!G^-(yItuKt)fV zKE23sft}sycwd^F-;gC591qH%XP-sIML9UIrD#>gAu5L8aAzSsPB6c zwl^A{rC>xRG`t6*?Q(92W%OoZk7RGXrDhGedpGm$cE`PM^517yE&}8sfymj=zvTV; zt7`kDvyEpeKQz{dZDcDZMm)6!XdD6)r^PP#B!0)%XO_vZ7LL-+=w^J~<=jz&_h${dC;xER{k=u?6A4V1D9D|e8kavWnu`{Ee@_rYys-)d zv{Y;F%0oZ**$PVk=SK{JGmw`0(k!0rL-j}H!B3iq->ZN9VK*gpFd>^J?H>a9UvD}_ z3;bW^`01N}UfXX$1sZ{YWIf`8>U76bpjC9!>dGP8_6PsXx9ved1C;_vlO_JuX`E36 z-!HYA;jX#}@CH*18y0ZZ`gw)Hc!nFl{LW{mO{pycC z`Ty(_|5b=6-lNhwbfc#Cu;yqES_AODn$9_3m!2km2u zIc$Ag^3R1sUCj&gpTjzYvxGob)%0STjK$(LM)p4+#a}n^@0Q2sXJ8>QT>V=Ef`)3B z_S4VCtl+P{T={1i-e(Q}m(E#B`Rehvq}MD*rzN9n6j`e)@6=(VLCjQr&|JxrGT|p(m5Hz`G4N+?@xg1CiPvmdHfRGe?tDh^99bBx+nj}z3^F18!WQCd(GEArAF-UIe)vR ze_gew*g!$>Y+A}Ket&7mgNr5}cqt;K5qRq9PY!{EpmNa)OKA4ZNGk#;UVZ-+SZsq2ypIgU{rJaMyZ;x#RQ8aoEPwHtzn=GJ>P{%n^@A61(}L;8FMSnv zO|a*YJ+##RWdE`JL)ccIb#-Lr)iGfqQ$|-+1b8 z`)~ZXbCCVXlDO_?_r{!m0U&(aec94|^RAjJ`Wz%WFitUPOfS>8)3?^s9IyPYdKGHg zBM=%UjY#l~@9?fq`Iyt);b1PhR-MLvl&1W1gQR3!ZF~pDc*~~+$Yi@AivL-$yBZ8@ zr@0*bYmNPmwc*eoPnLtds!$)uJs>M6sztYdUUT`Qi!0m?=FsWN~D|yPflib)j>Jk-0P@P-yy?VYF z>5)EQ@AYxE4@$1l4oHz1?3*(=))fcYQINT{9x{(usg1cHYTk&?^^nBey6lP;?#j9| z{eGvzQX?&HDz34gkgV1zoWm!DDyxYDnveM|t3>U5{ zHn+40uY@y+CLE%rHyF#^5>Y%l1}(t*K7N-P1K(Z4_k>SE%q(W+!+F0SjV^F%!&r+` zK9(M+%T2z}3o*+o&a)R&xyDC~Y;4HjF;}aokkRh|qIWF{+qWe1B5g(3E^0 z6l9W<>$23txmc%z5D0Jnj zb31xRSezE>_=e#*;lv0d2`G-!Ek|?Obkq~gSD)NhL|;e6{im zzZo7SXP$bs{cHlteS8B7jVb$j(aEVW-6bO1tf3g4>><5H6xNz51Ri>gw^poZW93=Nv{i&m>|pG9kj9 zj!XDDe{W-yY73rmC(K_yDysOPLG631?880Z7u=TPPkrkEz)y8rp?pqGV52my?;U67 zhdf+$0}T}^ald=%01V`Pzrw$(dxP`=7ax}L4;yhHu<uEEX)ldOy08TKyY6_V7*Uq?o7XfVGI;#u*khAkC?_ygA_WTuGNx1!SotCIo5i z^oLr?5z%p$yIvjHv&XH%#flL{{*krX4QsQ?x)`&eJ$!tT->h#}CXAAyU2nqMo>UU} zB}G~!>|<4j3mPWSwu!~x$n0$VH7lsHvNXm_oK#bRH0rOxzQ0d*lC4J z@Dyp=>Wg_d@1axD6uX2*s?XKb%3kfe((&%>kM&*RwWkxMr^*#nyoybyMyv$D0N_O` zOi|O)d}Spnequ>qd2iI9jW4ZZkj0FD_(p?Sao%9>=J?<(FbDJc5Nf!y3Z1C(Jt+5S z+h1G=(J}9YIdc=oCTB>&aD;%gESnyhTMbB11 z0A)=mHuk9&Iw|Ki`F3cQMrTr%{j>8`X>GTaR69oF#H!LZkdkEXB>g>}M3F2X>2W8& zm+SF>?4D$@>10Iy2!N=*ERxC%8bJW-dq1+%D=2#-Z1mt2lOWgY!|Tfazm!Jdvih6% z(%vAWQ)2G$Yxp$`zTyp6iSJVqh836S=-KOC&O$YskaJ8Ps0@MTIj0Q6x34qj+W1Ol zC276l9aOAD($n~_Bd#NdwqSN9mTTXFwF@l*j&-qLYx%)N&j;@Z)T(>yKSD z-Td(`_E=SCXM;QW@dDggboU>;4&LUGl2Gsd!vAe?>+WbhCAV+__ApjkJB5K@Ao^Cc z4u=yf+t}vcm5^nAQI3IB`aV4~6aO7wf1pBsk!m38Yt2>^VzV zx-JKkONX09DXF`=Bg#_l>k&mswVNp80Y*ZD5X)=yX2gI25;r2c^ugb+Meosc&A@eR zgVE?2?e+^fZ`?%ZMNQs3ncl|91gIo9N5tM`KtrIz`Hj(-U9*qlvugt`sfSvLPlkWM ztu`7zx{G7$>stDpE~Tf5oM!*~?)&$0hq~)F9^K#cr0)IR;!&9oB**fq0$ViLV(KTL z06-s*YXy5VEB7p{ zZ=Nza#)-X4~d1%9Y~mD zSLvveq12||CcE9p<_*MdSF0Q=q%+g@h>HCymq#OtvT2A!te7T_Xj^f5l|!LAylp!9 z&;nMvJHR8P&|DlnA%bvvClyR+1HHY8LsEHZPZBHa!L^tXsc?zp8=> z#>m$?z_gr{R7UxKNpZaO7t`X4T5$0nmXx^>4ybz5>zs}~Msl2$c{ses1gmkB7NadE zqXFkA+1-1x)B{x)_5d~cj2C|QQJW3IT0(2K|26SjhUt*Qbr}VTMScNGHF_=M+vCjb zOj-}VFJ0fw#Z8HN@U%V0Q_~HO zasF(mhIm?8N`_cX&PUZmQFGtx6UT0f&|16Qu>mQGiyimyaM8u>b??;i$CJTy4#-Wy zndqQd?i8bTbwd8T2@;u2-Y%f_kyG2PYiD~QkMLnKi1QL++zrAKE3y7t(}ISUG#J>Z zv}BQRL$S+cpB7mPNvzGV{!yZT>A-G?0HZzUcxjf2dEKiuQ^;xGo+O3gv5(d;l&3F; zx>Z}o1!hT?8nL|Q4fLx?$?LJ$;ZgLY*wbH#Gk)D9W29~j`D54$d>+2z5%%3+EfJv_ zlc$M~UzJT1W?+rGo0_`wQFc75a@<0VyjqbW4K?FPxjEeLjJg{FzAV9cc#tr1f8`+@ zE{T;B#Ig3EQ8Taid^W!ILo4GPB0nK>)FTPA>qx5~z7)Rkyfpx0XlJqiRipiVNzk17 z1aL2e@5B9q^yp)da~W=|-i}mU3_Ng%=ldhxpT9Gtl8KCbLVEc;z*er8i2!EuJHTA? z(FKRspU(wL(Xd|#`WzYjd;Qpi$mRN^lOlGfBc5_u+?R z##h|!bb@L)`5Fb0-Mh`!Y4#5baulpWD!SB*zL^$1>U?@9c8N@k{0=x4K5u9HrP50d zlCaI66P`u9djICrZi#tHl4pZeX#V=D%r)K*58Ni^iqiFQX{)Y?r_VZreC3uqOAz;n1+VaG40mo#m}?_ z5X#xE>dS+nA%S#s(!uvAswd!^nC^MY_R+)B!O;tND?|KAK!*z zcv@8)A&wcge%evodYh5Gx zobUuQwVN(}8nsOspIkbnwOmA3E0hv03lkfjOqk~y2pD@$$hM|2;?q*r!p{ktPRb5! z`t0?ZP5a<(bkt-%UU{xveV4hDER1Av(YUH_07Xb0!Lt(!7;({eo#JUM%R+o7yXQ?L zp!rS*U;0GU1(Ly$)Be^FiJAAs;+1{!<~`@Qt9l}6@Pj>H^DM(=@oSf=+OJ}qj(_dc zi)B$adP(<9#`!EqE%4|Vof_fkJ^+*8wki^H`#EMaycAF9Iy6u-M8X+cj@S2X%{kkY zvrRTAO|oL7M{WL~P}Qahe)&qiL|f$&bB%IWbx~z7OQpf)%zOS4Y#hkIS}(XTJxp74 zY645~JS)GZ`X)*JbkqUTmrN@utHOr?%L9f|_It-A^#?^=Lf$0}f*R@0vJj$RZ~zB~ zCa6AaFnaf^uT)w1cnO_0(@})xZw5@B4`Ovp;G+4@8V#y6ex2=y%g-GXFAr`6iRMIk znT$Io;tQ`yOzi8!Spl=|+Eq`uH=b5$R*uyf5hfv`a<5kYT?r5bW+pCJEqsKpSPLl3*zV(ZgWZokXA4z%0YrQ)6-M0R4`U_oAV-uAN z!-ZA&gF8@Gp-HHR!I~NSSr6&%^K6>xs&Oh=uavvidG*RCAO8Vpc(&d4I)Wc$J;;U( z&ktxm+MV_yJn>8@-Gz+Z;182GK}VAFaedIw{`-E)P5ztclNhrB(n`3L04+tz={UAv zUT4(xYR{}dy7|Z|WyJeZ;B?Z-0STu`=)es#vuT+O{lOBg;*d-4zVBE!05S8rtS(~^ z?6}S(ruxV>`G3I7xN@j{kUY(V-M?IdHS?sbY`<0NRv=Uyitw1mRTcUQeWBKy{t$Bj4c>GXYHC#cpSpWz%Kn} z%I)S=Z-_tAD9!Y0fF#a;&)ROZvV>0$xp7{@2epzvdiYX!NBS@yD)@Wq!JY0V`^vKI z>RTyS3SyXqbZ({YE%SF~{-!x)4?REvEa+|gqMtQoNP*xz<)U9 z|8%zATD0Vh>k^{aF52oJB>8`L>*{e+B@Ypye=s>cAlV8id^Mz&0j3c>?VyPEi4EJ) z2-xT@7b)ng8}m+Gm=Z}xI!vg%13a_SJnH?!BP*}P+)3=j#huU)Z)VHF4=&EwgF7B* zn8yF~{y&u*kze_mkudlR24*IH`h~tfY1I{6VzpL5yrLjECouymGloW~!80*v2etIK zTbZPJ1A-@@Qw&k~NL9~=&pXD;PHo0eddwR|F==BQ0k#RcMd)#Tee|?e%F;;397Q)* zOOt~#!f{T&$F?2MfM2sguI?SSUhp$F<~u~Cmb_c*n6_bxP6MYWjya?>K4+l2d}s%SQ-v(UTD`SwMXDY~D!KRNCF3);RU{g;BUYn7v6+z3ga15&d4l zDay0fo?u^@Akie>s?*!ep2N8xDKFkXZ28Bgf(3wQTnOp=e}C!=I61G8R|j4Zfll4J z^yk0vcPq`QZSMQg9JM{bs!~wKYXm~%NiVTGsC~5c)Kf)g+2co=#6RUW&E@IKab9zX zKmA*UrpkNqodbyvYs$47Zm`ebBH`acH|DR@*bz0)3by9Xs1%yrr5>7T zUR_?p^Cd+r$uSKCY-;c%0`GTMn%-ZV6B*F%uLVnyoDXcIJKE?C@jwV|DQq?&w0{^7 zCdbFOLzrH~B+ip~xobR7wRvmu7rYYL#%e}ozk>wKRo_L(I}f6&%Bgn@zu_ho^utx+ z2tI{Bnyhx}x8D?hQ@(pk*XL%*W1KfuV@+R_VF0UsW4WsFXq@?L7kIqox8X(QZ1!l3rxr zhF?e)+$aiDm*V}?+vMtDJbQ`ECF@ENGA}3n72Cp0%4WKA?fm8)vGop!!cuKcGvEY6 zhL@Ha6wo=(2J$W7r`o;k|>zl+{IC+ zkckE-Pr-!qgrS3kxub0>M$^KFL^oG*le$^YnsSi0SfgEDxTbzCb<}yIM)rx6Pu*_^ z{A?bL4uN6t%*$kx&O+;d*GOUr$_zHq>2deT@t0`Lo=nOb!y z!dhx`pAGGNFFtv#r@Al}%hsz2K(YB+$s1vx{GZQu@t064^bji(_4<7BgPOx#!5}~H zX&qc||K|67BB5t!Vn;Q)&1}Gl%1qX^7DCMd~L{L%2ul$_#P5}?v8 zg{$TCRw}VC`dOZxSn6^~Y|n-j3$-gyYsZH<`B+JZS>Np+23_*kl6+fkmA>etM3%HN zi_Q8;`C`^_&mtmZy5Cx9O}=$}8ezm!SXm-Rh{Q^$b z-^47{DJ^EkTX?dgyT{G^y8tt3R&$bmtrkbY)*7i~@sdR-@v(f<4`GU`UTI zk`>kR0q~{c0b9?g_B0@vTGgI$d zFy&!RDoz4+sF$XXj6xm^$*|Ey2~Fl?XI>C$AAUOGSF^y@3;*G5dVTt)maUF!V$g{Iuz@Rq`jxfk^yi)bjJyd`D=;L6dn@-gMxrUYJ|aU60Wz=QQ8 z--Er~st7*B(>VE$tx0uv4^tp889n#Vkdd)**zl!S=a>klR}l&UZv{3c;Z23LB;7XM zJoI;K^MU6Ic&lTHDN>o-vYNSX1Wg`voO>B_`*5=`bZ~d)UaSIc*453V`7rbP6kBHi zG~VLaLV=4{>FvXrZ`{xT&NR5asHeh|$htK4jL0dxr5=DP?V0tG0jLbIqFl3Ax%w@S zi+{NqS>CHTtEA+lr7v30{xH--##L6owaZwfbbeXEVNTv$p8e3Tc7Z(cpDFLm7+8I5 zW$a8U>#-X%Guvm_S#y^1VNTg7itw&CQf;UZ~sxNhw5VBDG4hn;p0t=*$ZJo{t6EAg+N_S(RvN@+v>HZK2X z8#X2mv_fdHcF)7YRDl4SrSI1@<1H=irI3lwiQUS0q68S?HrH|6jDvBEv8dd zL^r=%RQVK|eht=QcoX!Nzn;9&0~oV0kF5otgoq&|@zvTj*qN-WHba5}CVk{xox@pr z7GwR{w^szmotPKutdRnaoWIV8ZL7;^!=dMT$<&&3YwJ- zis}IWq9@Jop;w_97KHzs%jSk;TsW^UdM69rxhz>Y52bfn>JB(}UOj~i(5|hdF821c ziEkm}3xw0n3zUqR@faRh9%usa#-){NX7__|wzQ!LhN`~#A&haNv9rqqHw5sLdB$mB z_DGesAWfEnMuiVaIT0LJWQL1B4W^_KFo(;nv2~luN4s~?ewkrxQDc~4x*cxrnpvCa zJRgqp^w5d~2C{lhx&TVnO^Klr8FY`Ml`cy83`_@yWtR zX6QVR`Pm;YJsLKl0Rb*O#@tIpwko!`lmjrrZh1+IvFa73SdCeNp9{5)#F!D)-|{lW z$x$SOu?rcivvDMUvd`Mp5U1Gi_sh-uiQ~V9A=jx3;3N-nvpV-z@fTD;6(kyx4FN`E z4**?V_*tDXGZIKCYF8}Grh|dc_i9Nu)WLN5m9{(}<;)bTCP8C-R9Z(e=_{=zv%yb` zji)9)<35Zl5#P3CQjM7XXWl67=>FJ+c5XE#LI^il!5FDfToE-j$N!p{@M`bPF={d|n!#0XFD-f(mdt{vLSwOEnP8$C zKU)Gck+!{>FMtEmd%d4C3o!kChh^^6c2G&jri^Tdc0lj8Rd9EcoDg*{Yx?ulJw~4#=i$NI*8R^iUh%eNP ztGaV6NJ6ci`ocQnJ{MF;-?#4?Ryvh@-}d~NnQdCOd`;+Z%SK1$qlT{hs%!tn4O37v{9PSSMpX}LWcJ_UnemWuj6 zY0kfV@7VPJJwW6_fLN*uX=gLAXR0O48svaGA)w`v;5<>gxI;ak0eij{Yw*xA9!Muh zI)MrLf&4vtRW-FYU@pS=9c4|OYXme;CI;gdL#-_)zzJRSwT_pEI6L^B%IeSU_7p$7 z{>O;VjeEWYZwfT1f$m;Rg+0yc)5>+Mj2b7I_#EvyI^3LJqZ6q&1}}ZefZr%RL3Ww72Pb4nZ|Y>o2~SqQHc#jv zykA5mfl7!;wJosGgUgh2%Z2+Iz`4FGyc5cLkmv3@B8hVl^=aN{U)2ogb;9y}ITvw7 z5aaaQ9L?EskG{jx$g>*kiCfolW}1EcVk#aNJ&zT=*tcxsXM9)j;EqIOAUO_Q}wsO>}KEG9>Am1b<;kQx@1n z+^WdeGra8)He%v`QbnfZv;5Yx5~ZTcoG(_of=p-M!y%2De{f(nK8X@>JcFGHpYWQ> z>TwGr*bTzMk@t$-dikb9J(Yo$hDCUP+^u&{yKw zTl04&t4vzE1Dujn!dfLNkvZhjwPWIAM<>!=YCc{3fSq2swMoIbZhf)y@x?@okl0wA z3yt+SFyls&B>X)6yV7PdRA=Q|cObcRgd@fsI(0q4$7v?6fnb&-Jy?CvP z#zQAgBpH3h0=uy(H9KGVAs}I7ztH$!pAKFEY_O|Q5&H zq1fc_!0t9}^}R#!YvAj&=zH&YTNHa7Cmhew-M%m)MX0toe#^Y8=RoIY`4sAIwLOuj z2=g@}M?rp{%Chw9?J;p0Uz2S*)eB!kRce276@!i1e|YwOHDpaqkQS`Qz#U_jluFeYxou-=u>Dt6p^podP-P`&dwNI z4^ylCX6Fs18dDfK+jr3FL5{u+R9O_j+q&~waV+*MXSoFvuH?5&%>@whf`2iv#GThQ zP-qb5fr!`vxZ--A{w@0pamPE(3D1bv+>R{WSatL9*?gQhwSK|n=(xbsX|Qb*XwBH;QwJZ1_6Cqa=hDo;ePAZkUI8o z{2}{uHsBLjob|`tTMCudv3VP0NagI`qR&2Fq)lKjeb&`4HL~YkqJM^IH<|&8X$-eK zYDBm&QQ2ss2H1C_Pn-sd3-Eqk!IMazS&G%pNZV6W#$fLB5TJP{@VBgtRvXDP+c7+Bt0nOTaJSyZ+0E%OHT+YNfRoiJ~YF-(X6KF2`YO{UiG zM!cb_34>jur+aa(=(Bx|l#e^f$nWoXj?4S$fH6st7?7m+lkalE6sc*m^qO(Wtu@2e zp4%dqc#5km=okJh{u+rr=Skc`Rm(p-=WoL;2|FTP_DeSAhjw-X;m0L9;$s3NB^U{d z)#~I??}BGyQlHVn&<8InsyA7*h9Q|20i9C}@V!Ws9$qikB(xJGhyEXA_kKtwOeYI5 zjQggHkAHgZ9I&#)TSl;`C@!ED=3ALKo;kdfDrdQN$zx`pDyUz%AUKuarRMi*s!Wt& z*zb*9w@7=rX_qSV81c9y3koVj^Y%YZ5po$*p$H*K{{7zMHx+7cGAHTx=|K*^%U6Yk z)%n!R!j`}gw}LM|_lm(Mt|ez4+9)KA78u!p|tP~V?%^lGaY@vP%#O12%BydJV1I3U@9i0j#7Y5{Cr z&8u~9OZv;uyvg!0AAplhpiOU0K%W?JGzftaqe`QSO10}FHC~}=V35lEPCA{iG%+E2 zrOx=ds=D&)#gY?o8@8IpW6vso)xX*Ud54owi(hRT=zYvKa6=a+8js*{cEh^Tl9geo zFqVRdHkN`&+Q)u*=KSnln(B2t)a0T6Q@0EK0)VzsZPZlODk5uk_47Q`?HXi09)NiS z`nfpsu_q0P7qrdBCJG?AD-o_iys>@0cK^a zr~ZX`wOg$uPTUNOR?cTFAS5Nd|8m-|duLCYnJE6bn%~23b}7wzx9LK;{k9`|!Kela zJ3f(+a)3lDeIf27%LqTKf7vS3u*RvR@jU$a^c$bG&bapjrH9ZdyiBp$d+dCuT`=fv zG{EEPQ5NZQ0C-)+nZrqgh3or_;(yJFX|e#dE#2SIk$K#6`<|%4#vLC$ z1;ku7cKU0b5smD1g`e9DS>%)KUHuC^fJ~uVwO9LK_*sps({}9oWAk0PZu4@zMzhKv z)54L}AB(7m1&#=;U-eTVLiI_g&T^*C?v}PL`)qkmtYcw_`EcVIayqfGtY|rHGCisZ zgAXQsJ{ved=tIbq2H=AEbXjefQF=G%{@?&O7E1~er# zaKz2}?$i^qvWf*G3*r-BLo51MCR?8->t@h{Od|lbGdR-}wTXJSq zElJd`WFu1spPR0K?eiql$E}d4v`R314wb@DX+F&%$3#~CQIVjD>df~x_5AR@RNl}3 zVI+2T1G`yjt!}luxf1)huo>eN9ue^dFb$W|lQDo&d)}}?+Oojm43M*2p)`WDV;3Ga z3Z+R1s-(Z6S&6AODw4h8B7btNE&7`Eq@O4lwZ6svv3cQmPQCCkH`^<9R2`5WHS-MA z0Os@md;FE_z0vj_z@Jr(jPggnZZZR`wGy*Ef|I051MQ5(XOyYA6u@EkrTj3}Y~xcb z-%kQm9V#puP^V9KUc?5K)jZUL{-JiJC&hDk5LXp(1kd^V$myq&)q2~0mTjxM@WhR< zkeLKAbCO`_tAv5wgdXyj&541Nl=H=R6)D+f4Bwm>qTCzL8BdrhQsOypEaGB}gvp^Y z?>j(4D{*?z_=wrtjj-8yea{XMUeeJU8!wG0N&cH~VxFlPqD;?0`CW&E6{!!`u&E^r;TfQjg;{_^7b+~?vb^(wA#pFioD#_*4LNrQwulu z^%-U52M>Cmg@lELV<0&i?ChIYq22GU-PcHychV>A@TB9IAhlrNmL>&z(zJ;l;Q9&| zRM?SgPeKMpunuSeNYheELod0dj>@Q> z`ef#Q)4l+UDr`wk;HG$0eF#pp$MXS@6!Jk=pI{dp~UWjI-J+VAeZm0 zZO9irgS}Yi(G$OgAR{DKFblMs3tf^#m<~t3b`ECzoV-gH%Y7mF|^VqIjH!xK&TDS-`;(QG-@y}`sLzmfAI6dqC$Hp&o0el!q6eY=ApKg z_V$g5R0WVgs`-_r341$lLQ}7}In~69*Fya|VFisK4}{Enq_Sm<-M}db;{1u>JW?>u zK?#M?X}+Yv>9p=Rcz3Oa0ZVW3yQlU>swXW`1FXz8gK`5zy7_^_mgxtFgaLZnAy;pmU50?l8DPVYa?@GvCQb} z#5n!(2-n%PWe0uXG{L}$*`OR@r~D6-zs1O0S3?xEvqV|Gml>Fe$huY($C}LVo7*Tj z5CEu7GdK1I@+sZ$ayj+&hiztgfdK$t?GPq$XeC;VjvvMk(!9M@qEUs{LBG@a5f%{x z4?tmd?A;@BgzLcY`d%tlXz})k)6LNmsakK{8cvJEo$XGO6Q;qhXnq$gj}P{e z>dk2Kk?;>Qt=;-qy0cwqKD1Qp>-QPdhr)4Z2fADMHBfx~=dNNKK*wK1VS4U2D*2;e zrC?XaL;hA2YZH7LQu;=Oh5PHpLWMhmY$aHfn|6o~2Vqh6<*&!?ubkGK6l{BxtJma2 z&1L(_F4jxWMW@itJmZAqeL!{jFv13vNkuoAp_4}!`BmS2cwO~d&2&?$evjnt32d+S zm_)8KfW|RKnklL=7Y}c|6o(?Lp^E0FEhB!?suGqTLN?APx;AZ*`NK;;H=GmF?G>N; ztfOeIuCcXTY9`X7s2+9GsXj$f{kB$|7#-8Md2y*J74WbrqW-^L@+Z5PCtNYSc$QDi z)h_3sN}hj~S2ghRrCTtTuE|>-uhG#jT4yVB^LU|p_76lB@Z@wPQ zvFA#{ivN){K;$@dy}C3G53>mtPEVN({6loW-LYiJ9)TILpj!ZE{tc{O{dGq_V_$^R zXquU#0;qJ|-9Nfhgwm8(mg*ID7l5Pi-cOP4urUl!=t~4`AdkA9#MVFCJ$-uWzr44A zGE1q~CDpo|j#?%3w`4@xTE*@waR1O>gizF#vy1~uwLm;+bJuLo08>??$JpR3(5~!m zf%2t_sbLcV((T!|gk!sG%E@MJsBCT?5q9tZ4D$BaGrtFm7f%<JS+Q1sw8QaTZHDQu7q_#OC{3F z<8VZU1V~%&jsFvZ;fd6YKhIYa?rJ~4O-Tc1qVNGy@CQbf6v+Y<(lcacex z@uFNam0c->Ot~n8+#WwKzBwRP<}Ki3)eQNdKLADKrT?TV{`KVseQ0h?t@=)b*JK+N z1!VO}>xER!Mm|u9_N};_T;>9@U`1; ztHyJUyU74M9~WEZwe$2-=oA4jW-xDJf()WtA7;K#zq-G5S0YCOpx*Bzrbo=xpW6ACI|LFs6FK6Aks|KPEcn^paqd2(lg?sq zbvDWm2#<J1EO7Tu7aX_0b{b{ozO#y3PV?k4Gqx){GxKp16@ z+p+GfAOBltA0Cs&%mT80S8(w9nnd3Li=s0C;$_wdXxpw>T zOcpt1+&4dd2K|l_&L%#oz51gCx_D=v+-TS+LH0rM$qk{-2SZ>3#`LK-__$~u>$rG& ze?UdH(owK!Na_0#Yn#uu3lJ}M=zY@Gx%#p-7^#Rrw9D~_(*phMVU||2Lvm#{!?!-B zX1_1@+y$0gS+@@_!C85EdE42cFkO$vE+N`)@VZa(H}kBBOQIMQjSyZKBsDhA0T={FI(9k+Tgs z%5)~-({sJ^N;HQK9zLymMTzE1s1n_;;!53uDlBO<-(v99P_1rZZh9_PF>kQ;sl&HU zjY6zXI^5n2Id%I%vrG3^KX(^wL;JW@+4nBLR9c*rZMVPeoaZ_ZdF@?|sqd!bBp&uU zjwBR`mPw?j_-rh}~$XKDFi(;T3n3-SMBDN6XzR z&&|y1VLFOT(o{?ph1oJW-YnS5D)!~KjB1;h@X*31scqV;1dBVuCeHDi%%>TJZHXM0 z*=q^0b1Txyo9>DMdziEBU1~+{B+TVg=tYw@NwW&^09zo%qMEwqcZu+s19-4| z#-{jYN^3Ablo&MrtY=YU*_nOMLQ17W;a}4 zx>oLC)aSl#rPFs>DpqSd%xaL8gkmMUmwXlf;?u)RCZbWbVUh2Z?_cYLu{I$57;ex# zwVU|9b>!K-55cSUIt*DnwsRd*5svq}ULBm7#N>++Rzr;Z2%m3foX+gI%AvNk*sG<* zaCxgPuT5kO@gmLxRTX0}ZL8v>+=>t_ycQ58=m(3sIJm`0h*6=PeqVQi;Y!7|Az{@2 z)83bdL*2f8r;@Z#O0t(Vd)y(rC~NkutVxm>lYI-RaA)7fkUcvg>sW^(LLp)7Lv~{w z%h-nJn(jO5SHHLS|L5`7%yF3Sa$e_ko%`qGvOX5NbfI?W?5OkKOGU#A=cpNG)?H`l z(ArFaHFYz{5SnYd%rPQ`ZJD?G$pCX71;y8$1EkP4oHHyYp&&u!8DT4Z;OJqcqZPc|#8KUO2NSy8H20cqj-K@frMaf#d{x6vV#LJ60{1_j zA5DJW=jl*8S2*?aMCHDjfl*vYGT{&++iU$jl^FnSN1NsSI+)NM3ul&BDRj%;rH+G&(x?! z2mlcC?9W?CD`*;_3bv!fY!W+l=JN|G4h=ueI~wdFPN% z4W;&Ci+@IDA9OMUD2i?#p{VZL*-9?@7)8PFzqxSgFqj}82jp(&R&Q%+GWGWMVrvhP zAAXl>`vYkD{sV(g|6X%{v3iWa?CYRjC?-D;08}(*x=I~UUf_k%zb`8M5klqX1n2(G zFWeyj<2xBks@M-7}Rn{R@vy#aAuO;IBtKT69ms`8_6a2$- zFk*K`;U*~olB1i4<5xNSJbd)iY3vS)dx%ES9|1JjfP)h&eOC$KhCeN}Q7kBK)zo?S zMPDuZ_fg+ZJE(_16(Q06Blg2(fG>eQOrdoU;Bgc?D*LB7MrBj{v~PZTpzmw4yQF$pcK(S!E2j4y$cI760`sh3ma;s&KEu_Q^QuUX6GwhD&lkfQbL@ER((i zj5+y7$ML*9L+VDr)~qon2k0{E>n@h4y!c|9LH)aCW&~=5r%#{K`S=F}umT${ARusW zb*2k|4Qh>$_JI-&DJdyst9^VZ06ezper-$tYR*skf?pE;&YOFjQBjv?n7n5<)~j?V zXi)>U`NSKp*dCpsL%m*nPbWeXEHpn_%)WMzcvNSvmWh42Q=@BxuC2V zmG2vSsu=6$#b69JWm?52mYf7caUolNdghw$XwYP3MfL3qowj-*{dQJ1>!xVK`Ko!!UYs z^X1bcd*0HovLo0=BA_`^7vQkiJ@<1agMgFLJt&xz2#2$CaBzgj#$wi~&Yopad3hzw zzD+_8_*8?(paW$Zp6eqd2!4wUYk-EyF7NN}A6HrJnGX6wu;YSM2`g@=g&0nZopMm& zJ08{TPx8-O=w{Qj?+#KP8Y_HWG^iRE4u}GTXCv#VMec6*h6nSEj&YBgyt@s#UJWsU z2-3GZSJs+{p5dM2(Oc!iJ5e9p9Ev>u2g`in5ip}9t@?KC-{mb`4WNV<&>_;GObrln z^_}JiIDmgHNzNeZka_i4=|fFh+k&c%iCE)F_{pg@FdKX9`0?si^L84d$-YdIi)3_H z@2Grs(gcovqs60nkl5`4QsOB<1*g?kglZ*4K${f@ND*c3)8{zYP$vO%6lwCzLZ{NPP z`=TOTUajc0HrpGXn7Cjo127O-x+G71xH$E&k<0!dcgqv)0@{D{cO+9u+H2UAete#b zubUlj({Jnwd3$US*LB%An-9>xXlfgNwNeTSJk!o+&X#2I@Y?@dkuN*~Q98+dpPj|N zTmjvSiHEZ1I809|RtT~}N=Uc5uel)0qn{wzvJ2!0dVFFDe#X=?w=7d>@dn3aZ@>B0H{HXtMWbj zj?;sPSEuPu^O9P;ZxMm$D@?B6r#M5+OYOQ*xTR1rD;~#b5FVaZmTGs+iwk7oO`kE) ze@%0Smv+3eeSO8MN4irmW0C>x!9iUpCi1DQ^@=>2F~oDS7=EOoIvWDF&G+jlqKD}0 zX75O($_8A05fBu$9pMuWbeapXVE>rQ+f0*qH>>%jp8Crl0AeS%<<2`U0tODw+wJrR1fvn4VXnEua$c2mIRjJ ziSq5chF|hYg}d^J&)9qQ(pMh|iBt@!)^@rj#A9%&C}U`p-#GS=4yl!t(2m{oP%;d; zz3cAmJu4_PtqUQwD2XDGGhs7Lz9^}DpHb?fn&+Djr!{dRO^w0XhgX>2$&8N_$kLIM zJwKedaT{w()3^x7IDM!z*}XM%7UA*NLhPlmk>uclXO_3I?H{klh}$I@c2pPji=$K< z3P$a4D{6**Ri!zF6UN5{{(vF*M1|l$-%BpLxwpl<{ejZzS!>5oCnqP{jRpxT0SXt% z$E|T9;8@GqYW2+rRrAu!Oa<*S*e87=G2f(I$~Sp5-(o1I<-ow;FsYg)pV8d4am7ru zSw@g>7KvXRseLSf%%Mz(Y+w8vt0cBIhc3`CuAUSf#hJf{TIGYjSTR2nmS=4XujV98 zs&7adBCp|cI-;+Zg#^x^2DM2`*7A97ad4HoOD5?WdjlcS3jQ65TBraN$qZX$=dZc1 zUiNmwc-$}mBp3|^kEgq`R%q?3==15=RAc8L@c#2e9>Qdzzty9?cxP1soFWqX);5&i zE#pxKpkm$mZ;o{XNz0z#b9-hNSC6&2DDFwydD4T>Cl@-p#`HD2gAwI?aZbcXEVh7bJzLPY9 zwu5sIfOskyqGRk7)*wdg$qfrV!ILVa}w|NS|F&%Kp4&u;af@XR+XeKG$+P1!?Of=DMUdj;OtT4Y1?GEG04UE z@>q@7aRci1w&oVN?6ip8C1!(;!sS$rXP2fsDqUw#T2idmN)&_JQ4>9i-o-^=&H;gyYx`w`($LU%vR zq&X?+0=^V8JbdRxP!J5XUr+ZGq+}xPwUR&7*I!puRdpgO_lN>gndAPVVM^G|V(&K1 zoj$M1*4kWrAZ3%=ka5?Nr#xPqIq<+vXPfX8;wu*^WvJdYR}=&*C3X4fCf?Am9{pse zxy_=*B42V^ceJ#oEz}0j_r;7IYd4;cTIu#MIVncGlJc%@EKVqmoM~(Ya-$0kG=nab*Yp<&n{d$U*H722W!!HzL2qfQQc`00 z9p}9U1eET+QmVnf#q+0>7LVg z{tpg{69Lfz4*M#)4;jh{F!xL@hP9Crwsb!Pu`!VElqroT;06JAMRIcEOuO?r0+^un zU`1E&_!l)IF`p!SRS8XEa9YWj6PC^%txXNU+E0cSL#nIX791-U`l7MD`Y(bZul=@3 zrx=GyRE*;umq>P(EdAsA8j^oO*H z;gZFMXQQMB)Qb;_p+MhEAG$1~CgPf{V1q}|aqu%-=c;`FUaqBvJ*2BHdySs24R*#S zW961>5ZM1ZMyt1;PU^TO*lO?23oLa=x;46^U&Dx{Y)~H1lTadjRzoZfK?@zW_=E3r zz`GfEzxi>r^83k}&THRPG}8azrjL(L;iC~55x12GST5ELFx;R>MV#_C^S(O8VrDSDne8K;VoQ=)yf9eq9p5tC;2$cTnd zqk^@8@-|_KD9;RVkZ3qda>9eTJd&CcpX`XK4X_&Ma@+A_^w-%S)qGVe3~)H>&1>ms zuj+Yst4<)wV_9gY4IhD2l*rJffd+qn<$Jx|g92Y%TB`Gtc7kelU?&#(RT%X?8!ROv zZBreryR_T9Mv9>K=JK9Zm>8#I6XCHBE9b4cQj@D(8U@`ROs5+On0@9P#C2byZAaTK zX5Ne$#andtF9q(41u*WkFZUR869NtrBQ(uK9^aCcy zaZG;A+Q3qaLclqmR8R#h1n`xK_JGof6~DQ924&9z_$vX3zXwAd8Tz2pv1?n%fQkYV zWh>NM)dV%Kf*bFcQ|J!d$T&70HZr+U|F=JcMN7&c14l3`RFqA1dT}`+T>XFl?H^Uc zZqr>i?T2eA5E`D_a)lq40AmO=dunS|R7O5~PTd?FjOkU>Y-X^yTJG5WBUi7*xedEZ68-(! z4g1pi{ioVgAk_%EF1KJKFiI}orwr2bqZO_D~x8tU=U^j`HjOR@CTyl*cJIH(wErQItF8|zpT%oBM zCiQ83zzkh%kRM+9i3YQz*w(hTQR*S6C~WIANy{ZYbMxb;zf4?p5KUb9Yq51$YHO!PWZM|!M>Q~L9u)s zyitC>j$K<1BKg`2ZC@KkwR36IQXe=#ai4$%a3gQ(iwe^_nL)OiZxPPSPS8Q<(6WK$ zDOa{m6GJT?(0xcd!Lp(X@Ag(^jd6XY+t-jTFH*nQs9C^-oS1H)#ij2 zfKi;Z;qcI^7#it_-rR6|;cq#0o}ac|Z3tIX^{7z+&YAG3rVY(<`twOTvCjUFjC5|L zlPq%0lz$&1k03ZE)%0FaCEsmyc(4~|qgJFfgZVG&I9J^B{->?nJn@GjhQ>m#d#D5iYp$V$k)iDo?1&9nar zufjf~)2{*IH*L8I&UxYY^(=dyE|C}^r-0P)2M)-KGwd^G=)|0EO0Ewd8qB|$;i#AWN=jrZ~)FtKenMOf6-XkKp((L6+o zszLy;TW^;9Sk?=;3s**Cf>D`@OdT^F{*{&w_QT@xiX_bh@k>GL3;Elgfsz*%>J`gJ zVdRb`g6U{MRT|-|%REN`V_$BpP&k!Mr9P@B&f$7O4B|Sj#Y$TUphTZ#SvXHl@!alsMBM83p523$AQ04^WdLzQ1i-RewF+wdbwD zf!%3Zd8I~O700gFoekvKbCej*Ub(hl$XJ-I?8@S+RjH=etX2*+Rlf4lUYm{KmQ{G< zt6a3m+_)O*ME4hf3wf!{Ycpsb4sn3=%Opg*_%N^mh}Z|eH(q<2L_Gz(wpC{?<{YU=g-AET4EV3vUl68bNNp?Ty+#Sg*&`0_upI0m*&N?$D4 zHfv7UxPSM@fvX-B*BKbPRg{#f{7MX*rT{X|Dy)H%&t-vTOwW;#{{2zvHn*?Y zWN1rwLFwPk1Wd+*!SYx`cN|*W2@hS%DYU{Xg)D7e83yC>IEj&R=Rup@p&Z_@<82bk zAu2IN3Qlz5*<0qcC^Cgm3@yoYdJ3%sG#9MlyH zIktoEsXmk(YDHCc(Qb9cZh1hMy&My6R=i#r370-T1;!Cp?bdoNDhGD}#P4{FMS?AD z%6|XBetGSOPtp)j(afKt9NykPkqBVPh`^2%b--720^n1JOioNRgBBtOG+J)7A;=s+ zblCWP0<&@2?ZKa1Fj;=iD>|~ijn*=MZ?Q0iv>KgYH;!O< z#)~50C(b_5sUy&$e~^4;Ih+C85}@)e%SX zJt&n<>H`6KEW1sAY3>zBpLQvvpY6tt8{-T;nHtRU(UO-G-tV?r|GQB|DudNlg|^$< z)d>+5EnmNeJt#_ZW#`#*adSrkE>_XX$D0=k7LgI5!=+VF95tw#fcFiFz|4Ee9U4nz zgk`W9a?j-A@(dj68UTH|4h02Gx*r~(AOlY#62psi5%apPT`a!Q6hcA6kc^S^+B&MJ z*p~&)!d2EJbdDBn`NE9y__B@xi|r>N4k6_Gw5mCf_HG90@72gvce18pwWt~7!+L7d zEic++_sR69L%8ipEyXs8c{;!XBvu+G-vInL%Jmw2TDj(3I&w4>I0TA-AGTcU zvAGh4^w^>q`SQhXs{LYbg<}qIFO)q!k-P*P?}x^?`N8*sartZjw_L5TuyDn&>paMk zW=h*!yXKuT1aeTU?Cgz4UnP)g`ug~YtdY}P`EYv7S;7TSn*s{gG12S&sZZi%+S#C4 z-RY*5Jk^8Zi7#t3m{QEHybF^M8+(s7$(7wKPt( zpwGiYw{L^g@mdRCWb0B|RP*BaMvFO&zh*XFW*1-S)LzG~M)|@`8E=}BXOH=EqZ;q| zrXT&*8NPGLByVsePIDv!f#}~Y!#sIhbvL5Fyc4aA`ry^lP=L)x8|7efYI=9qU9znE zoNt9>^&w7Hs{5{p%ZG^2R$W7Lyk-AG04oTnoont_i_q@3)a}l#_MYdcsKg!;laPq{4M^$`eg|>NVSK*u ze(<{veTz!holQgy{4_#p*f(h?DKRmYc?PG~dk1O%ss`jb;x>)kx&QjKRLS3PbOMg| z*xGz1{9*oNPF%*~#%;z!o96t%RA-fvmz=qTI5lNt#lcpS3T4uo+{vFc4fgCsOo_3N zPf#iNF0tWtZBMdtR;~0?bb5NB6Bb_IUW2T++M?PHfwbM?$LpwzuA2>E9R)gC2>#Wm zU62N)c(`p?dRb=fvQ!PDcfx?RkR<6bgtKfHjYAOP_fJhmzwSwZ_ zsD0kCQ4q%K(FohjE(uK)k^t%5BqZkn$%MJ{XPj1TFi1N=3mVeREO|}e&MU{aL%f+Jf}52GxTJrCWOX>s6_$h zbeGv>!FK#B^ama-V_Z+QWv@((#41CGZ6(=ZYN~|xf*=r7+;DSz$b8xq$!MpJi-y7Z zpnN;my5~h7%tX=3$v3BrdNNy-1TKr3NL($rKS|`ux+KOS#L$}A+>M)c5^$4#ib5>A zgGOfitk4~a6y7kKIej+?$7`lxRV6MZuX{@MhTMmbkdo@&Wg;92@CkRX%+}iv8WwldpotM(-C(V(^4w{M5X#Bj_kcV=m&2au4ECOZ)hJd4;8ZDrx`-l%cd`i}ADJ&>^I85H4`nUE$cC+#`M%mIu|CW7iMCPUk$NZ# zEwn`{JdD{d$SX!px<0%x zcYpd;!nnNSl)=~%A<;x#h?n+%Z;|aj&Zd^Yogx=xS9y7LZToYIyx0z79fX8_Kk)eN zr-!#e{+WmGK!*IDNZ$ZLEu>?Vc45eqLGaFsG|E71~fk5MGHD;K>@6(a?pe);( zuQad!`}F2o2%{7)@H@Z!`9%Z?_ki3eW7xlk65$?K=t=r+5nd$V=NGx`x$QzNWF0-a zrmUni_KaLI6d;du>ygdxZ-Kpa-Oq+g*B$}#hrCfRWZGX65pe5?xM<2--x{{m{;y$c kUxWYS)Bm=Ht>IlF(Z%!e!8T#!2f&}=4b|&;GIyT-4-87ha{vGU literal 0 HcmV?d00001 From 8210f7a4f405f25e19bc47ca8f96ef82951623ac Mon Sep 17 00:00:00 2001 From: Benjamin Levesque <14175665+benjlevesque@users.noreply.github.com> Date: Mon, 4 Mar 2024 17:28:15 +0100 Subject: [PATCH 14/33] feat: add changeActiveConnection command to palette in playgrounds (#700) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ba344354e..5a603fd58 100644 --- a/package.json +++ b/package.json @@ -762,7 +762,7 @@ }, { "command": "mdb.changeActiveConnection", - "when": "false" + "when": "mdb.isPlayground" }, { "command": "mdb.changeExportToLanguageAddons", From 10f42677deed55e0c2c394b665d75bb9615c4349 Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Wed, 13 Mar 2024 16:37:20 +0100 Subject: [PATCH 15/33] feat: show simpler uuid format VSCODE-470 (#701) --------- Co-authored-by: Anna Henningsen --- src/editors/mongoDBDocumentService.ts | 4 +- src/language/worker.ts | 6 +- .../editors/mongoDBDocumentService.test.ts | 108 +++++++++++++++++- src/test/suite/utils/ejson.test.ts | 98 ++++++++++++++++ src/utils/ejson.ts | 45 ++++++++ 5 files changed, 254 insertions(+), 7 deletions(-) create mode 100644 src/test/suite/utils/ejson.test.ts create mode 100644 src/utils/ejson.ts diff --git a/src/editors/mongoDBDocumentService.ts b/src/editors/mongoDBDocumentService.ts index 387a4d401..928d02de0 100644 --- a/src/editors/mongoDBDocumentService.ts +++ b/src/editors/mongoDBDocumentService.ts @@ -1,5 +1,4 @@ import type * as vscode from 'vscode'; -import { EJSON } from 'bson'; import type { Document } from 'bson'; import type ConnectionController from '../connectionController'; @@ -9,6 +8,7 @@ import type { EditDocumentInfo } from '../types/editDocumentInfoType'; import formatError from '../utils/formatError'; import type { StatusView } from '../views'; import type TelemetryService from '../telemetry/telemetryService'; +import { getEJSON } from '../utils/ejson'; const log = createLogger('document controller'); @@ -147,7 +147,7 @@ export default class MongoDBDocumentService { return; } - return JSON.parse(EJSON.stringify(documents[0])); + return getEJSON(documents[0]); } catch (error) { this._statusView.hideMessage(); diff --git a/src/language/worker.ts b/src/language/worker.ts index c1c73854a..f0f7ba819 100644 --- a/src/language/worker.ts +++ b/src/language/worker.ts @@ -1,5 +1,4 @@ import { CliServiceProvider } from '@mongosh/service-provider-server'; -import { EJSON } from 'bson'; import { ElectronRuntime } from '@mongosh/browser-runtime-electron'; import { parentPort } from 'worker_threads'; import { ServerCommands } from './serverCommands'; @@ -10,6 +9,7 @@ import type { MongoClientOptions, } from '../types/playgroundType'; import util from 'util'; +import { getEJSON } from '../utils/ejson'; interface EvaluationResult { printable: any; @@ -18,12 +18,12 @@ interface EvaluationResult { const getContent = ({ type, printable }: EvaluationResult) => { if (type === 'Cursor' || type === 'AggregationCursor') { - return JSON.parse(EJSON.stringify(printable.documents)); + return getEJSON(printable.documents); } return typeof printable !== 'object' || printable === null ? printable - : JSON.parse(EJSON.stringify(printable)); + : getEJSON(printable); }; const getLanguage = (evaluationResult: EvaluationResult) => { diff --git a/src/test/suite/editors/mongoDBDocumentService.test.ts b/src/test/suite/editors/mongoDBDocumentService.test.ts index f765d6b5b..dafbd5829 100644 --- a/src/test/suite/editors/mongoDBDocumentService.test.ts +++ b/src/test/suite/editors/mongoDBDocumentService.test.ts @@ -87,6 +87,57 @@ suite('MongoDB Document Service Test Suite', () => { expect(document).to.be.deep.equal(newDocument); }); + test('replaceDocument calls findOneAndReplace and saves a document when connected - extending the uuid type', async () => { + const namespace = 'waffle.house'; + const connectionId = 'tasty_sandwhich'; + const documentId = '93333a0d-83f6-4e6f-a575-af7ea6187a4a'; + const document: { _id: string; myUuid?: { $uuid: string } } = { + _id: '123', + }; + const newDocument = { + _id: '123', + myUuid: { + $binary: { + base64: 'yO2rw/c4TKO2jauSqRR4ow==', + subType: '04', + }, + }, + }; + const source = DocumentSource.DOCUMENT_SOURCE_TREEVIEW; + + const fakeActiveConnectionId = sandbox.fake.returns('tasty_sandwhich'); + sandbox.replace( + testConnectionController, + 'getActiveConnectionId', + fakeActiveConnectionId + ); + + const fakeGetActiveDataService = sandbox.fake.returns({ + findOneAndReplace: () => { + document.myUuid = { $uuid: 'c8edabc3-f738-4ca3-b68d-ab92a91478a3' }; + + return Promise.resolve(document); + }, + }); + sandbox.replace( + testConnectionController, + 'getActiveDataService', + fakeGetActiveDataService + ); + sandbox.stub(testStatusView, 'showMessage'); + sandbox.stub(testStatusView, 'hideMessage'); + + await testMongoDBDocumentService.replaceDocument({ + namespace, + documentId, + connectionId, + newDocument, + source, + }); + + expect(document).to.be.deep.equal(document); + }); + test('fetchDocument calls find and returns a single document when connected', async () => { const namespace = 'waffle.house'; const connectionId = 'tasty_sandwhich'; @@ -97,7 +148,7 @@ suite('MongoDB Document Service Test Suite', () => { const fakeGetActiveDataService = sandbox.fake.returns({ find: () => { - return Promise.resolve([{ _id: '123' }]); + return Promise.resolve(documents); }, }); sandbox.replace( @@ -124,7 +175,60 @@ suite('MongoDB Document Service Test Suite', () => { source, }); - expect(result).to.be.deep.equal(JSON.parse(EJSON.stringify(documents[0]))); + expect(result).to.be.deep.equal(EJSON.serialize(documents[0])); + }); + + test('fetchDocument calls find and returns a single document when connected - simplifying the uuid type', async () => { + const namespace = 'waffle.house'; + const connectionId = 'tasty_sandwhich'; + const documentId = '93333a0d-83f6-4e6f-a575-af7ea6187a4a'; + const line = 1; + const documents = [ + { + _id: '123', + myUuid: { + $binary: { + base64: 'yO2rw/c4TKO2jauSqRR4ow==', + subType: '04', + }, + }, + }, + ]; + const source = DocumentSource.DOCUMENT_SOURCE_PLAYGROUND; + + const fakeGetActiveDataService = sandbox.fake.returns({ + find: () => { + return Promise.resolve(documents); + }, + }); + sandbox.replace( + testConnectionController, + 'getActiveDataService', + fakeGetActiveDataService + ); + + const fakeGetActiveConnectionId = sandbox.fake.returns(connectionId); + sandbox.replace( + testConnectionController, + 'getActiveConnectionId', + fakeGetActiveConnectionId + ); + + sandbox.stub(testStatusView, 'showMessage'); + sandbox.stub(testStatusView, 'hideMessage'); + + const result = await testMongoDBDocumentService.fetchDocument({ + namespace, + documentId, + line, + connectionId, + source, + }); + + expect(result).to.be.deep.equal({ + _id: '123', + myUuid: { $uuid: 'c8edabc3-f738-4ca3-b68d-ab92a91478a3' }, + }); }); test("if a user is not connected, documents won't be saved to MongoDB", async () => { diff --git a/src/test/suite/utils/ejson.test.ts b/src/test/suite/utils/ejson.test.ts new file mode 100644 index 000000000..f36198442 --- /dev/null +++ b/src/test/suite/utils/ejson.test.ts @@ -0,0 +1,98 @@ +import { expect } from 'chai'; +import { getEJSON } from '../../../utils/ejson'; + +suite('getEJSON', function () { + suite('Valid uuid', function () { + const prettyUuid = { + $uuid: '63b985b8-e8dd-4bda-9087-e4402f1a3ff5', + }; + const rawUuid = { + $binary: { + base64: 'Y7mFuOjdS9qQh+RALxo/9Q==', + subType: '04', + }, + }; + + test('Simplifies top-level uuid', function () { + const ejson = getEJSON({ uuid: rawUuid }); + expect(ejson).to.deep.equal({ uuid: prettyUuid }); + }); + + test('Simplifies nested uuid', function () { + const ejson = getEJSON({ + grandparent: { + parent: { + sibling: 1, + uuid: rawUuid, + }, + }, + }); + expect(ejson).to.deep.equal({ + grandparent: { + parent: { + sibling: 1, + uuid: prettyUuid, + }, + }, + }); + }); + + test('Simplifies uuid in a nested array', function () { + const ejson = getEJSON({ + items: [ + { + parent: { + sibling: 1, + uuid: rawUuid, + }, + }, + ], + }); + expect(ejson).to.deep.equal({ + items: [ + { + parent: { + sibling: 1, + uuid: prettyUuid, + }, + }, + ], + }); + }); + }); + + suite('Invalid uuid or not an uuid', function () { + test('Ignores another subtype', function () { + const document = { + $binary: { + base64: 'Y7mFuOjdS9qQh+RALxo/9Q==', + subType: '02', + }, + }; + const ejson = getEJSON(document); + expect(ejson).to.deep.equal(document); + }); + + test('Ignores invalid uuid', function () { + const document = { + $binary: { + base64: 'Y7m==', + subType: '04', + }, + }; + const ejson = getEJSON(document); + expect(ejson).to.deep.equal(document); + }); + + test('Ignores null', function () { + const document = { + $binary: { + base64: null, + subType: '04', + }, + }; + const ejson = getEJSON(document); + expect(ejson).to.deep.equal(document); + }); + }); +}); diff --git a/src/utils/ejson.ts b/src/utils/ejson.ts new file mode 100644 index 000000000..01b419d62 --- /dev/null +++ b/src/utils/ejson.ts @@ -0,0 +1,45 @@ +import { EJSON } from 'bson'; +import type { Document } from 'bson'; + +const isObjectOrArray = (value: unknown) => + value !== null && typeof value === 'object'; + +function simplifyEJSON(item: Document[] | Document): Document { + if (!isObjectOrArray(item)) return item; + + if (Array.isArray(item)) { + return item.map((arrayItem) => + isObjectOrArray(arrayItem) ? simplifyEJSON(arrayItem) : arrayItem + ); + } + + // UUIDs might be represented as {"$uuid": } in EJSON + // Binary subtypes 3 or 4 are used to represent UUIDs in BSON + // But, parsers MUST interpret the $uuid key as BSON Binary subtype 4 + // For this reason, we are applying this representation for subtype 4 only + // see https://github.com/mongodb/specifications/blob/master/source/extended-json.rst#special-rules-for-parsing-uuid-fields + if ( + item.$binary?.subType === '04' && + typeof item.$binary?.base64 === 'string' + ) { + const hexString = Buffer.from(item.$binary.base64, 'base64').toString( + 'hex' + ); + const match = /^(.{8})(.{4})(.{4})(.{4})(.{12})$/.exec(hexString); + if (!match) return item; + const asUUID = match.slice(1, 6).join('-'); + return { $uuid: asUUID }; + } + + return Object.fromEntries( + Object.entries(item).map(([key, value]) => [ + key, + isObjectOrArray(value) ? simplifyEJSON(value) : value, + ]) + ); +} + +export function getEJSON(item: Document[] | Document) { + const ejson = EJSON.serialize(item); + return simplifyEJSON(ejson); +} From d730a07bef02535dcfae7098000e1cee8632c26c Mon Sep 17 00:00:00 2001 From: Himanshu Singh Date: Mon, 25 Mar 2024 15:57:42 +0100 Subject: [PATCH 16/33] chore(deps): update jose (#707) --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 53b9e8bee..b6b57a2e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15453,9 +15453,9 @@ } }, "node_modules/jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==", + "version": "4.15.5", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", + "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -35684,9 +35684,9 @@ } }, "jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==" + "version": "4.15.5", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", + "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==" }, "js-tokens": { "version": "4.0.0", From 4e311eed30c2f42d8d56e54dd0878ef418687f97 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Wed, 27 Mar 2024 16:19:56 +0000 Subject: [PATCH 17/33] update create-pull-request, add id (#710) --- .github/workflows/rebuild-changelog.yaml | 3 ++- .vscode/settings.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rebuild-changelog.yaml b/.github/workflows/rebuild-changelog.yaml index 76b7adc43..ad4637e68 100644 --- a/.github/workflows/rebuild-changelog.yaml +++ b/.github/workflows/rebuild-changelog.yaml @@ -62,7 +62,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Pull Request - uses: peter-evans/create-pull-request@v4 + id: cpr + uses: peter-evans/create-pull-request@v6 with: commit-message: Update changelog base: main diff --git a/.vscode/settings.json b/.vscode/settings.json index 14311786c..732bb7406 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ { "editor.formatOnSave": false, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "editor.tabSize": 2, // Insert spaces when pressing Tab. From 2e7e428fc9e60d5ab33c2b3abc965127729c199a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 11:13:49 +0200 Subject: [PATCH 18/33] chore(deps-dev): bump mongodb-runner from 5.4.5 to 5.5.2 (#664) Bumps [mongodb-runner](https://github.com/mongodb-js/devtools-shared) from 5.4.5 to 5.5.2. - [Commits](https://github.com/mongodb-js/devtools-shared/compare/mongodb-runner@5.4.5...mongodb-runner@5.5.2) --- updated-dependencies: - dependency-name: mongodb-runner dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Maurizio Casimirri --- package-lock.json | 370 ++++++++++++++++------------------------------ package.json | 2 +- 2 files changed, 131 insertions(+), 241 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6b57a2e3..a9c1da566 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,7 @@ "mocha-junit-reporter": "^2.2.0", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.0", - "mongodb-runner": "^5.4.5", + "mongodb-runner": "^5.5.2", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -4935,9 +4935,9 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz", + "integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -7940,6 +7940,52 @@ "file-uri-to-path": "1.0.0" } }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bl/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/bl/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/bl/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -9422,15 +9468,6 @@ "node": ">=4" } }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/decompress-tarbz2": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", @@ -9470,15 +9507,6 @@ "node": ">=4" } }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/decompress-unzip": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", @@ -12166,6 +12194,15 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -16836,40 +16873,22 @@ } }, "node_modules/mongodb-runner": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.4.5.tgz", - "integrity": "sha512-oLmrSPP6AatyQ/Rt0WZuu1hEsYwY59yfMgBna+RUmg1nontvmea3rgtFQ1PJ9cWaR0DqQC/qFb70pd56cHWNzA==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.5.2.tgz", + "integrity": "sha512-NU3Bq+OfqnmOHd5YzMGqojTl29rEcdD+y8+TtLOdMjxOf/2f0/oDq0aAQrsnvS/hD8cYdSzIGyDAYhM9Wiuhrw==", "dev": true, "dependencies": { - "@mongodb-js/mongodb-downloader": "^0.2.9", + "@mongodb-js/mongodb-downloader": "^0.2.10", + "@mongodb-js/saslprep": "^1.1.4", "debug": "^4.3.4", - "mongodb": "^5.6.0", - "mongodb-connection-string-url": "^2.6.0", + "mongodb": "^6.3.0", + "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, "bin": { "mongodb-runner": "bin/runner.js" } }, - "node_modules/mongodb-runner/node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "node_modules/mongodb-runner/node_modules/bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", - "dev": true, - "engines": { - "node": ">=14.20.1" - } - }, "node_modules/mongodb-runner/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -16884,91 +16903,6 @@ "node": ">=12" } }, - "node_modules/mongodb-runner/node_modules/mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", - "dev": true, - "dependencies": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, - "node_modules/mongodb-runner/node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dev": true, - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb-runner/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-runner/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-runner/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/mongodb-runner/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -21637,16 +21571,6 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream/node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "node_modules/tar-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -27505,9 +27429,9 @@ "dev": true }, "@mongodb-js/saslprep": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", - "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz", + "integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==", "requires": { "sparse-bitfield": "^3.0.3" } @@ -29889,6 +29813,54 @@ "file-uri-to-path": "1.0.0" } }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -31078,14 +31050,6 @@ "file-type": "^5.2.0", "is-stream": "^1.1.0", "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true - } } }, "decompress-tarbz2": { @@ -31118,14 +31082,6 @@ "decompress-tar": "^4.1.1", "file-type": "^5.2.0", "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", - "dev": true - } } }, "decompress-unzip": { @@ -33170,6 +33126,12 @@ "flat-cache": "^3.0.4" } }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "dev": true + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -36784,34 +36746,19 @@ } }, "mongodb-runner": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.4.5.tgz", - "integrity": "sha512-oLmrSPP6AatyQ/Rt0WZuu1hEsYwY59yfMgBna+RUmg1nontvmea3rgtFQ1PJ9cWaR0DqQC/qFb70pd56cHWNzA==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.5.2.tgz", + "integrity": "sha512-NU3Bq+OfqnmOHd5YzMGqojTl29rEcdD+y8+TtLOdMjxOf/2f0/oDq0aAQrsnvS/hD8cYdSzIGyDAYhM9Wiuhrw==", "dev": true, "requires": { - "@mongodb-js/mongodb-downloader": "^0.2.9", + "@mongodb-js/mongodb-downloader": "^0.2.10", + "@mongodb-js/saslprep": "^1.1.4", "debug": "^4.3.4", - "mongodb": "^5.6.0", - "mongodb-connection-string-url": "^2.6.0", + "mongodb": "^6.3.0", + "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, "dependencies": { - "@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", - "dev": true - }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -36823,53 +36770,6 @@ "wrap-ansi": "^7.0.0" } }, - "mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", - "dev": true, - "requires": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - } - }, - "mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dev": true, - "requires": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -40502,16 +40402,6 @@ "xtend": "^4.0.0" }, "dependencies": { - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", diff --git a/package.json b/package.json index 5a603fd58..ef3087a29 100644 --- a/package.json +++ b/package.json @@ -1162,7 +1162,7 @@ "mocha-junit-reporter": "^2.2.0", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.0", - "mongodb-runner": "^5.4.5", + "mongodb-runner": "^5.5.2", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", From cd6f139d5248563294c51f366ddf8db92ef7726a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 11:14:01 +0200 Subject: [PATCH 19/33] chore(deps): bump @mongodb-js/saslprep from 1.1.0 to 1.1.4 (#665) Bumps [@mongodb-js/saslprep](https://github.com/mongodb-js/devtools-shared) from 1.1.0 to 1.1.4. - [Commits](https://github.com/mongodb-js/devtools-shared/compare/@mongodb-js/saslprep@1.1.0...@mongodb-js/saslprep@1.1.4) --- updated-dependencies: - dependency-name: "@mongodb-js/saslprep" dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Maurizio Casimirri From 3bc84286973dd870bcb285ef08d3b1a00c9259c3 Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Wed, 3 Apr 2024 16:16:39 +0200 Subject: [PATCH 20/33] chore(deps): bump express to 4.19.2 VSCODE-527 (#712) --- package-lock.json | 65 ++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9c1da566..35e3f803a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "bson-transpilers": "^2.2.0", "debug": "^4.3.4", "dotenv": "^16.3.1", + "express": "^4.19.2", "lodash": "^4.17.21", "micromatch": "^4.0.5", "mongodb": "^6.3.0", @@ -7993,12 +7994,12 @@ "dev": true }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -8006,7 +8007,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -9102,9 +9103,9 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -11866,16 +11867,16 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -18975,9 +18976,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -29868,12 +29869,12 @@ "dev": true }, "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -29881,7 +29882,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -30737,9 +30738,9 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" }, "cookie-signature": { "version": "1.0.6", @@ -32858,16 +32859,16 @@ } }, "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -38350,9 +38351,9 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", From 0390097521a3c459f72dcda4a9a26cf56591b005 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:51:09 +0200 Subject: [PATCH 21/33] feat(playground): add support local require VSCODE-468 (#718) * support local require when running playground * pr feedback * add test for local require --- src/editors/playgroundController.ts | 1 + src/language/languageServerController.ts | 1 + src/language/mongoDBService.ts | 1 + src/language/worker.ts | 40 ++++++++++++----- .../suite/language/mongoDBService.test.ts | 43 ++++++++++++++++++- src/types/playgroundType.ts | 1 + 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/src/editors/playgroundController.ts b/src/editors/playgroundController.ts index e1403fa23..64b2594a3 100644 --- a/src/editors/playgroundController.ts +++ b/src/editors/playgroundController.ts @@ -449,6 +449,7 @@ export default class PlaygroundController { result = await this._languageServerController.evaluate({ codeToEvaluate, connectionId, + filePath: vscode.window.activeTextEditor?.document.uri.fsPath, }); } catch (error) { const msg = diff --git a/src/language/languageServerController.ts b/src/language/languageServerController.ts index 4525b0014..13c579e09 100644 --- a/src/language/languageServerController.ts +++ b/src/language/languageServerController.ts @@ -186,6 +186,7 @@ export default class LanguageServerController { ): Promise { log.info('Running a playground...', { connectionId: playgroundExecuteParameters.connectionId, + filePath: playgroundExecuteParameters.filePath, inputLength: playgroundExecuteParameters.codeToEvaluate.length, }); this._isExecutingInProgress = true; diff --git a/src/language/mongoDBService.ts b/src/language/mongoDBService.ts index 3e5d967d0..09d4c942d 100644 --- a/src/language/mongoDBService.ts +++ b/src/language/mongoDBService.ts @@ -296,6 +296,7 @@ export default class MongoDBService { name: ServerCommands.EXECUTE_CODE_FROM_PLAYGROUND, data: { codeToEvaluate: params.codeToEvaluate, + filePath: params.filePath, connectionString: this.connectionString, connectionOptions: this.connectionOptions, }, diff --git a/src/language/worker.ts b/src/language/worker.ts index f0f7ba819..316e9f3e5 100644 --- a/src/language/worker.ts +++ b/src/language/worker.ts @@ -36,14 +36,25 @@ const getLanguage = (evaluationResult: EvaluationResult) => { return 'plaintext'; }; +type ExecuteCodeOptions = { + codeToEvaluate: string; + connectionString: string; + connectionOptions: MongoClientOptions; + filePath?: string; +}; + /** * Execute code from a playground. */ -const execute = async ( - codeToEvaluate: string, - connectionString: string, - connectionOptions: MongoClientOptions -): Promise<{ data?: ShellEvaluateResult; error?: any }> => { +const execute = async ({ + codeToEvaluate, + connectionString, + connectionOptions, + filePath, +}: ExecuteCodeOptions): Promise<{ + data?: ShellEvaluateResult; + error?: any; +}> => { const serviceProvider = await CliServiceProvider.connect( connectionString, connectionOptions @@ -67,6 +78,19 @@ const execute = async ( }, }); + // In order to support local require directly from the file where code lives, we can not wrap the + // whole code in a function for two reasons: + // 1. We need to return the response and can not simply add return. And + // 2. We can not use eval to evaluate the *codeToEvaluate* as mongosh async-rewriter can’t see into the eval. + // We are also not directly concatenating the require with the code either due to "use strict" + if (filePath) { + await runtime.evaluate(`(function () { + globalThis.require = require('module').createRequire(${JSON.stringify( + filePath + )}); + } ())`); + } + // Evaluate a playground content. const { source, type, printable } = await runtime.evaluate(codeToEvaluate); const namespace = @@ -94,11 +118,7 @@ const handleMessageFromParentPort = async ({ name, data }): Promise => { if (name === ServerCommands.EXECUTE_CODE_FROM_PLAYGROUND) { parentPort?.postMessage({ name: ServerCommands.CODE_EXECUTION_RESULT, - payload: await execute( - data.codeToEvaluate, - data.connectionString, - data.connectionOptions - ), + payload: await execute(data), }); } }; diff --git a/src/test/suite/language/mongoDBService.test.ts b/src/test/suite/language/mongoDBService.test.ts index 1b2f06ec4..6f7e1fe5d 100644 --- a/src/test/suite/language/mongoDBService.test.ts +++ b/src/test/suite/language/mongoDBService.test.ts @@ -10,7 +10,8 @@ import { import type { CompletionItem } from 'vscode-languageclient/node'; import chai from 'chai'; import { createConnection } from 'vscode-languageserver/node'; -import fs from 'fs'; +import fs from 'fs/promises'; +import os from 'os'; import path from 'path'; import { TextDocument } from 'vscode-languageserver-textdocument'; import type { Db } from 'mongodb'; @@ -45,7 +46,7 @@ suite('MongoDBService Test Suite', () => { 'dist', languageServerWorkerFileName ); - await fs.promises.stat(languageServerModuleBundlePath); + await fs.stat(languageServerModuleBundlePath); }); suite('Extension path', () => { @@ -3008,6 +3009,44 @@ suite('MongoDBService Test Suite', () => { expect(result).to.deep.equal(expectedResult); }); }); + + suite('evaluate allows to import local files', function () { + let tmpDir: string; + beforeEach(async () => { + tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), 'local-import')); + await fs.writeFile( + path.join(tmpDir, 'utils.js'), + `module.exports.add = function (a, b) { + return a + b; + }; + ` + ); + }); + afterEach(async () => { + await fs.rm(tmpDir, { recursive: true }); + }); + test('evaluate allows to import file', async () => { + const source = new CancellationTokenSource(); + const result = await testMongoDBService.evaluate( + { + connectionId: 'pineapple', + codeToEvaluate: 'const { add } = require("./utils.js"); add(1, 2);', + filePath: path.join(tmpDir, 'utils.js'), + }, + source.token + ); + const expectedResult = { + result: { + namespace: null, + type: 'number', + content: 3, + language: 'plaintext', + }, + }; + + expect(result).to.deep.equal(expectedResult); + }); + }); }); suite('Export to language mode', function () { diff --git a/src/types/playgroundType.ts b/src/types/playgroundType.ts index 350a7d890..0e43a9f21 100644 --- a/src/types/playgroundType.ts +++ b/src/types/playgroundType.ts @@ -21,6 +21,7 @@ export type ShellEvaluateResult = export type PlaygroundEvaluateParams = { codeToEvaluate: string; connectionId: string; + filePath?: string; }; export interface ExportToLanguageAddons { From e56ae19c349aa9b741c61881447cef69126ad9dd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 11:54:00 +0000 Subject: [PATCH 22/33] Update changelog (#720) Co-authored-by: mabaasit <1305718+mabaasit@users.noreply.github.com> --- CHANGELOG.md | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a1fa4a2a..53f386b7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Change Log +## [v1.6.0](https://github.com/mongodb-js/vscode/releases/tag/v1.6.0) - 2024-04-23 + +## What's Changed +* chore: update CHANGELOG.md by @github-actions in https://github.com/mongodb-js/vscode/pull/675 +* feat: add export to Rust and PHP VSCODE-411 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/676 +* chore(ci): sign using package by @mabaasit in https://github.com/mongodb-js/vscode/pull/678 +* fix: include export mode when retrieving import statements VSCODE-440 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/677 +* chore(dependabot): update dependabot to use the increase strategy by @mcasimir in https://github.com/mongodb-js/vscode/pull/682 +* chore(deps-dev): bump @mongodb-js/oidc-mock-provider from 0.6.9 to 0.6.10 by @dependabot in https://github.com/mongodb-js/vscode/pull/670 +* chore(deps-dev): bump @mongodb-js/mongodb-downloader from 0.2.9 to 0.2.10 by @dependabot in https://github.com/mongodb-js/vscode/pull/669 +* fix: remove userId COMPASS-7608 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/690 +* chore(deps): bump socks to 2.7.3 VSCODE-520 by @addaleax in https://github.com/mongodb-js/vscode/pull/693 +* chore: add Atlas Stream Processing to readme with screenshot by @Anemy in https://github.com/mongodb-js/vscode/pull/694 +* feat: add changeActiveConnection command to palette by @benjlevesque in https://github.com/mongodb-js/vscode/pull/700 +* feat: show simpler uuid format VSCODE-470 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/701 +* chore(deps): update jose by @himanshusinghs in https://github.com/mongodb-js/vscode/pull/707 +* chore(ci): update create-pull-request, add id by @lerouxb in https://github.com/mongodb-js/vscode/pull/710 +* chore(deps-dev): bump mongodb-runner from 5.4.5 to 5.5.2 by @dependabot in https://github.com/mongodb-js/vscode/pull/664 +* chore(deps): bump @mongodb-js/saslprep from 1.1.0 to 1.1.4 by @dependabot in https://github.com/mongodb-js/vscode/pull/665 +* chore(deps): bump express to 4.19.2 VSCODE-527 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/712 +* feat(playground): add support local require VSCODE-468 by @mabaasit in https://github.com/mongodb-js/vscode/pull/718 + +## New Contributors +* @paula-stacho made their first contribution in https://github.com/mongodb-js/vscode/pull/676 +* @benjlevesque made their first contribution in https://github.com/mongodb-js/vscode/pull/700 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.5.0...v1.6.0 + + ## [v1.5.0](https://github.com/mongodb-js/vscode/releases/tag/v1.5.0) - 2024-01-24 ## What's Changed @@ -437,16 +466,3 @@ To dig deeper please feel free to follow the links mentioned below: - Allow removing a new connection while it is connecting -## [v0.1.0](https://github.com/mongodb-js/vscode/releases/tag/v0.1.0) - 2020-07-16 - -### Added - -- Added the ability to run partial playgrounds -- Added indexes to the explorer tree view - -### Fixed - -- Fixed an issue with the launch shell command in powershell -- Fixed an issue with the tree explorer freezing when double clicking an open schema - - From dcf97f7a79d3451f60a5515c2645fc5254f3789f Mon Sep 17 00:00:00 2001 From: Paula Stachova Date: Mon, 3 Jun 2024 16:33:59 +0200 Subject: [PATCH 23/33] fix: bump micromatch VSCODE-533 VSCODE-534 (#737) --- package-lock.json | 47 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 35e3f803a..f6ffff381 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,9 +24,8 @@ "bson-transpilers": "^2.2.0", "debug": "^4.3.4", "dotenv": "^16.3.1", - "express": "^4.19.2", "lodash": "^4.17.21", - "micromatch": "^4.0.5", + "micromatch": "^4.0.7", "mongodb": "^6.3.0", "mongodb-build-info": "^1.7.1", "mongodb-cloud-info": "^2.1.0", @@ -8067,11 +8066,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -12211,9 +12210,9 @@ "devOptional": true }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -16223,11 +16222,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -29937,11 +29936,11 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "brorand": { @@ -33140,9 +33139,9 @@ "devOptional": true }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } @@ -36264,11 +36263,11 @@ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "requires": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" } }, diff --git a/package.json b/package.json index ef3087a29..afc608fdb 100644 --- a/package.json +++ b/package.json @@ -1092,7 +1092,7 @@ "debug": "^4.3.4", "dotenv": "^16.3.1", "lodash": "^4.17.21", - "micromatch": "^4.0.5", + "micromatch": "^4.0.7", "mongodb": "^6.3.0", "mongodb-build-info": "^1.7.1", "mongodb-cloud-info": "^2.1.0", From 37daa7ac14e52c4e44198887b453b3afc010e277 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 03:04:00 +0000 Subject: [PATCH 24/33] Update changelog (#744) Co-authored-by: mcasimir <334881+mcasimir@users.noreply.github.com> --- CHANGELOG.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f386b7a..cc003b029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,23 +3,12 @@ ## [v1.6.0](https://github.com/mongodb-js/vscode/releases/tag/v1.6.0) - 2024-04-23 ## What's Changed -* chore: update CHANGELOG.md by @github-actions in https://github.com/mongodb-js/vscode/pull/675 * feat: add export to Rust and PHP VSCODE-411 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/676 * chore(ci): sign using package by @mabaasit in https://github.com/mongodb-js/vscode/pull/678 * fix: include export mode when retrieving import statements VSCODE-440 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/677 -* chore(dependabot): update dependabot to use the increase strategy by @mcasimir in https://github.com/mongodb-js/vscode/pull/682 -* chore(deps-dev): bump @mongodb-js/oidc-mock-provider from 0.6.9 to 0.6.10 by @dependabot in https://github.com/mongodb-js/vscode/pull/670 -* chore(deps-dev): bump @mongodb-js/mongodb-downloader from 0.2.9 to 0.2.10 by @dependabot in https://github.com/mongodb-js/vscode/pull/669 * fix: remove userId COMPASS-7608 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/690 -* chore(deps): bump socks to 2.7.3 VSCODE-520 by @addaleax in https://github.com/mongodb-js/vscode/pull/693 -* chore: add Atlas Stream Processing to readme with screenshot by @Anemy in https://github.com/mongodb-js/vscode/pull/694 * feat: add changeActiveConnection command to palette by @benjlevesque in https://github.com/mongodb-js/vscode/pull/700 * feat: show simpler uuid format VSCODE-470 by @paula-stacho in https://github.com/mongodb-js/vscode/pull/701 -* chore(deps): update jose by @himanshusinghs in https://github.com/mongodb-js/vscode/pull/707 -* chore(ci): update create-pull-request, add id by @lerouxb in https://github.com/mongodb-js/vscode/pull/710 -* chore(deps-dev): bump mongodb-runner from 5.4.5 to 5.5.2 by @dependabot in https://github.com/mongodb-js/vscode/pull/664 -* chore(deps): bump @mongodb-js/saslprep from 1.1.0 to 1.1.4 by @dependabot in https://github.com/mongodb-js/vscode/pull/665 -* chore(deps): bump express to 4.19.2 VSCODE-527 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/712 * feat(playground): add support local require VSCODE-468 by @mabaasit in https://github.com/mongodb-js/vscode/pull/718 ## New Contributors From 20caf07ea6518f8d587c427f6995199f40651a7a Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Thu, 27 Jun 2024 00:33:56 +0200 Subject: [PATCH 25/33] fix: disconnect extension when server is closed VSCODE-536 (#734) * chore: bump minor dependencies * fix: update package lock * chore: remove npm legacy-peer-deps * chore: bump vscode engine and fix useEffect cleanup * chore: bump data service * build: bump vscode engine * refactor: remove sleeps * refactor: use waitFor --- .npmrc | 2 - package-lock.json | 14780 ++++++++-------- package.json | 106 +- src/connectionController.ts | 56 +- src/telemetry/connectionTelemetry.ts | 4 +- src/test/suite/connectionController.test.ts | 63 +- .../activeConnectionCodeLensProvider.test.ts | 10 +- .../collectionDocumentsProvider.test.ts | 20 +- .../editors/playgroundController.test.ts | 4 +- .../suite/explorer/schemaTreeItem.test.ts | 8 +- src/test/suite/mdbExtensionController.test.ts | 2 +- src/test/suite/oidc.test.ts | 14 +- src/test/suite/stubs.ts | 5 + .../telemetry/connectionTelemetry.test.ts | 17 +- .../suite/telemetry/telemetryService.test.ts | 4 +- .../suite/views/webviewController.test.ts | 12 +- src/test/suite/waitFor.ts | 10 + src/views/webview-app/use-connection-form.ts | 8 +- syntaxes/mongodbInjection.tmLanguage.json | 9 + 19 files changed, 7686 insertions(+), 7448 deletions(-) delete mode 100755 .npmrc create mode 100644 src/test/suite/waitFor.ts diff --git a/.npmrc b/.npmrc deleted file mode 100755 index a4af34998..000000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -registry=https://registry.npmjs.org/ -legacy-peer-deps=true diff --git a/package-lock.json b/package-lock.json index f6ffff381..28c67a923 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,93 +9,93 @@ "version": "0.0.0-dev.0", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { - "@babel/parser": "^7.22.6", - "@babel/traverse": "^7.23.2", - "@mongodb-js/compass-components": "^1.21.2", + "@babel/parser": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@mongodb-js/compass-components": "^1.25.0", "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", - "@mongodb-js/mongodb-constants": "^0.8.9", + "@mongodb-js/mongodb-constants": "^0.10.2", "@mongosh/browser-runtime-electron": "^2.1.1", "@mongosh/i18n": "^2.1.1", "@mongosh/service-provider-server": "^2.1.1", "@mongosh/shell-api": "^2.1.1", - "@segment/analytics-node": "^1.1.4", - "bson": "^6.2.0", + "@segment/analytics-node": "^1.3.0", + "bson": "^6.7.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.4", - "dotenv": "^16.3.1", + "debug": "^4.3.5", + "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-cloud-info": "^2.1.0", - "mongodb-connection-string-url": "^3.0.0", - "mongodb-data-service": "^22.17.3", - "mongodb-log-writer": "^1.4.0", - "mongodb-query-parser": "^4.0.2", - "mongodb-schema": "^12.1.1", + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2", + "mongodb-cloud-info": "^2.1.2", + "mongodb-connection-string-url": "^3.0.1", + "mongodb-data-service": "^22.21.1", + "mongodb-log-writer": "^1.4.2", + "mongodb-query-parser": "^4.1.3", + "mongodb-schema": "^12.2.0", "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.3", + "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", "vscode-languageserver": "^8.1.0", - "vscode-languageserver-textdocument": "^1.0.10" + "vscode-languageserver-textdocument": "^1.0.11" }, "devDependencies": { - "@babel/preset-typescript": "^7.22.5", - "@mongodb-js/oidc-mock-provider": "^0.6.10", - "@mongodb-js/oidc-plugin": "^0.3.0", + "@babel/preset-typescript": "^7.24.7", + "@mongodb-js/oidc-mock-provider": "^0.9.1", + "@mongodb-js/oidc-plugin": "^0.4.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", - "@mongodb-js/sbom-tools": "^0.5.4", - "@mongodb-js/signing-utils": "^0.3.1", - "@mongosh/service-provider-core": "^2.0.2", + "@mongodb-js/sbom-tools": "^0.7.0", + "@mongodb-js/signing-utils": "^0.3.4", + "@mongosh/service-provider-core": "^2.2.1", "@testing-library/react": "^12.1.5", - "@types/babel__core": "^7.20.1", - "@types/babel__traverse": "^7.20.1", - "@types/chai": "^4.3.5", - "@types/debug": "^4.1.8", + "@types/babel__core": "^7.20.5", + "@types/babel__traverse": "^7.20.6", + "@types/chai": "^4.3.16", + "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.2", + "@types/micromatch": "^4.0.7", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", - "@types/node": "^14.18.53", - "@types/react": "^17.0.62", - "@types/react-dom": "^17.0.20", + "@types/node": "^14.18.63", + "@types/react": "^17.0.80", + "@types/react-dom": "^17.0.25", "@types/sinon": "^9.0.11", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.79.1", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", - "@vscode/test-electron": "^2.3.8", - "@vscode/vsce": "^2.19.0", + "@types/vscode": "^1.90.0", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "@vscode/test-electron": "^2.4.0", + "@vscode/vsce": "^2.29.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", - "autoprefixer": "^10.4.16", + "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.3.7", - "chai-as-promised": "^7.1.1", + "chai": "^4.4.1", + "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", - "depcheck": "^1.4.3", + "depcheck": "^1.4.7", "duplicate-package-checker-webpack-plugin": "^3.0.0", "enzyme": "^3.11.0", - "eslint": "^8.44.0", + "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.1.0", + "eslint-plugin-mocha": "^10.4.3", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.2.0", - "mocha-junit-reporter": "^2.2.0", + "mocha": "^10.5.1", + "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", - "mongodb-client-encryption": "^6.0.0", - "mongodb-runner": "^5.5.2", + "mongodb-client-encryption": "^6.0.1", + "mongodb-runner": "^5.6.2", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -108,19 +108,19 @@ "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", "ts-jest": "^26.5.6", - "ts-loader": "^9.4.4", - "ts-node": "^10.9.1", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", "typescript": "^4.9.5", - "webpack": "^5.88.1", - "webpack-bundle-analyzer": "^4.9.0", + "webpack": "^5.92.1", + "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", - "webpack-merge": "^5.9.0", + "webpack-merge": "^5.10.0", "xvfb-maybe": "^0.2.1" }, "engines": { "node": ">=16.16.0", "npm": ">=8.19.4", - "vscode": "^1.79.1" + "vscode": "^1.90.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -144,589 +144,656 @@ "node": ">=6.0.0" } }, - "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "dependencies": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "tslib": "^1.11.1" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "dependencies": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "dependencies": { - "tslib": "^1.11.1" + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "dependencies": { "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.369.0.tgz", - "integrity": "sha512-YZSjxtWJ70Xj4G230iDGLXJHF4asy1FrTnTkNfyMA3uHmhgL3kUI9yk9E93FRy9XWboI8a39WC0vEgr6zvuBFQ==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.369.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.369.0.tgz", - "integrity": "sha512-SjJd9QGT9ccHOY64qnMfvVjrneBORIx/k8OdtL0nV2wemPqCM9uAm+TYZ01E91D/+lfXS+lLMGSidSA39PMIOA==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.369.0.tgz", - "integrity": "sha512-NOnsRrkHMss9pE68uTPMEt1KoW6eWt4ZCesJayCOiIgmIA/AhXHz06IBCYJ9eu9Xbu/55FDr4X3VCtUf7Rfh6g==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/client-cognito-identity": { + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.600.0.tgz", + "integrity": "sha512-8dYsnDLiD0rjujRiZZl0E57heUkHqMSFZHBi0YMs57SM8ODPxK3tahwDYZtS7bqanvFKZwGy+o9jIcij7jBOlA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.600.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.598.0.tgz", + "integrity": "sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.600.0.tgz", + "integrity": "sha512-7+I8RWURGfzvChyNQSyj5/tKrqRbzRl7H+BnTOf/4Vsw1nFOi5ROhlhD4X/Y0QCTacxnaoNcIrqnY7uGGvVRzw==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@aws-sdk/client-sts": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.369.0.tgz", - "integrity": "sha512-kyZl654U27gsQX9UjiiO4CX5M6kHwzDouwbhjc5HshQld/lUbJQ4uPpAwhlbZiqnzGeB639MdAGaSwrOOw2ixw==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-sdk-sts": "3.369.0", - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.1", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.1", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.2", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.1", - "@smithy/util-utf8": "^1.0.1", + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.600.0.tgz", + "integrity": "sha512-KQG97B7LvTtTiGmjlrG1LRAY8wUvCQzrmZVV5bjrJ/1oXAU7DITYwVbSJeX9NWg6hDuSk0VE3MFwIXS2SvfLIA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.598.0.tgz", + "integrity": "sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==", + "dependencies": { + "@smithy/core": "^2.2.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/signature-v4": "^3.1.0", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.369.0.tgz", - "integrity": "sha512-E69Ya4JnLO2ymtDZSGwbpXXMS4Pr3b3g+rZ3BduPc2fxRSLDfCxKE1GuO56u9pCbjZL6lJ+5FB8i7v0ptsVrOQ==", + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.600.0.tgz", + "integrity": "sha512-AIM+B06d1+71EuBrk2UR9ZZgRS3a+ARxE3oZKMZYlfqtZ3kY8w4DkhEt7OVruc6uSsMhkrcQT6nxsOxFSi4RtA==", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/client-cognito-identity": "3.600.0", + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.369.0.tgz", - "integrity": "sha512-EZUXGLjnun5t5/dVYJ9yyOwPAJktOdLEQSwtw7Q9XOxaNqVFFz9EU+TwYraV4WZ3CFRNn7GEIctVlXAHVFLm/w==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.598.0.tgz", + "integrity": "sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.598.0.tgz", + "integrity": "sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==", + "dependencies": { + "@aws-sdk/types": "3.598.0", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/util-stream": "^3.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.369.0.tgz", - "integrity": "sha512-12XXd4gnrn05adio/xPF8Nxl99L2FFzksbFILDIfSni7nLDX0m2XprnkswQiCKSbfDIQQsgnnh2F+HhorLuqfQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.598.0.tgz", + "integrity": "sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.598.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.369.0.tgz", - "integrity": "sha512-vxX4s33EpRDh7OhKBDVAPxdBxVHPOOj1r7nN6f0hZLw5WPeeffSjLqw+MnFj33gSO7Htnt+Q0cAJQzeY5G8q3A==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-ini": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.600.0.tgz", + "integrity": "sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-ini": "3.598.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.369.0.tgz", - "integrity": "sha512-OyasKV3mZz6TRSxczRnyZoifrtYwqGBxtr75YP37cm/JkecDshHXRcE8Jt9LyBg/93oWfKou03WVQiY9UIDJGQ==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.598.0.tgz", + "integrity": "sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.369.0.tgz", - "integrity": "sha512-qXbEsmgFpGPbRVnwBYPxL53wQuue0+Z8tVu877itbrzpHm61AuQ04Hn8T1boKrr40excDuxiSrCX5oCKRG4srQ==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.598.0.tgz", + "integrity": "sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==", "dependencies": { - "@aws-sdk/client-sso": "3.369.0", - "@aws-sdk/token-providers": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/client-sso": "3.598.0", + "@aws-sdk/token-providers": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.369.0.tgz", - "integrity": "sha512-oFGxC839pQTJ6djFEBuokSi3/jNjNMVgZSpg26Z23V/r3vKRSgXfVmeus1FLYIWg0jO7KFsMPo9eVJW6auzw6w==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.598.0.tgz", + "integrity": "sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.598.0" } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.369.0.tgz", - "integrity": "sha512-c3H3iEiutebVvHQY7igvlAKup/P8dRdpf3QqJNOCga/w6tR+MMdjhJBanHDeJjmyREfBTPySkaNY2gsLODtmCg==", - "dependencies": { - "@aws-sdk/client-cognito-identity": "3.369.0", - "@aws-sdk/client-sso": "3.369.0", - "@aws-sdk/client-sts": "3.369.0", - "@aws-sdk/credential-provider-cognito-identity": "3.369.0", - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-ini": "3.369.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.600.0.tgz", + "integrity": "sha512-cC9uqmX0rgx1efiJGqeR+i0EXr8RQ5SAzH7M45WNBZpYiLEe6reWgIYJY9hmOxuaoMdWSi8kekuN3IjTIORRjw==", + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.600.0", + "@aws-sdk/client-sso": "3.598.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/credential-provider-cognito-identity": "3.600.0", + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-ini": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.369.0.tgz", - "integrity": "sha512-ysbur68WHY7RYpGfth1Iu0+S03nSCLtIHJ+CDVYcVcyvYxaAv6y3gvfrkH9oL220uX75UVLj3tCKgAaLUBy5uA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.598.0.tgz", + "integrity": "sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.369.0.tgz", - "integrity": "sha512-mp4gVRaFRRX+LEDEIlPxHOI/+k1jPPp0tuKyoyNZQS8IPOL+6bqFdPan03hkTjujeyaZOyRjpaXXat6k1HkHhw==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.598.0.tgz", + "integrity": "sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.369.0.tgz", - "integrity": "sha512-V7TNhHRTwiKlVXiaW2CYGcm3vObWdG5zU0SN7ZxHDT27eTRYL8ncVpDnQZ65HfekXL8T9llVibBTYYvZrxLJ1g==", - "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.369.0.tgz", - "integrity": "sha512-Igizyt7TWy8kTitvE6o7R1Cfa4qLqijS/WxqT1cnHscQyZFFiIJVNypWeV4V19DZ9Msb/feAQdc8EWgHvZvYGA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.598.0.tgz", + "integrity": "sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==", "dependencies": { - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.369.0.tgz", - "integrity": "sha512-55qihn+9/zjsHUNvEgc4OUWQBxVlKW9C+whVhdy8H8olwAnfOH1ui9xXQ+SAyBCD9ck3vAY89VmBeQQQGZVVQw==", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.598.0.tgz", + "integrity": "sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/protocol-http": "^1.1.0", - "@smithy/signature-v4": "^1.0.1", - "@smithy/types": "^1.1.0", - "@smithy/util-middleware": "^1.0.1", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.369.0.tgz", - "integrity": "sha512-a7Wb3s0y+blGF654GZv3nI3ZMRARAGH7iQrF2gWGtb2Qq0f3TQGHmpoHddWObYxiFWYzdXdTC3kbsAW1zRwEAA==", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.598.0.tgz", + "integrity": "sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.369.0.tgz", - "integrity": "sha512-xIz8KbF4RMlMq0aAJbVocLB03OiqJIU5RLy+2t+bKMQ60fV4bnVINH5GxAMiFXiBIQVqfehFJlxJACtEphqQwA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.598.0.tgz", + "integrity": "sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.369.0.tgz", - "integrity": "sha512-0LgII+RatF2OEFaFQcNyX72py4ZgWz+/JAv++PXv0gkIaTRnsJbSveQArNynEK+aAc/rZKWJgBvwT4FvLM2vgA==", - "dependencies": { - "@smithy/types": "1.1.0", - "tslib": "^2.5.0" + "node": ">=16.0.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.598.0" } }, - "node_modules/@aws-sdk/types/node_modules/@smithy/types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.1.0.tgz", - "integrity": "sha512-KzmvisMmuwD2jZXuC9e65JrgsZM97y5NpDU7g347oB+Q+xQLU6hQZ5zFNNbEfwwOJHoOvEVTna+dk1h/lW7alw==", + "node_modules/@aws-sdk/types": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.598.0.tgz", + "integrity": "sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==", "dependencies": { - "tslib": "^2.5.0" + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.369.0.tgz", - "integrity": "sha512-dkzhhMIvQRsgdomHi8fmgQ3df2cS1jeWAUIPjxV4lBikcvcF2U0CtvH9QYyMpluSNP1IYcEuONe8wfZGSrNjdg==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.598.0.tgz", + "integrity": "sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", + "@smithy/util-endpoints": "^2.0.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.369.0.tgz", - "integrity": "sha512-wrF0CqnfFac4sYr8jLZXz7B5NPxdW4GettH07Sl3ihO2aXsTvZ0RoyqzwF7Eve8ihbK0vCKt1S3/vZTOLw8sCg==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.598.0.tgz", + "integrity": "sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", "bowser": "^2.11.0", - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.369.0.tgz", - "integrity": "sha512-RkiGyWp+YUlK4njsvqD7S08aihEW8aMNrT5OXmLGdukEUGWMAyvIcq4XS8MxA02GRPUxTUNInLltXwc1AaDpCw==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.598.0.tgz", + "integrity": "sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==", "dependencies": { - "@aws-sdk/types": "3.369.0", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" }, "peerDependencies": { "aws-crt": ">=1.0.0" @@ -737,88 +804,288 @@ } } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "dev": true, "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "node_modules/@azure/core-auth": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.7.2.tgz", + "integrity": "sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==", + "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=18.0.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=18.0.0" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@azure/core-client": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.2.tgz", + "integrity": "sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4" + "node": ">=18.0.0" } }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@azure/core-client/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, "dependencies": { - "color-name": "1.1.3" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "node_modules/@azure/core-rest-pipeline": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.1.tgz", + "integrity": "sha512-ExPSbgjwCoht6kB7B4MeZoBAxcQSIl29r/bPeazZJx50ej4JJCByimLOrZoIsurISNyJQQHf30b3JfqC3Hb88A==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.9.0", + "@azure/logger": "^1.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.1.2.tgz", + "integrity": "sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.9.0.tgz", + "integrity": "sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/identity": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.3.0.tgz", + "integrity": "sha512-LHZ58/RsIpIWa4hrrE2YuJ/vzG1Jv9f774RfTTAVDZDriubvJ0/S5u4pnw4akJDlS0TiJb6VMphmVUFsWmgodQ==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.11.1", + "@azure/msal-node": "^2.9.2", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/identity/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@azure/identity/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@azure/logger": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.2.tgz", + "integrity": "sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/msal-browser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.17.0.tgz", + "integrity": "sha512-csccKXmW2z7EkZ0I3yAoW/offQt+JECdTIV/KrnRoZyM7wCSsQWODpwod8ZhYy7iOyamcHApR9uCh0oD1M+0/A==", + "dev": true, + "dependencies": { + "@azure/msal-common": "14.12.0" + }, "engines": { "node": ">=0.8.0" } }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/@azure/msal-common": { + "version": "14.12.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.12.0.tgz", + "integrity": "sha512-IDDXmzfdwmDkv4SSmMEyAniJf6fDu3FJ7ncOjlxkDuT85uSnLEhZi3fGZpoR7T4XZpOMx9teM9GXBgrfJgyeBw==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=0.8.0" } }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@azure/msal-node": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.9.2.tgz", + "integrity": "sha512-8tvi6Cos3m+0KmRbPjgkySXi+UQU/QiuVRFnrxIwt5xZlEEFa69O04RTaNESGgImyBBlYbo2mfE8/U8Bbdk1WQ==", + "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@azure/msal-common": "14.12.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" }, "engines": { - "node": ">=4" + "node": ">=16" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { @@ -867,13 +1134,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -881,12 +1148,12 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -916,19 +1183,19 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "engines": { @@ -948,69 +1215,74 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1020,34 +1292,34 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1057,59 +1329,61 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", "engines": { "node": ">=6.9.0" } @@ -1128,13 +1402,14 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -1205,9 +1480,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1276,12 +1551,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1378,12 +1653,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1407,14 +1682,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", + "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1452,15 +1727,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1470,16 +1745,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1500,32 +1775,32 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1533,12 +1808,12 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1740,7 +2015,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "optional": true, "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -1761,16 +2035,14 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "optional": true, "bin": { "semver": "bin/semver.js" } }, "node_modules/@electron/remote": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.1.tgz", - "integrity": "sha512-Lfxul2yBxL+FBVaKszNAkuUqSIDbUQ1I7BC394iRXyqA2XGz7im2bAxroNIM51jhySSPKUaOLHaFLxfV6pC9VQ==", - "optional": true, + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.2.tgz", + "integrity": "sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==", "peerDependencies": { "electron": ">= 13.0.0" } @@ -1894,18 +2166,18 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -1932,9 +2204,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1971,22 +2243,23 @@ } }, "node_modules/@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -2007,9 +2280,10 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { @@ -2301,13 +2575,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -2322,21 +2596,21 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -2345,281 +2619,128 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, "node_modules/@leafygreen-ui/a11y": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/a11y/-/a11y-1.4.11.tgz", - "integrity": "sha512-mzNMR4ci3ExdCY3Ec1kr7xH4nV02uamoohbWxcI9qSd41TFskaDAZSXO9PL9S8JosQXjpRkt0f470XvVE0kEXQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - } - }, - "node_modules/@leafygreen-ui/a11y/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/a11y/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/a11y/-/a11y-1.4.13.tgz", + "integrity": "sha512-ufiO4B40jyqLORhD0mQIpd4aBGpeCnM0dp9BrYggp0vJKhJV5sNSOJb5ytmSPGYXut5yhUZe4smYN5b94YWygQ==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" } }, "node_modules/@leafygreen-ui/badge": { - "version": "8.0.15", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/badge/-/badge-8.0.15.tgz", - "integrity": "sha512-oraJpLtZ4nXJNmKp71/wzYsk+djf8fXNNgDKo1srpN0lZXlEYfHG1qAaHpYGA60QIP4iQuRU4OkShGfruPACww==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/badge/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/badge/-/badge-8.1.3.tgz", + "integrity": "sha512-KsMi231G1dtF3XOzHgOpxp2TfpwqaUTZfJmrL38GaWh4G2svtzqejdeuxYKLCRBVo5udAjbrXvSjYyHhOYsw2Q==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/badge/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/banner": { - "version": "7.0.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/banner/-/banner-7.0.18.tgz", - "integrity": "sha512-EdH40+L6hrq3y1pPayIHawtQXUp9rzZtziDHlKeuUg2AgsSwfQ3WF48H2IP1ADF9I3npHpwMPsO3wGktEMG8lA==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.1", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4", - "@leafygreen-ui/typography": "^18.0.0" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/banner/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/banner/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/banner/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "version": "7.0.20", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/banner/-/banner-7.0.20.tgz", + "integrity": "sha512-GCFHQTGXocgjkeSM7uMSLsrV51RAVpMuu5dFy4cK9pbwhd+YNulUkClheVFUKJV6P5xFB/7SNajaGrYbLmVHWA==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/box": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/box/-/box-3.1.8.tgz", - "integrity": "sha512-qfjwhrie+mUrS2H+Qp98iQKBPoZtNpFmlGBYgg59sVOzotFvyvqwxlf/JcaNGo+v7nyOhC2XAHui0ywf9cScKw==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/box/-/box-3.1.9.tgz", + "integrity": "sha512-hY05VQKDVhqqBH/Dz1kxonjQmqrMR9URa3Dw3YgdLbVUd1hMQkoWbplamiE4S4vq2+81SQBgNw53i+/Vd0Cl0g==" }, "node_modules/@leafygreen-ui/button": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-19.0.4.tgz", - "integrity": "sha512-T72lmAHS63cvhyAKaO53tNysL3xDsjnmIoaP0I55eOFOYlEy522U7vf0RMi/BsOePyAJak+x9yZ4uj8AWMCsbg==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.7", - "@leafygreen-ui/ripple": "^1.1.8", - "@leafygreen-ui/tokens": "^2.0.0", + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.2.1.tgz", + "integrity": "sha512-Ngcve4Q+4e44Q7Lsjd1y70lw7Llq0ZWCUFP2kJA4Vfo+kr1HtxjtUSHVRs+8puCfKiFkusJ34D5dnFaAGL2YmQ==", + "dependencies": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/ripple": "^1.1.13", + "@leafygreen-ui/tokens": "^2.5.2", + "@lg-tools/test-harnesses": "^0.1.2", "polished": "^4.2.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.0" - } - }, - "node_modules/@leafygreen-ui/button/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, - "node_modules/@leafygreen-ui/button/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/button/node_modules/@leafygreen-ui/tokens/node_modules/@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" - }, "node_modules/@leafygreen-ui/card": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/card/-/card-9.0.9.tgz", - "integrity": "sha512-WeQiYUpWctuM8GWWgze1RuKOta+sXfYMEQPidcSIhTJK/9OKCLI4CfvJoH0vJdDlMKJWeozQh75pmYzSeWDfxA==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.4", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/lib": "^10.4.0", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/tokens": "^2.1.1", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/card/-/card-10.0.7.tgz", + "integrity": "sha512-eQFV1IkBuzA4cqT8ozA+13voVDiQD96MGW0JqS8bdZYIjim6HDGLq31PTz1zwuZOvpXa55p/byyBeq94rjSX5w==", + "dependencies": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", "polished": "^4.2.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.3" - } - }, - "node_modules/@leafygreen-ui/card/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/checkbox": { - "version": "12.0.20", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-12.0.20.tgz", - "integrity": "sha512-H811SnLrrW2jwwno92AtpdqCNcmvHJCu0X+TjnPcYAUjvXPtGUBw+aJLpwQ+S4qtss6TavnsXQ75xJWnyM2w8A==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-12.1.1.tgz", + "integrity": "sha512-9hl2tLeajx4i7MpFyK+Glck76wo+h780MkwkuSGIQZLKNGxithlHXmVJeejDyS72effeLO/umsZJGxylvbEs/A==", "dependencies": { "@leafygreen-ui/a11y": "^1.4.11", "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", + "@leafygreen-ui/hooks": "^8.1.2", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/typography": "^18.2.2", "react-transition-group": "^4.4.5" }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "^3.1.10" } }, - "node_modules/@leafygreen-ui/checkbox/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/checkbox/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/checkbox/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/checkbox/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, "node_modules/@leafygreen-ui/code": { - "version": "14.2.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/code/-/code-14.2.18.tgz", - "integrity": "sha512-vtAEzURQ/Or8G9vBjsjN4aCWoysHr/Ny/3ewEcLRpz66vkC0kplArdnmG5dVSmklzImU4jKa+QOeM74l3DTHUQ==", - "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/button": "^21.0.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.25.1", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/select": "^11.0.1", - "@leafygreen-ui/tokens": "^2.2.0", + "version": "14.3.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/code/-/code-14.3.3.tgz", + "integrity": "sha512-/QebIx0+hWCuiwEKXc/nqYpcV7MYmvzp5azqRRSbQmfFgV1pkdn1aa/IWLc+eHijpxAxBZmdk0xHYepPgSViQg==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/button": "^21.1.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/select": "^12.0.0", + "@leafygreen-ui/tokens": "^2.6.0", + "@leafygreen-ui/tooltip": "^11.0.3", "@types/facepaint": "^1.2.1", "@types/highlight.js": "^10.1.0", "clipboard": "^2.0.6", @@ -2630,1877 +2751,943 @@ "polished": "^4.2.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/select": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-11.1.1.tgz", - "integrity": "sha512-aH0RNrIF3EU+5ChHJxVVjzlmFGkYRTq9DTRqm9eWgWcZIT3+ggIJCOwBNMr/8rD72NhyXm+RD8Gp2wwk8XJJrg==", - "dependencies": { - "@leafygreen-ui/button": "^21.0.10", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/input-option": "^1.0.13", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-12.1.0.tgz", + "integrity": "sha512-4NaDvlYWciwg83snMwKrmUx9mvUrGzucqGRAIShsH9M4R21Bvdy2sXMWcjX/w8tZCwT500Jk6xWJll9op2Yx9w==", + "dependencies": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.2.0", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/input-option": "^1.1.3", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.1.0", + "@lg-tools/test-harnesses": "^0.1.2", "@types/react-is": "^18.0.0", "lodash": "^4.17.21", "polished": "^4.1.3", "react-is": "^18.0.1" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/code/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/code/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/@leafygreen-ui/confirmation-modal": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/confirmation-modal/-/confirmation-modal-4.0.10.tgz", - "integrity": "sha512-shnFII39bPmFuhWl4wZJn5eAok3GhxrUyffjDVZV7JsWNVJftZeYtqao/YAePgytr6Gwpc+7FcZSzwXk2RWwzw==", - "dependencies": { - "@leafygreen-ui/button": "^20.2.1", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/icon": "^11.17.0", - "@leafygreen-ui/modal": "^15.0.3", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/text-input": "^12.1.14", - "@leafygreen-ui/tokens": "^2.1.1", - "@leafygreen-ui/typography": "^16.5.1" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/confirmation-modal/-/confirmation-modal-5.2.0.tgz", + "integrity": "sha512-cCkwlaGkpQbpzJKvHzqD3Zo3YFZXDJzgMr6v5egjNHzkkz3fIAmmjB6CT1h4ad0SSWS2hUhjVnwvbn9EtTuD2A==", + "dependencies": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/modal": "^16.0.8", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/text-input": "^13.1.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.0.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.3" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/button": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-20.3.1.tgz", - "integrity": "sha512-uyy4o6WhRmwaDBt45qOUs/EC4QB4J36T7Hb7sidGQyetx8BU0VPigR4cnSAes0Ye95KyG5y7y/PgX2+Ab45K1g==", + "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/box": "^3.1.4", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/lib": "^10.4.0", - "@leafygreen-ui/palette": "^4.0.4", - "@leafygreen-ui/ripple": "^1.1.9", - "@leafygreen-ui/tokens": "^2.1.1", - "polished": "^4.2.2" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/text-input": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-13.1.0.tgz", + "integrity": "sha512-UkcqK6ycL+7wm5oQ81JymCzS2fbEIyXE1HKl5Dzy7+7J9fMCnVi+/oj55QwYkopPB3U6woS8CMZkdTGhGrhz1Q==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.2.3", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.4" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", + "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "react": "^17.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/modal": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-15.0.6.tgz", - "integrity": "sha512-GJ4SEwKQ1NU8xm1P/KJvRfCZVD0yZrXtI1xh0Lay/w4wy4XCAYwIUHm2sV2ydrGLd2VeCT1onflJsZDLU6MrOw==", + "node_modules/@leafygreen-ui/emotion": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/emotion/-/emotion-4.0.8.tgz", + "integrity": "sha512-gzEC8v9Ds8/wWuIYQ1yYbnERyIVt9X5tkG3AZIXqany+sKbWla9CfV+6vqEk1tdaIit1d0C2FS3rJH3BkA3VJg==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/icon": "^11.22.1", - "@leafygreen-ui/icon-button": "^15.0.16", - "@leafygreen-ui/lib": "^10.4.3", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/portal": "^4.1.7", - "@leafygreen-ui/tokens": "^2.1.4", - "focus-trap-react": "^8.10.0", - "polished": "^4.2.2", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" + "@emotion/css": "^11.1.3", + "@emotion/server": "^11.4.0" + } + }, + "node_modules/@leafygreen-ui/form-field": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/form-field/-/form-field-1.2.3.tgz", + "integrity": "sha512-LW2fM9oFgoQH8V4ZrWcrVlo6phNhULy7i5MTQDiHi+HvAkJQl67R2DWl2QuXgBNgkOkgrDM5ccb/J7fD37VO4A==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.4.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.7.0", + "@leafygreen-ui/typography": "^19.1.1" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.6" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", + "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/confirmation-modal/node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "node_modules/@leafygreen-ui/guide-cue": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/guide-cue/-/guide-cue-5.1.0.tgz", + "integrity": "sha512-o+EOUQ0IgS50u5C+8txrQ57js4aFpdK6EPeGSMarAXd5QPY6YsNA5bLBuSSJ6QBoyP2KLjT8c8Zwt7i0q7ywmw==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tooltip": "^11.1.0", + "@leafygreen-ui/typography": "^19.0.0", + "focus-trap": "6.9.4", + "focus-trap-react": "9.0.2", + "polished": "^4.2.2" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/emotion": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/emotion/-/emotion-4.0.7.tgz", - "integrity": "sha512-OxBgzEqmnZHxH9sAn6421zGKCgZ/nSf3Ryg/Ihvqz9NJEuPmKFMt/Kign4TeoaWZraIXAiWTt8q0QVBzu8ChVg==", + "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@emotion/css": "^11.1.3", - "@emotion/server": "^11.4.0" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/form-field": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/form-field/-/form-field-0.2.0.tgz", - "integrity": "sha512-sGpm+U+m3ErK76YciPapP9oC2GxvICKc1sMRGaAI1vMyYUbIlXEGxtLkL7Xd6HrJcC7aDRcN75MUlC2SJYQsTQ==", + "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.24.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "node_modules/@leafygreen-ui/hooks": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.1.3.tgz", + "integrity": "sha512-UAHii7T+g8h8sSzogqUgIid64bbKPHGihAAoBpNzbNsjqFllYVC0FpF59jQeL6tCYd32C2KatWOvhYheBf1hsA==", "dependencies": { + "@leafygreen-ui/lib": "^13.3.0", "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/icon": { + "version": "12.5.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon/-/icon-12.5.4.tgz", + "integrity": "sha512-RsoIN4hfBtJDGuR5ClElCYvpX5+YqjB381EJDZQGC12iQGhhJwCuD4p4NW4O+jWXpt7KGISDKg0Ieao5R/vmpw==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "lodash": "^4.17.21" + } + }, + "node_modules/@leafygreen-ui/icon-button": { + "version": "15.0.22", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon-button/-/icon-button-15.0.22.tgz", + "integrity": "sha512-o9+gSUfL5ZE6g05m89vv0BRtD+qcfOpfgbuusN5KXdvbAKPgUaweySFl6rMHgSybfdMM1E36rmxyyCwEo7Vahw==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "polished": "^4.2.2" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/info-sprinkle": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/info-sprinkle/-/info-sprinkle-1.0.5.tgz", + "integrity": "sha512-kwUxXw9rsy2V0xjumHYRcS1SU74HW33yiyQYLZ/+WCKCg7l4ECX62JpvZipFBwmUnUxl/s06/nmoQjXIxOLWxQ==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/tooltip": "^11.0.3" + }, + "peerDependencies": { + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/form-field/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "node_modules/@leafygreen-ui/inline-definition": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/inline-definition/-/inline-definition-6.0.14.tgz", + "integrity": "sha512-vCfSF1Lr8O4sm8f7w9rTflVyJRjF3Tyrtppr9OSfEPTDDlla+tiuSyvrMUty3xfdomc6JEGyumdozvjyU9dFsg==", "dependencies": { "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/tooltip": "^11.0.0" }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "^3.1.10" } }, - "node_modules/@leafygreen-ui/guide-cue": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/guide-cue/-/guide-cue-4.0.12.tgz", - "integrity": "sha512-OhmTuJPSExiAt/5/BB2UmmxywtcpX8Hb1EBjiG9W1vvhWWI2ielHapLvOzRkm1UbFasvzTxLCArW6BbiSbUn5w==", + "node_modules/@leafygreen-ui/input-option": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/input-option/-/input-option-1.1.4.tgz", + "integrity": "sha512-tti2719MBIId67OwbAnXXm71kqDRGa6Xjiy2cCVWL0au6rYpcm7RXio9J6KZyk4aUvHGu3f6jMNKQgifapvSlw==", "dependencies": { - "@leafygreen-ui/a11y": "^1.4.7", - "@leafygreen-ui/button": "^21.0.3", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/icon": "^11.22.1", - "@leafygreen-ui/icon-button": "^15.0.16", - "@leafygreen-ui/lib": "^10.4.3", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.0.15", - "@leafygreen-ui/tooltip": "^10.0.7", - "@leafygreen-ui/typography": "^16.5.4", - "focus-trap-react": "^10.0.0", - "polished": "^4.2.2" + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0", + "@leafygreen-ui/typography": "^19.2.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.6" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", + "node_modules/@leafygreen-ui/input-option/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/button/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/input-option/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", + "node_modules/@leafygreen-ui/leafygreen-provider": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/leafygreen-provider/-/leafygreen-provider-3.1.12.tgz", + "integrity": "sha512-lV5R30jTZ41FTBj+TSyme/QcplIkQlUnC+WE/YRfWL4XvgGeGUoGXlHl7gu4mMoXy8p/VRBw8fcotxhvBf58gA==", + "dependencies": { + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" + } + }, + "node_modules/@leafygreen-ui/lib": { + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.6.0.tgz", + "integrity": "sha512-4TglZhImmJ5G13nEoBsNkwBEDZLS0Qo4b3hfPnJsXQ0+BYguxExevan6S7i7hQ4iwvZekCVKGd/yrp0UonrOHQ==", "dependencies": { "@storybook/csf": "^0.1.0", "lodash": "^4.17.21", "prop-types": "^15.7.2" }, "peerDependencies": { - "react": "^17.0.0" + "react": "^17.0.0 || ^18.0.0" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/logo": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/logo/-/logo-9.1.1.tgz", + "integrity": "sha512-VeoTtRO45CUMBvGml0OBX48nwwHeECLiIs5H0dSuYaq7UlIF4YrSDc5O4qd+yq6jX3Eu11/3y9wxu0NlqKtDkw==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/tooltip": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-10.1.0.tgz", - "integrity": "sha512-jgrETmJveRDzDtz1qYI18Pkc53XGp/38l10MWPl8mv+/ahCCgNED2idmCjCwJ3/ju14t6ASSzs0SuH1jokNcAA==", + "node_modules/@leafygreen-ui/marketing-modal": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/marketing-modal/-/marketing-modal-4.2.3.tgz", + "integrity": "sha512-3rQh0SM1FYpFo/CQubCWZYcgvd0OSCWMAFxMT9ax+xoKZQPwxlPdQ8INWw0B99SF9mVMhP74cmftFQ+88hOcPw==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.2.2" + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/modal": "^16.0.7", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "node_modules/@leafygreen-ui/marketing-modal/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/marketing-modal/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "node_modules/@leafygreen-ui/menu": { + "version": "23.0.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/menu/-/menu-23.0.3.tgz", + "integrity": "sha512-wC5nXKJWAlHWvmMUed7u2ldsyxAl0NjrmAuugov4h4Ng3wSJMfURJRL9F+1240zjxyvURtUnMjZrD/Pc1Q9M8Q==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", + "lodash": "^4.17.21", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "node_modules/@leafygreen-ui/menu/node_modules/@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" + }, + "node_modules/@leafygreen-ui/modal": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-16.0.9.tgz", + "integrity": "sha512-WWcIkapE8Q4m4dJVXIp5t6RhEEoWGwbGW+nB36UC27JrqQHBtfViGQ9zgZFEfZE0qG8jgLke/PvpEoublNZa4A==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/icon-button": "^15.0.22", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.8.0", + "focus-trap": "6.9.4", + "focus-trap-react": "^9.0.2", + "polished": "^4.2.2", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "node_modules/@leafygreen-ui/palette": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.10.tgz", + "integrity": "sha512-0vhKwMfBv7eO9txSxkgxijjI8M9L8uLFge+JpbBXql37+rKJuiQl7wCb5OPIJM+aV2HaHElGMyf9nRliabk30w==" + }, + "node_modules/@leafygreen-ui/pipeline": { + "version": "5.0.20", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/pipeline/-/pipeline-5.0.20.tgz", + "integrity": "sha512-XxANPl3TGWQGNu0OELxAEtLO30bjAAo6NLU4YlUoIF3PGyFjsm0zyGmL646KrMSmOjL+RPaAEhabh10lA6R4MQ==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/tooltip": "^11.0.3", + "react-intersection-observer": "^8.25.1" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/focus-trap": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", - "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", - "dependencies": { - "tabbable": "^6.2.0" - } + "node_modules/@leafygreen-ui/polymorphic": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.6.tgz", + "integrity": "sha512-ZJqrYNAAO/CLgl3vtl01jQl2xz6pvzPRMEDqOgCykEn2/vk6wZUOJJ4FVK0cbLZuzwvKixbrTgOSw4WrF19sKg==" }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/focus-trap-react": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-10.2.3.tgz", - "integrity": "sha512-YXBpFu/hIeSu6NnmV2xlXzOYxuWkoOtar9jzgp3lOmjWLWY59C/b8DtDHEAV4SPU07Nd/t+nS/SBNGkhUBFmEw==", - "dependencies": { - "focus-trap": "^7.5.4", - "tabbable": "^6.2.0" + "node_modules/@leafygreen-ui/popover": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/popover/-/popover-11.4.0.tgz", + "integrity": "sha512-hSr3zbbWOCUuhByR5ncFJTkXxFfA7o2QjVjDXKLVPPn9Gh7+sYRLe87mTQWs9m8fbRx9O4Uk7Vq0R9U4A77dxw==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.8.0", + "@types/react-transition-group": "^4.4.5", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "prop-types": "^15.8.1", - "react": ">=16.3.0", - "react-dom": ">=16.3.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/guide-cue/node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" - }, - "node_modules/@leafygreen-ui/hooks": { - "version": "7.7.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-7.7.8.tgz", - "integrity": "sha512-8n0GjAxIxXN1e7XcZ2bobdI56XCqbtH3AZTbWTgQdILnTdxuA/9+yif1zIP4L8shoUbcosuMwU5HRu4UnX9n1g==", + "node_modules/@leafygreen-ui/portal": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.1.1.tgz", + "integrity": "sha512-8wvNdLxO3hWY7u5rf1ndYCJJ85TB6XpKp+dl7sQPoLnkq8HXd4GqnFXYwvGQp/pf3ts/Dp5FmZ/9dljkktnzQg==", "dependencies": { - "lodash": "^4.17.21" + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" + }, + "peerDependencies": { + "react-dom": "^17.0.0 || ^18.0.0" } }, - "node_modules/@leafygreen-ui/icon": { - "version": "11.25.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon/-/icon-11.25.1.tgz", - "integrity": "sha512-45m9INMLG2kKa8BTqP/ZGpc832w0CTO3KFK5kqwQdBouYyJogrKEQlI1Toss+JYKoBVHFYXBQc0ST8tIU4zr3w==", + "node_modules/@leafygreen-ui/radio-box-group": { + "version": "12.0.16", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-box-group/-/radio-box-group-12.0.16.tgz", + "integrity": "sha512-3jTprIrHO87oUsZCGn+FNkK7/clER+yTLV9GKt13rYlpy429hRs1c9EwNHfhT50DPhENhIIc/XYNMpWTDuWyBg==", "dependencies": { "@leafygreen-ui/emotion": "^4.0.7", - "lodash": "^4.17.21" + "@leafygreen-ui/hooks": "^8.0.0", + "@leafygreen-ui/lib": "^13.0.0", + "@leafygreen-ui/palette": "^4.0.7", + "@leafygreen-ui/tokens": "^2.2.0" + }, + "peerDependencies": { + "@leafygreen-ui/leafygreen-provider": "^3.1.10" } }, - "node_modules/@leafygreen-ui/icon-button": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon-button/-/icon-button-15.0.19.tgz", - "integrity": "sha512-TXNFHpfuMXIcMQHW/D31GEFby63qhBLyeI5CLL8KQjD5Xom3Q6fqviu/eyXE097jTzQtd1dO/2IIiqyyLRW30g==", + "node_modules/@leafygreen-ui/radio-group": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-group/-/radio-group-10.2.5.tgz", + "integrity": "sha512-QwytVW6RtbxXsiMdDszpdXQeF6jVXElWhiotN4dpW82DCqBpAPNMYr2T24a4I2DTn/2mhfs+nBXBtcN7QYhxTA==", "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/box": "^3.1.8", "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", + "@leafygreen-ui/hooks": "^8.1.2", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/typography": "^18.2.2" }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "^3.1.10" } }, - "node_modules/@leafygreen-ui/icon-button/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/ripple": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/ripple/-/ripple-1.1.13.tgz", + "integrity": "sha512-M8JCnV+bYVYnRaO80qFiuf4oZjatFoAeNTw8mUKCr5/hboNmOJe7vGdJ69Um7iQUYMSBa8IXwD8eHHNgUcOAnw==", "dependencies": { - "@storybook/csf": "^0.1.0", + "@leafygreen-ui/tokens": "^2.5.2" + } + }, + "node_modules/@leafygreen-ui/search-input": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/search-input/-/search-input-2.1.6.tgz", + "integrity": "sha512-BmxxPXWuAjrOhxUh6a9Dyq4kAYUO7x+PaokH7lUIwyigm1fVY1uinkpk7Gd0/vcFUhLzZjbBl7O6B0OLIJVjcw==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/input-option": "^1.1.2", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0", "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "polished": "^4.2.2" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/icon-button/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } + "node_modules/@leafygreen-ui/search-input/node_modules/@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" }, - "node_modules/@leafygreen-ui/info-sprinkle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/info-sprinkle/-/info-sprinkle-1.0.2.tgz", - "integrity": "sha512-SWab7+ljlNQQML6f2t2VOnp2JtZjcJ+KcZcVHUikjt7gYnS6+YtK9MEwZOFsLue6IchaJgPNsVA+Fm+e/PjSuQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/tooltip": "^11.0.0" + "node_modules/@leafygreen-ui/segmented-control": { + "version": "8.2.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/segmented-control/-/segmented-control-8.2.13.tgz", + "integrity": "sha512-SqXcAJnOqUslrGYZNfAQuhV7zkftUTHF3AKHbo/FZt5BUtbzhbEr01JhGxoG5mcVTvKIptL+eHLEoCy+2IvyMw==", + "dependencies": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.4.0", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "lodash": "^4.17.21", + "polished": "^4.2.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/info-sprinkle/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "node_modules/@leafygreen-ui/segmented-control/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/info-sprinkle/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/segmented-control/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@storybook/csf": "^0.1.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" + }, + "peerDependencies": { + "@leafygreen-ui/leafygreen-provider": "^3.1.12" + } + }, + "node_modules/@leafygreen-ui/select": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-11.3.2.tgz", + "integrity": "sha512-qPAXYibI4UNX+xW7QdspoT+fg9WfkqTwCsD9j27rTyJZ+pR2BOW5oynG5gKnm0AVPWullms5/SdxiLWai1GxNA==", + "dependencies": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/input-option": "^1.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2", + "@types/react-is": "^18.0.0", "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "polished": "^4.1.3", + "react-is": "^18.0.1" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/info-sprinkle/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/info-sprinkle/node_modules/@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", + "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "lodash": "^4.17.21", - "polished": "^4.2.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/info-sprinkle/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "node_modules/@leafygreen-ui/select/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@leafygreen-ui/table": { + "version": "12.6.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/table/-/table-12.6.4.tgz", + "integrity": "sha512-bXnYUrn+SWdLcaUIjfr3CwLilpdjpLJrW8GY/co4SOqlA57/ih8pi1dei3ltmsjtCxOkupU0jZeMUoF45JNikg==", + "dependencies": { + "@leafygreen-ui/checkbox": "^13.1.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0", + "@leafygreen-ui/typography": "^19.2.0", + "@tanstack/react-table": "^8.13.2", + "lodash": "^4.17.21", + "polished": "^4.2.2", + "react-keyed-flatten-children": "^1.3.0", + "react-transition-group": "^4.4.5", + "react-virtual": "^2.10.4" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/inline-definition": { - "version": "6.0.14", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/inline-definition/-/inline-definition-6.0.14.tgz", - "integrity": "sha512-vCfSF1Lr8O4sm8f7w9rTflVyJRjF3Tyrtppr9OSfEPTDDlla+tiuSyvrMUty3xfdomc6JEGyumdozvjyU9dFsg==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tooltip": "^11.0.0" + "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/checkbox": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-13.1.0.tgz", + "integrity": "sha512-Cu+Jqunde+yTYqdUvRe/o2gBZE/WI8nyhvS+Ozy2PB1KMN95PCQ/oCU1oMI3n5/gQTbFEXi4ia54eln0TRgh7w==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/inline-definition/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/inline-definition/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/inline-definition/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/inline-definition/node_modules/@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", + "node_modules/@leafygreen-ui/tabs": { + "version": "11.1.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/tabs/-/tabs-11.1.13.tgz", + "integrity": "sha512-n771tkjfSMa/P3Y7QwqwTKIbiyaHZeRXg8jYDSLcC9DKphng0LyRBfItzMApqpU5HPpU75SIxCMixMh03eW9pw==", "dependencies": { + "@leafygreen-ui/a11y": "^1.4.11", + "@leafygreen-ui/box": "^3.1.8", "@leafygreen-ui/emotion": "^4.0.7", "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", + "@leafygreen-ui/portal": "^5.0.3", "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "lodash": "^4.17.21", - "polished": "^4.2.2" + "@leafygreen-ui/typography": "^18.0.1" }, "peerDependencies": { "@leafygreen-ui/leafygreen-provider": "^3.1.10" } }, - "node_modules/@leafygreen-ui/inline-definition/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "node_modules/@leafygreen-ui/text-area": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-area/-/text-area-8.2.1.tgz", + "integrity": "sha512-Q1jxuGi5le9bQLbqv9JCHUSwSIL2gD7iNCRpXTgiFjbUkR4k2QuxZaQs8osg0NZw1qojezZtuMe7+hIOU3pCBg==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.4.0", + "@lg-tools/test-harnesses": "^0.1.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/input-option": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/input-option/-/input-option-1.0.13.tgz", - "integrity": "sha512-6J4rji1V2EHpKyqsuZPa2KVW4IHbj26Wp9VoJuFh6hz3LkNpJ5FoRxLvUGlL9wf8b+A2oK+bz5rW0FP+vs+nlw==", + "node_modules/@leafygreen-ui/text-input": { + "version": "12.1.27", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-12.1.27.tgz", + "integrity": "sha512-YYF1zTANoP4vp6ioqv8R4iG0vYO+IY+6HMOvuQSrxpOOix9CGUQrr+79N0Yl2hcaLjwGIsJpJAfDlx+DZCMhXA==", "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4", - "@leafygreen-ui/typography": "^18.0.0" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.0.1", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/input-option/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", + "node_modules/@leafygreen-ui/toast": { + "version": "6.1.25", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/toast/-/toast-6.1.25.tgz", + "integrity": "sha512-zd84n+D0uDmYRdQMzO+G+ZmUWahrdn3Ih4BRnzUl9MBinGs1uNseZkBR2rViebKjm3MBf1jkV7b8nF6aKsFJRg==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "polished": "^4.2.2", + "react-transition-group": "^4.4.5" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/input-option/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "node_modules/@leafygreen-ui/input-option/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/leafygreen-provider": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/leafygreen-provider/-/leafygreen-provider-3.1.10.tgz", - "integrity": "sha512-ZPrC9rQVCvyRQU76snv7h/DhDrarVlvbokV8r9ylanfnjFZwm02RliRVYiGiJHkz3LYrdmpJ2384z9juRFQDaQ==", - "dependencies": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - } - }, - "node_modules/@leafygreen-ui/leafygreen-provider/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/leafygreen-provider/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/lib": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.0.tgz", - "integrity": "sha512-gGZBJ0Mjo2/hHfECbERGJbx1nPFNDqkge7L1K5y5LwBjpiOYjUNa1OsyBRwc9pr+zucdAF2FHSo+EdoT83Mbtg==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0" - } - }, - "node_modules/@leafygreen-ui/marketing-modal": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/marketing-modal/-/marketing-modal-3.0.10.tgz", - "integrity": "sha512-9WGa/HXvdHsdqTuKKXefe2XV+/73rIj8zzMsx0dcUILYxGMllHZDH/X80B1qA39GyqaGX8SLv/g2vmlF7jXbqw==", - "dependencies": { - "@leafygreen-ui/button": "^19.0.0", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/modal": "^12.0.0", - "@leafygreen-ui/palette": "^3.4.4", - "@leafygreen-ui/tokens": "^1.3.4", - "@leafygreen-ui/typography": "^15.0.0" - } - }, - "node_modules/@leafygreen-ui/marketing-modal/node_modules/@leafygreen-ui/modal": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-12.0.1.tgz", - "integrity": "sha512-GIJGf4ys2n8TuU8rFEHa0juv3gE1JBf395v3gDNmimVZr/zkDTgcK6t8vWJ7PbCH9nX9s4BWUI7Ng6w2h7qTZw==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.12.1", - "@leafygreen-ui/icon-button": "^15.0.1", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.4", - "@leafygreen-ui/portal": "^4.0.7", - "@leafygreen-ui/tokens": "^1.4.0", - "facepaint": "^1.2.1", - "focus-trap-react": "^8.10.0", - "polished": "^4.2.2", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.0" - } - }, - "node_modules/@leafygreen-ui/marketing-modal/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, - "node_modules/@leafygreen-ui/menu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/menu/-/menu-19.0.4.tgz", - "integrity": "sha512-baTyt2sAAKNQQGd8GihYQOWeWZq1hr9isOcRxEkl73h6a3D1JeKsje6gHCR8d/heSpVDkFQf9+yL0Jxp3rExgw==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.12.4", - "@leafygreen-ui/icon-button": "^15.0.4", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.7", - "@leafygreen-ui/popover": "^11.0.4", - "@leafygreen-ui/tokens": "^2.0.0", - "lodash": "^4.17.21", - "react-transition-group": "^4.4.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.0" - } - }, - "node_modules/@leafygreen-ui/menu/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, - "node_modules/@leafygreen-ui/menu/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/menu/node_modules/@leafygreen-ui/tokens/node_modules/@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" - }, - "node_modules/@leafygreen-ui/modal": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-14.0.5.tgz", - "integrity": "sha512-7zrBZSdf4P8OWeUxxFRLgSZhh/V7REbkXJrpqb/JK2fclU161ZeT2SLLdFKfnjQqf4n3eOVrlDsxy8xwwZ769Q==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/hooks": "^7.7.1", - "@leafygreen-ui/icon": "^11.13.1", - "@leafygreen-ui/icon-button": "^15.0.9", - "@leafygreen-ui/lib": "^10.3.2", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/portal": "^4.1.1", - "@leafygreen-ui/tokens": "^2.0.2", - "focus-trap-react": "^8.10.0", - "polished": "^4.2.2", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.2" - } - }, - "node_modules/@leafygreen-ui/modal/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" - }, - "node_modules/@leafygreen-ui/pipeline": { - "version": "5.0.17", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/pipeline/-/pipeline-5.0.17.tgz", - "integrity": "sha512-peTDNz/xhVvh/M8zhJ5u488xBz8zCGjwKdhWzNvSX2r2u3Kg+kfVo40zmNUedBgbgWJDCkiroKzr12rDpxPEMw==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/tooltip": "^11.0.0", - "react-intersection-observer": "^8.25.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/pipeline/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/pipeline/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/pipeline/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/pipeline/node_modules/@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "lodash": "^4.17.21", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/pipeline/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/polymorphic": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.6.tgz", - "integrity": "sha512-ZJqrYNAAO/CLgl3vtl01jQl2xz6pvzPRMEDqOgCykEn2/vk6wZUOJJ4FVK0cbLZuzwvKixbrTgOSw4WrF19sKg==" - }, - "node_modules/@leafygreen-ui/popover": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/popover/-/popover-11.2.0.tgz", - "integrity": "sha512-wGN1yQL7p1+eD4Aivu6Gg7UexdlUceSVAVMPBj3mWXUexcQjT5bRk+S7eR/x7R079Sn1Es2voEQSiO+hur39Gw==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/portal": "^5.0.3", - "@leafygreen-ui/tokens": "^2.2.0", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/popover/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/popover/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/popover/node_modules/@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "dependencies": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - }, - "peerDependencies": { - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/popover/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/portal": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-4.1.7.tgz", - "integrity": "sha512-P2lgxhRk7uB7N7ourOupa22pH7G/wTZb1RxYVUl4yNNzXRZ0IhXdt+R1aPPGOfy1pG/m/hHJ3Wf+zVwWaN0vGQ==", - "dependencies": { - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/lib": "^10.4.3" - }, - "peerDependencies": { - "react-dom": "^17.0.0" - } - }, - "node_modules/@leafygreen-ui/portal/node_modules/@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0" - } - }, - "node_modules/@leafygreen-ui/radio-box-group": { - "version": "12.0.16", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-box-group/-/radio-box-group-12.0.16.tgz", - "integrity": "sha512-3jTprIrHO87oUsZCGn+FNkK7/clER+yTLV9GKt13rYlpy429hRs1c9EwNHfhT50DPhENhIIc/XYNMpWTDuWyBg==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/radio-box-group/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/radio-box-group/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/radio-box-group/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/radio-group": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-group/-/radio-group-10.2.3.tgz", - "integrity": "sha512-2X7DYnl1CrPNDaKAS7pphEsePiVeQLBdcY95fJEhwHyeFMKOF4RvNxjwdVnHIedycJhR156d612yFAZXueuGeQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/radio-group/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/radio-group/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/radio-group/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/radio-group/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/ripple": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/ripple/-/ripple-1.1.12.tgz", - "integrity": "sha512-4i+AoogkaX5UAY5SGuQwZBScF+FRSd9+vlpKrB1FtesYhWC6g2e4DS/nd00g4EnpgYXvK22g0dsxoUkog71mIg==", - "dependencies": { - "@leafygreen-ui/tokens": "^2.1.4" - } - }, - "node_modules/@leafygreen-ui/ripple/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/search-input": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/search-input/-/search-input-2.1.2.tgz", - "integrity": "sha512-Deia+EPqnAfcTnoNQ6HHZ9E9nXGAWdxa9QjMGHZbDAsyusGPmRqfl6uYCySI1AYqeo3fawnOMcskEzZ1DMub3A==", - "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.24.0", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/input-option": "^1.0.13", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/search-input/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/search-input/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/search-input/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/search-input/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/segmented-control": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/segmented-control/-/segmented-control-7.0.5.tgz", - "integrity": "sha512-ar0+gKg7ClTz+YK7TnaWq9bY0y7TazGxxR/vjPTAO/LRgg6drP/nmycU8Q3UqsL2LPJqRscKTcIPv9lSNl6eEw==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.7.0", - "@leafygreen-ui/icon": "^11.12.7", - "@leafygreen-ui/lib": "^10.3.1", - "@leafygreen-ui/palette": "^4.0.1", - "@leafygreen-ui/tokens": "^2.0.1", - "@leafygreen-ui/typography": "^16.2.0", - "lodash": "^4.17.21", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.1" - } - }, - "node_modules/@leafygreen-ui/segmented-control/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/segmented-control/node_modules/@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.7" - } - }, - "node_modules/@leafygreen-ui/segmented-control/node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/select": { - "version": "10.3.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-10.3.18.tgz", - "integrity": "sha512-YJkO15Clg72D5RX0V4Ea6+IozftIbHUREAb7Gs/sYFEAESIuT6u/rmhhqOBZHtWmc/yNVgcFYDPJHXWYVzYV+w==", - "dependencies": { - "@leafygreen-ui/button": "^21.0.7", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^12.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.0.18", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^17.0.1", - "@types/react-is": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.1.3", - "react-is": "^18.0.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.9" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", - "dependencies": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/button/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/lib": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-12.0.0.tgz", - "integrity": "sha512-nhaxi4oBesnizxO0YK7XwcmiLL9U5QuN7lkZdWGDdmoJgNNL+aRju4W5vmZc7vcazSHfr3gAL+NFAGaAuopyRA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/@leafygreen-ui/typography": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-17.0.2.tgz", - "integrity": "sha512-wx+kk5VNMOCTenrIG2AcgAKHt9TiLhSTirZARv0J6l4VOgnO+Mkbh3sqd4mk0EOBCAFmsBR3WqwQh00JXU8Htw==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^12.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.9" - } - }, - "node_modules/@leafygreen-ui/select/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@leafygreen-ui/table": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/table/-/table-10.0.3.tgz", - "integrity": "sha512-JuoUkcFvE/oV7qt0tIeXHQPehHGMSp4YCbm4JaWq76ExdUhP6lPP5nv/sfMsBPk1ICGkeOxMYcVHXi0e67XGWA==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.5.0", - "@leafygreen-ui/icon": "^11.12.5", - "@leafygreen-ui/icon-button": "^15.0.7", - "@leafygreen-ui/lib": "^10.2.2", - "@leafygreen-ui/palette": "^4.0.0", - "@leafygreen-ui/tokens": "^2.0.1", - "@leafygreen-ui/typography": "^16.1.0", - "lodash": "^4.17.21", - "polished": "^4.2.2", - "react-transition-group": "^4.4.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.1" - } - }, - "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.7" - } - }, - "node_modules/@leafygreen-ui/table/node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/tabs": { - "version": "11.1.13", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tabs/-/tabs-11.1.13.tgz", - "integrity": "sha512-n771tkjfSMa/P3Y7QwqwTKIbiyaHZeRXg8jYDSLcC9DKphng0LyRBfItzMApqpU5HPpU75SIxCMixMh03eW9pw==", - "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/portal": "^5.0.3", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/tabs/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/tabs/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/tabs/node_modules/@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "dependencies": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - }, - "peerDependencies": { - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/tabs/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/tabs/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/text-area": { - "version": "8.0.20", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-area/-/text-area-8.0.20.tgz", - "integrity": "sha512-cCW0isImuA6rpV7/HWHBMHqfnLPLUOb0DWntBQVa8OvytBiAaPV+Dn8bZKw76QZ4iP33Nj4/5vNQTgtRAfMDtg==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/text-area/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/text-area/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/text-area/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/text-area/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/text-input": { - "version": "12.1.24", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-12.1.24.tgz", - "integrity": "sha512-IE7Ukw3brzBkPqaSAQNsjaYrj5AHsZO4T1VMPME/06ESWk0YUukPlc3vRH9F72LkPkrOetf8TzmfRglGs3wShQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/form-field": "^0.2.0", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/text-input/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/text-input/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/text-input/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/text-input/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/toast": { - "version": "6.1.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/toast/-/toast-6.1.18.tgz", - "integrity": "sha512-VnGZx0/0gVedT+uAyfrkpsIa5J3xAXP6YblL8fG6DcH5EIxtLjEHDSc/+W1EP75aVYNGaJ8cW83vKTU9bNjaIA==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/portal": "^5.0.3", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.2.2", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "dependencies": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - }, - "peerDependencies": { - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "node_modules/@leafygreen-ui/toast/node_modules/@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/toggle": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/toggle/-/toggle-10.0.17.tgz", - "integrity": "sha512-EUo7kxMMNH+rv8dVJCqyi7zGRPCgiiw+cGXgMa2dI2u1MJQHqGdnNFeQSIJE48jDBpJZfIfMxyryN5lpR3ziHg==", - "dependencies": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/toggle/-/toggle-10.1.1.tgz", + "integrity": "sha512-s5T7d3/MYdX15UZaB4c7PtUmk43EO2/7yzkQrxR/lE75rG/RByMaLfVsRFHY9ob/Z5Z2/LysZqfY7rq3rkkJvQ==", + "dependencies": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@lg-tools/test-harnesses": "^0.1.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.10" - } - }, - "node_modules/@leafygreen-ui/toggle/node_modules/@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@leafygreen-ui/toggle/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/tokens": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-1.4.1.tgz", - "integrity": "sha512-ap9IdpQy+wg8IG9rJbWZB9F9zihhixClz68UFcwJMbDqcvxcqRPBvRpkbqiJdAPwOSrbYZfrHSGEtdJk9bzZAg==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.9.0.tgz", + "integrity": "sha512-Ogn250aFFHylmkKZAtdyS6qhA3JiHra+Zx8tMK500kkWTo8lwh7bSiK6nVwKWzkkeReEr8Iq41a08RjaRaf4HQ==", "dependencies": { - "@leafygreen-ui/palette": "^3.4.5" + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9" } }, - "node_modules/@leafygreen-ui/tokens/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, "node_modules/@leafygreen-ui/tooltip": { - "version": "9.1.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-9.1.8.tgz", - "integrity": "sha512-bqLF0z4L19y253nmRoQSs4U1O7OGSCf46e1N7xBCbenlZVMLN4MSk0EQdpmDmXqMkopLOomVQAy/17guV6YULA==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/hooks": "^7.7.1", - "@leafygreen-ui/icon": "^11.13.1", - "@leafygreen-ui/lib": "^10.3.3", - "@leafygreen-ui/palette": "^4.0.4", - "@leafygreen-ui/popover": "^11.0.8", - "@leafygreen-ui/tokens": "^2.0.3", - "@leafygreen-ui/typography": "^16.3.0", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.1.0.tgz", + "integrity": "sha512-nVIirNqBShuj25u9koOPAVYpqGWKSDe/rsdRyPWZLeL9rLfbtZi9Xn44HeDX7brVo+KBkE29Gsuh1Y3J7LN5ng==", + "dependencies": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.0.0", "lodash": "^4.17.21", "polished": "^4.2.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.2" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "dependencies": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, "node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "dependencies": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.7" - } - }, - "node_modules/@leafygreen-ui/tooltip/node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "dependencies": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, "node_modules/@leafygreen-ui/typography": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-15.3.0.tgz", - "integrity": "sha512-JmdCGHvFpX0/KyB42zcAjo5ViBKuoIL74MQwN25neWgWAg19Q4VMPrTm+hnysqaPW0ntCwRayexbWnTI+XPD+Q==", + "version": "18.4.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.4.0.tgz", + "integrity": "sha512-2pfoBv6jEPupMzT/rciyP6oN53Fc2h0Nl/uXubSRuFcIDwUAE6CIb3+IjK3UNyQrnOixGU4lWQhxIPTrnyxCpQ==", "dependencies": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/icon": "^11.12.3", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.6", - "@leafygreen-ui/tokens": "^1.4.1" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/tokens": "^2.5.2" }, "peerDependencies": { - "@leafygreen-ui/leafygreen-provider": "^3.1.0" + "@leafygreen-ui/leafygreen-provider": "^3.1.12" } }, - "node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" + "node_modules/@leafygreen-ui/typography/node_modules/@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" }, "node_modules/@lezer/common": { "version": "1.2.0", @@ -4542,6 +3729,56 @@ "@lezer/common": "^1.0.0" } }, + "node_modules/@lg-tools/test-harnesses": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@lg-tools/test-harnesses/-/test-harnesses-0.1.2.tgz", + "integrity": "sha512-Fb6bb9v69ey7Z9LOWMZUVNgyk5Xlgi3+CC78aqB7aFyOt0/9YSldWmxDp4tLRRu5cY8cmW3xqo5uLGT9JyWLWQ==", + "dependencies": { + "@testing-library/dom": "9.3.1" + } + }, + "node_modules/@lg-tools/test-harnesses/node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@lg-tools/test-harnesses/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@lg-tools/test-harnesses/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/@lukeed/csprng": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", @@ -4562,88 +3799,71 @@ } }, "node_modules/@mongodb-js/compass-components": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.21.2.tgz", - "integrity": "sha512-49zX5T5VXvLBcuU/SvPks/nbJyGy5pUCKBpaUV3Mb2ycIa8uj2cJvnte8YcPPDRn5dpcTM1Iar0NhqD8rjiPBQ==", + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.26.0.tgz", + "integrity": "sha512-YiWQkAmLEOH4z5vcoraLF3x9B0MYDJmOGYkWUeVzBXmbtkDNI+Y4tkAV0uFr8+PkkGglH1jmOso81O6Op3A0IQ==", "dependencies": { "@dnd-kit/core": "^6.0.7", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@emotion/css": "^11.11.2", - "@leafygreen-ui/badge": "^8.0.1", - "@leafygreen-ui/banner": "^7.0.1", - "@leafygreen-ui/button": "^19.0.3", - "@leafygreen-ui/card": "^9.0.2", - "@leafygreen-ui/checkbox": "^12.0.8", - "@leafygreen-ui/code": "^14.1.0", - "@leafygreen-ui/confirmation-modal": "^4.0.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/guide-cue": "^4.0.0", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.21.0", - "@leafygreen-ui/icon-button": "^15.0.3", - "@leafygreen-ui/info-sprinkle": "^1.0.0", - "@leafygreen-ui/inline-definition": "^6.0.0", - "@leafygreen-ui/leafygreen-provider": "^3.1.0", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/logo": "^7.0.0", - "@leafygreen-ui/marketing-modal": "^3.0.10", - "@leafygreen-ui/menu": "^19.0.1", - "@leafygreen-ui/modal": "^14.0.0", - "@leafygreen-ui/palette": "^3.4.6", - "@leafygreen-ui/pipeline": "^5.0.1", - "@leafygreen-ui/popover": "^11.0.1", - "@leafygreen-ui/portal": "^4.0.7", - "@leafygreen-ui/radio-box-group": "^12.0.5", - "@leafygreen-ui/radio-group": "^10.1.1", - "@leafygreen-ui/search-input": "^2.0.3", - "@leafygreen-ui/segmented-control": "^7.0.0", - "@leafygreen-ui/select": "^10.1.0", - "@leafygreen-ui/table": "^10.0.2", - "@leafygreen-ui/tabs": "^11.0.1", - "@leafygreen-ui/text-area": "^8.0.1", - "@leafygreen-ui/text-input": "^12.1.1", - "@leafygreen-ui/toast": "^6.1.3", - "@leafygreen-ui/toggle": "^10.0.2", - "@leafygreen-ui/tokens": "^1.4.1", - "@leafygreen-ui/tooltip": "^9.0.2", - "@leafygreen-ui/typography": "^15.2.0", + "@leafygreen-ui/badge": "^8.1.1", + "@leafygreen-ui/banner": "^7.0.19", + "@leafygreen-ui/button": "^21.0.12", + "@leafygreen-ui/card": "^10.0.6", + "@leafygreen-ui/checkbox": "^12.1.1", + "@leafygreen-ui/code": "^14.3.1", + "@leafygreen-ui/confirmation-modal": "^5.0.11", + "@leafygreen-ui/emotion": "^4.0.7", + "@leafygreen-ui/guide-cue": "^5.0.6", + "@leafygreen-ui/hooks": "^8.1.2", + "@leafygreen-ui/icon": "^12.0.0", + "@leafygreen-ui/icon-button": "^15.0.20", + "@leafygreen-ui/info-sprinkle": "^1.0.3", + "@leafygreen-ui/inline-definition": "^6.0.14", + "@leafygreen-ui/leafygreen-provider": "^3.1.11", + "@leafygreen-ui/lib": "^13.2.1", + "@leafygreen-ui/logo": "^9.0.1", + "@leafygreen-ui/marketing-modal": "^4.2.1", + "@leafygreen-ui/menu": "^23.0.2", + "@leafygreen-ui/modal": "^16.0.6", + "@leafygreen-ui/palette": "^4.0.8", + "@leafygreen-ui/pipeline": "^5.0.18", + "@leafygreen-ui/polymorphic": "^1.3.6", + "@leafygreen-ui/popover": "^11.3.0", + "@leafygreen-ui/portal": "^5.1.0", + "@leafygreen-ui/radio-box-group": "^12.0.16", + "@leafygreen-ui/radio-group": "^10.2.5", + "@leafygreen-ui/search-input": "^2.1.5", + "@leafygreen-ui/segmented-control": "^8.2.10", + "@leafygreen-ui/select": "^11.2.2", + "@leafygreen-ui/table": "^12.6.1", + "@leafygreen-ui/tabs": "^11.1.13", + "@leafygreen-ui/text-area": "^8.1.2", + "@leafygreen-ui/text-input": "^12.1.26", + "@leafygreen-ui/toast": "^6.1.23", + "@leafygreen-ui/toggle": "^10.0.19", + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/tooltip": "^11.0.2", + "@leafygreen-ui/typography": "^18.2.3", "@react-aria/interactions": "^3.9.1", "@react-aria/tooltip": "^3.2.1", "@react-aria/utils": "^3.13.1", "@react-aria/visually-hidden": "^3.3.1", "@react-stately/tooltip": "^3.0.5", - "bson": "^6.2.0", - "focus-trap-react": "^8.4.2", - "hadron-document": "^8.4.7", - "hadron-type-checker": "^7.1.1", + "bson": "^6.7.0", + "focus-trap-react": "^9.0.2", + "hadron-document": "^8.5.4", + "hadron-type-checker": "^7.2.2", "is-electron-renderer": "^2.0.1", "lodash": "^4.17.21", "polished": "^4.2.2", "prop-types": "^15.7.2", + "react": "^17.0.2", "react-hotkeys-hook": "^4.3.7", "react-intersection-observer": "^8.34.0", "react-window": "^1.8.6" - }, - "peerDependencies": { - "react": "^17.0.2" } }, - "node_modules/@mongodb-js/compass-components/node_modules/@leafygreen-ui/logo": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/logo/-/logo-7.0.2.tgz", - "integrity": "sha512-VJGIpOFP0I9QSe4HiyiSHhgFBUlU4NibXgbPyeAK60x+i/TEOc4WoXtNfdyB1oSjiVXYTpYPrkKvPrCWbRg1AA==", - "dependencies": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/lib": "^10.1.0", - "@leafygreen-ui/palette": "^3.4.5" - } - }, - "node_modules/@mongodb-js/compass-components/node_modules/@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, "node_modules/@mongodb-js/compass-editor": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@mongodb-js/compass-editor/-/compass-editor-0.20.2.tgz", @@ -4667,27 +3887,34 @@ "react": "^17.0.2" } }, + "node_modules/@mongodb-js/compass-editor/node_modules/@mongodb-js/mongodb-constants": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.10.tgz", + "integrity": "sha512-tLXBNzLzk7KD0UsZaSpAg7bftgiDRVYFjc3zXT+828ENtg7TIvahkzJzoD7K6SwnFjPp8PZ/R36rpEL3zFq9yg==", + "dependencies": { + "semver": "^7.5.4" + } + }, "node_modules/@mongodb-js/compass-logging": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-logging/-/compass-logging-1.2.11.tgz", - "integrity": "sha512-mYvtjxKOeka6LB7OpUoPPIYUaG5UFzzx2KwD0EB39LJ0InU+Fdh37FFuen7whJYSYocAEzeD9g9T5I4mQLzeZw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-logging/-/compass-logging-1.3.1.tgz", + "integrity": "sha512-EguV4j8J6yV0lffM6K87ie2l189Wy3frHJ3wUHds8THBFkxH+wfbz4QPZav+AMd+BmsA2gQwD7RCO+7CvBc1qQ==", "dependencies": { "debug": "^4.3.4", + "hadron-app-registry": "^9.1.12", + "hadron-ipc": "^3.2.16", "is-electron-renderer": "^2.0.1", - "mongodb-log-writer": "^1.3.0", + "mongodb-log-writer": "^1.4.2", "react": "^17.0.2" - }, - "peerDependencies": { - "hadron-ipc": "^3.2.9" } }, "node_modules/@mongodb-js/compass-utils": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-utils/-/compass-utils-0.5.10.tgz", - "integrity": "sha512-Ka5+0yKAHzNe74oKTfJBYufIx9/DppCdSc/KzZ5ncHHYRGMrzEPQ+xfhrlG/3U4euRMdwAtHR2io4+6zVnMWPQ==", - "optionalDependencies": { - "@electron/remote": "^2.1.1", - "electron": "^28.1.0" + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-utils/-/compass-utils-0.6.5.tgz", + "integrity": "sha512-0Q6cUJo/58Fh6rnrkBhmr0o9X2Hkp8ruv2YSC2eRE1qo5aTX8PoS5nZ2f6EO9HYL79XtAgLgmYZQqZm5P2AlGA==", + "dependencies": { + "@electron/remote": "^2.1.2", + "electron": "^29.4.2" } }, "node_modules/@mongodb-js/connection-form": { @@ -4819,36 +4046,40 @@ } }, "node_modules/@mongodb-js/devtools-connect": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.3.tgz", - "integrity": "sha512-JS288VVm/Mu8+kHL8ybKCpL2/AiA4CWhWun7FR3iRNH5NXbT9c6aovEc2pxjsCbmYUjzuTsRoIo9LTrNoCvNrQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.6.3.tgz", + "integrity": "sha512-oGM/HQ8GJmcSVKcnVz+uNy3m1WFz2a7XqcEa/JJcl+imKDPHritkNVUsPIA9fYMRduuOT9f7ko8uWTVLgcw/qA==", "dependencies": { + "@mongodb-js/oidc-http-server-pages": "1.1.1", "lodash.merge": "^4.6.2", "mongodb-connection-string-url": "^3.0.0", + "socks": "^2.7.3", "system-ca": "^1.0.2" }, "optionalDependencies": { + "kerberos": "^2.1.0", + "mongodb-client-encryption": "^6.0.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1" }, "peerDependencies": { - "@mongodb-js/oidc-plugin": "^0.3.0", + "@mongodb-js/oidc-plugin": "^0.4.0", "mongodb": "^5.8.1 || ^6.0.0", - "mongodb-log-writer": "^1.2.0" + "mongodb-log-writer": "^1.4.2" } }, "node_modules/@mongodb-js/mongodb-constants": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.9.tgz", - "integrity": "sha512-A9nSWucJylfb4fp+10Gzz4D2hAUKCuVSXs0XChUL/nrJIYsqoL9h5IZmytrGmKbcJ01yGSxatUJJicdLtlXPSQ==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", + "integrity": "sha512-ss0c6IxhSJZwDiY18We3vjFwrCL+1HJntMInFSthJ6oM61yiCCz5m8TfUjNGJQCXhPqok7sM9RSRcKrn43u0cg==", "dependencies": { "semver": "^7.5.4" } }, "node_modules/@mongodb-js/mongodb-downloader": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.10.tgz", - "integrity": "sha512-nM0vUGUcC8DsR6x3AU6032I8b5OaTqAdq9JmanVecq2NyLZu1aacIS9Yqo3QiE2dIlrkn9hcaUg9Z/tL+3QbNA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", + "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -4858,10 +4089,15 @@ "tar": "^6.1.15" } }, + "node_modules/@mongodb-js/oidc-http-server-pages": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.1.tgz", + "integrity": "sha512-zYkANxb4HVDN4zGuU2ud4fL+XpqRxaydCwVZyU9Mh5EhqbrCL5mGH7t3BaGnfdQUw+HVtwP3dmasc+5Hjewk+g==" + }, "node_modules/@mongodb-js/oidc-mock-provider": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.10.tgz", - "integrity": "sha512-fU0Cppp6cfv2r/60L3dJVxYtxutK31mziomXTFHLe0mSOM/rcILNYO0oAoeqs1mULQYHrmu+o2IdOzhvaTJzew==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.9.1.tgz", + "integrity": "sha512-yb14PiESddB4v2ekX/nz1s7TQ5r/tkM3GadE4i1t8qpBJnQE8udaVCzGhJVnygFs3kBsTkErzOTnvOrUgLfeWw==", "dev": true, "dependencies": { "yargs": "17.7.2" @@ -4912,14 +4148,14 @@ } }, "node_modules/@mongodb-js/oidc-plugin": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.0.tgz", - "integrity": "sha512-XIriu5WYwBJWiHFpIpiXz7FkeA0+jUyGB4KBs6v0U8JGlkkoAJY9lWuzBt0surjcl/dBWvpsZYun6492fMb2kw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.4.0.tgz", + "integrity": "sha512-tinXSz6O2AmgMAgorXUcCJtDhayghkmsXVVTd5UiXhzSA/NNVtlleZXSVkG6tr46WXGzLISgVX+lUzzcEIiwJQ==", "dependencies": { "abort-controller": "^3.0.0", "express": "^4.18.2", "open": "^9.1.0", - "openid-client": "^5.4.0" + "openid-client": "^5.6.4" }, "engines": { "node": ">= 14.18.0" @@ -4935,19 +4171,20 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz", - "integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", + "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", "dependencies": { "sparse-bitfield": "^3.0.3" } }, "node_modules/@mongodb-js/sbom-tools": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.5.7.tgz", - "integrity": "sha512-xYiQrE8m6S9pD0R+kABFrI0aqOG1yehE9yjc6Fmu6HE+Jbwoi8gnHmuLmsQTSDRgvwaTc0yxd8XklVy3d+b27w==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.0.tgz", + "integrity": "sha512-hjc5XrDMVaKdecLzl6IkXT2VO8fudF6aNQLRFlhJ528B5KEKBaahKU4cXnFLV7BRpi1E59FrLg3S7U6bYBfcaw==", "dev": true, "dependencies": { + "@octokit/rest": "^20.1.1", "@pkgjs/nv": "^0.2.1", "commander": "^10.0.1", "error-stack-parser": "^2.1.4", @@ -4963,9 +4200,9 @@ } }, "node_modules/@mongodb-js/signing-utils": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.1.tgz", - "integrity": "sha512-/zAg9vdxTQstu6kNkfOPr9WvLodz88k7egetKw8c5eZyPLBQgm3JfTaH7vQe/iSCuCwvXSk0tNcgo+6AdQNbTw==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.4.tgz", + "integrity": "sha512-D9rbB6HMXvBAPu2f3Wy3r2rggrlr7NlNt2hn5rjPM27Q2nA6AKL2mMZNkWCHmehuc3l9jdMWfaQgjvIuMMLMew==", "dev": true, "dependencies": { "@types/ssh2": "^1.11.19", @@ -4974,11 +4211,11 @@ } }, "node_modules/@mongodb-js/ssh-tunnel": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.1.10.tgz", - "integrity": "sha512-4sp3GB4yZheyAkrcqD65xoglOXFZvGNjyWHul+WSbKMV6KuTyiU6WCH0Yrcwv2zYBf9ohQGXrSUhDfu8lKbJHw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.2.1.tgz", + "integrity": "sha512-uNLYJzBVi1+iJfrENlUenBTdJp4d0E3dGEw5z5ngK3RDROz64/I3DgP+zjWIU5KciygFK69GNUPgtDfzSJjzAw==", "dependencies": { - "@mongodb-js/compass-logging": "^1.2.11", + "@mongodb-js/compass-logging": "^1.3.1", "socksv5": "0.0.6", "ssh2": "^1.12.0" } @@ -5051,6 +4288,24 @@ "node": ">=14.15.1" } }, + "node_modules/@mongosh/browser-runtime-core/node_modules/@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "dependencies": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.0.0" + } + }, "node_modules/@mongosh/browser-runtime-electron": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.1.1.tgz", @@ -5064,6 +4319,24 @@ "node": ">=14.15.1" } }, + "node_modules/@mongosh/browser-runtime-electron/node_modules/@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "dependencies": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.0.0" + } + }, "node_modules/@mongosh/errors": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.1.1.tgz", @@ -5097,15 +4370,16 @@ } }, "node_modules/@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", + "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", + "dev": true, "dependencies": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1" + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.2.10", + "bson": "^6.7.0", + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2" }, "engines": { "node": ">=14.15.1" @@ -5114,6 +4388,15 @@ "mongodb-client-encryption": "^6.0.0" } }, + "node_modules/@mongosh/service-provider-core/node_modules/@mongosh/errors": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", + "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", + "dev": true, + "engines": { + "node": ">=14.15.1" + } + }, "node_modules/@mongosh/service-provider-server": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.1.1.tgz", @@ -5138,6 +4421,38 @@ "mongodb-client-encryption": "^6.0.0" } }, + "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/oidc-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.1.tgz", + "integrity": "sha512-oEM7/AVyjH8C63WM4Q0JAFVA/Q77ZzlFXJCWPn/rIbDk3a4uVLFC9L8OlH8D0bawdI1fpVii2tsDo6msDtoovQ==", + "dependencies": { + "abort-controller": "^3.0.0", + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.4.0" + }, + "engines": { + "node": ">= 14.18.0" + } + }, + "node_modules/@mongosh/service-provider-server/node_modules/@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "dependencies": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.0.0" + } + }, "node_modules/@mongosh/shell-api": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.1.1.tgz", @@ -5154,6 +4469,24 @@ "node": ">=14.15.1" } }, + "node_modules/@mongosh/shell-api/node_modules/@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "dependencies": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.0.0" + } + }, "node_modules/@mongosh/shell-evaluator": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.1.1.tgz", @@ -5222,6 +4555,161 @@ "node": "6.x || >=8.x" } }, + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "dev": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", + "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "dev": true, + "dependencies": { + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "dev": true, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5" + } + }, + "node_modules/@octokit/request": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", + "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^9.0.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "dev": true, + "dependencies": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, "node_modules/@pkgjs/nv": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@pkgjs/nv/-/nv-0.2.1.tgz", @@ -5237,11 +4725,16 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", "dev": true }, + "node_modules/@reach/observe-rect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", + "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==" + }, "node_modules/@react-aria/focus": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.15.0.tgz", @@ -5400,29 +4893,32 @@ } }, "node_modules/@segment/analytics-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.0.tgz", - "integrity": "sha512-rLUv5Se0iDccykxY8bWUuoZT4gg8fNW00zMPqkJN+ONfj5/P1eaGQgygq2EHlR9j20a7tNtp5Y9bZ4rLzViIXQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz", + "integrity": "sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA==", "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-generic-utils": "1.1.1", "dset": "^3.1.2", "tslib": "^2.4.1" } }, "node_modules/@segment/analytics-generic-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.0.tgz", - "integrity": "sha512-nOgmbfsKD0jFzH3df+PtjLq3qTspdcFpIy/F5ziho5qiE+QATM8wY9TpvCNBbcHr2f3OGzT6SgjJLFlmM5Yb+w==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.1.tgz", + "integrity": "sha512-THTIzBPHnvu1HYJU3fARdJ3qIkukO3zDXsmDm+kAeUks5R9CBXOQ6rPChiASVzSmwAIIo5uFIXXnCraojlq/Gw==", + "dependencies": { + "tslib": "^2.4.1" + } }, "node_modules/@segment/analytics-node": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.4.tgz", - "integrity": "sha512-yfhWjos0VKrueIhL7NwwaKJTMmDTDPMeNA9nmCZbbIppxWfgfUdqhkSOktQKTUdxLHOygTwuldvayjuftBsRBA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz", + "integrity": "sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ==", "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.4.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-core": "1.4.1", + "@segment/analytics-generic-utils": "1.1.1", "buffer": "^6.0.3", "node-fetch": "^2.6.7", "tslib": "^2.4.1" @@ -5435,7 +4931,6 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "devOptional": true, "engines": { "node": ">=10" }, @@ -5479,479 +4974,526 @@ "dev": true }, "node_modules/@smithy/abort-controller": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-1.0.2.tgz", - "integrity": "sha512-tb2h0b+JvMee+eAxTmhnyqyNk51UXIK949HnE14lFeezKsVJTB30maan+CO2IMwnig2wVYQH84B5qk6ylmKCuA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.0.tgz", + "integrity": "sha512-XOm4LkuC0PsK1sf2bBJLIlskn5ghmVxiEBVlo/jg0R8hxASBKYYgOoJEhKWgOr4vWGkN+5rC+oyBAqHYtxjnwQ==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/config-resolver": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-1.0.2.tgz", - "integrity": "sha512-8Bk7CgnVKg1dn5TgnjwPz2ebhxeR7CjGs5yhVYH3S8x0q8yPZZVWwpRIglwXaf5AZBzJlNO1lh+lUhMf2e73zQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.3.tgz", + "integrity": "sha512-4wHqCMkdfVDP4qmr4fVPYOFOH+vKhOv3X4e6KEU9wIC8xXUQ24tnF4CW+sddGDX1zU86GGyQ7A+rg2xmUD6jpQ==", "dependencies": { - "@smithy/types": "^1.1.1", - "@smithy/util-config-provider": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz", - "integrity": "sha512-fLjCya+JOu2gPJpCiwSUyoLvT8JdNJmOaTOkKYBZoGf7CzqR6lluSyI+eboZnl/V0xqcfcqBG4tgqCISmWS3/w==", + "node_modules/@smithy/core": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.3.tgz", + "integrity": "sha512-SpyLOL2vgE6sUYM6nQfu82OirCPkCDKctyG3aMgjMlDPTJpUlmlNH0ttu9ZWwzEjrzzr8uABmPjJTRI7gk1HFQ==", "dependencies": { - "@smithy/node-config-provider": "^1.0.2", - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/url-parser": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-endpoint": "^3.0.3", + "@smithy/middleware-retry": "^3.0.6", + "@smithy/middleware-serde": "^3.0.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, - "node_modules/@smithy/eventstream-codec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz", - "integrity": "sha512-eW/XPiLauR1VAgHKxhVvgvHzLROUgTtqat2lgljztbH8uIYWugv7Nz+SgCavB+hWRazv2iYgqrSy74GvxXq/rg==", + "node_modules/@smithy/credential-provider-imds": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.2.tgz", + "integrity": "sha512-gqVmUaNoeqyrOAjgZg+rTmFLsphh/vS59LCMdFfVpthVS0jbfBzvBmEPktBd+y9ME4DYMGHFAMSYJDK8q0noOQ==", "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^1.1.1", - "@smithy/util-hex-encoding": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/property-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/url-parser": "^3.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, "node_modules/@smithy/fetch-http-handler": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz", - "integrity": "sha512-kynyofLf62LvR8yYphPPdyHb8fWG3LepFinM/vWUTG2Q1pVpmPCM530ppagp3+q2p+7Ox0UvSqldbKqV/d1BpA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.1.0.tgz", + "integrity": "sha512-s7oQjEOUH9TYjctpITtWF4qxOdg7pBrP9eigEQ8SBsxF3dRFV0S28pGMllC83DUr7ECmErhO/BUwnULfoNhKgQ==", "dependencies": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/querystring-builder": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-base64": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/protocol-http": "^4.0.2", + "@smithy/querystring-builder": "^3.0.2", + "@smithy/types": "^3.2.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, "node_modules/@smithy/hash-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-1.0.2.tgz", - "integrity": "sha512-K6PKhcUNrJXtcesyzhIvNlU7drfIU7u+EMQuGmPw6RQDAg/ufUcfKHz4EcUhFAodUmN+rrejhRG9U6wxjeBOQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.2.tgz", + "integrity": "sha512-43uGA6o6QJQdXwAogybdTDHDd3SCdKyoiHIHb8PpdE2rKmVicjG9b1UgVwdgO8QPytmVqHFaUw27M3LZKwu8Yg==", "dependencies": { - "@smithy/types": "^1.1.1", - "@smithy/util-buffer-from": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/invalid-dependency": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz", - "integrity": "sha512-B1Y3Tsa6dfC+Vvb+BJMhTHOfFieeYzY9jWQSTR1vMwKkxsymD0OIAnEw8rD/RiDj/4E4RPGFdx9Mdgnyd6Bv5Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.2.tgz", + "integrity": "sha512-+BAY3fMhomtq470tswXyrdVBSUhiLuhBVT+rOmpbz5e04YX+s1dX4NxTLzZGwBjCpeWZNtTxP8zbIvvFk81gUg==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "node_modules/@smithy/is-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz", - "integrity": "sha512-pkyBnsBRpe+c/6ASavqIMRBdRtZNJEVJOEzhpxZ9JoAXiZYbkfaSMRA/O1dUxGdJ653GHONunnZ4xMo/LJ7utQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-content-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz", - "integrity": "sha512-pa1/SgGIrSmnEr2c9Apw7CdU4l/HW0fK3+LKFCPDYJrzM0JdYpqjQzgxi31P00eAkL0EFBccpus/p1n2GF9urw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.2.tgz", + "integrity": "sha512-/Havz3PkYIEmwpqkyRTR21yJsWnFbD1ec4H1pUL+TkDnE7RCQkAVUQepLL/UeCaZeCBXvfdoKbOjSbV01xIinQ==", "dependencies": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/protocol-http": "^4.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-endpoint": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz", - "integrity": "sha512-GsWvTXMFjSgl617PCE2km//kIjjtvMRrR2GAuRDIS9sHiLwmkS46VWaVYy+XE7ubEsEtzZ5yK2e8TKDR6Qr5Lw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.3.tgz", + "integrity": "sha512-ARAXHodhj4tttKa9y75zvENdSoHq6VGsSi7XS3+yLutrnxttJs6N10UMInCC1yi3/bopT8xug3iOP/y9R6sKJQ==", "dependencies": { - "@smithy/middleware-serde": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/url-parser": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-serde": "^3.0.2", + "@smithy/node-config-provider": "^3.1.2", + "@smithy/shared-ini-file-loader": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/url-parser": "^3.0.2", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-retry": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz", - "integrity": "sha512-G7uRXGFL8c3F7APnoIMTtNAHH8vT4F2qVnAWGAZaervjupaUQuRRHYBLYubK0dWzOZz86BtAXKieJ5p+Ni2Xpg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.6.tgz", + "integrity": "sha512-ICsFKp8eAyIMmxN5UT3IU37S6886L879TKtgxPsn/VD/laYNwqTLmJaCAn5//+2fRIrV0dnHp6LFlMwdXlWoUQ==", "dependencies": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/service-error-classification": "^1.0.3", - "@smithy/types": "^1.1.1", - "@smithy/util-middleware": "^1.0.2", - "@smithy/util-retry": "^1.0.4", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/service-error-classification": "^3.0.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "@smithy/util-middleware": "^3.0.2", + "@smithy/util-retry": "^3.0.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/@smithy/middleware-serde": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz", - "integrity": "sha512-T4PcdMZF4xme6koUNfjmSZ1MLi7eoFeYCtodQNQpBNsS77TuJt1A6kt5kP/qxrTvfZHyFlj0AubACoaUqgzPeg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.2.tgz", + "integrity": "sha512-oT2abV5zLhBucJe1LIIFEcRgIBDbZpziuMPswTMbBQNcaEUycLFvX63zsFmqfwG+/ZQKsNx+BSE8W51CMuK7Yw==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-stack": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz", - "integrity": "sha512-H7/uAQEcmO+eDqweEFMJ5YrIpsBwmrXSP6HIIbtxKJSQpAcMGY7KrR2FZgZBi1FMnSUOh+rQrbOyj5HQmSeUBA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.2.tgz", + "integrity": "sha512-6fRcxomlNKBPIy/YjcnC7YHpMAjRvGUYlYVJAfELqZjkW0vQegNcImjY7T1HgYA6u3pAcCxKVBLYnkTw8z/l0A==", "dependencies": { - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/node-config-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz", - "integrity": "sha512-HU7afWpTToU0wL6KseGDR2zojeyjECQfr8LpjAIeHCYIW7r360ABFf4EaplaJRMVoC3hD9FeltgI3/NtShOqCg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.2.tgz", + "integrity": "sha512-388fEAa7+6ORj/BDC70peg3fyFBTTXJyXfXJ0Bwd6FYsRltePr2oGzIcm5AuC1WUSLtZ/dF+hYOnfTMs04rLvA==", "dependencies": { - "@smithy/property-provider": "^1.0.2", - "@smithy/shared-ini-file-loader": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/property-provider": "^3.1.2", + "@smithy/shared-ini-file-loader": "^3.1.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/node-http-handler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz", - "integrity": "sha512-PcPUSzTbIb60VCJCiH0PU0E6bwIekttsIEf5Aoo/M0oTfiqsxHTn0Rcij6QoH6qJy6piGKXzLSegspXg5+Kq6g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.0.tgz", + "integrity": "sha512-pOpgB6B+VLXLwAyyvRz+ZAVXABlbAsJ2xvn3WZvrppAPImxwQOPFbeSUzWYMhpC8Tr7yQ3R8fG990QDhskkf1Q==", "dependencies": { - "@smithy/abort-controller": "^1.0.2", - "@smithy/protocol-http": "^1.1.1", - "@smithy/querystring-builder": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/abort-controller": "^3.1.0", + "@smithy/protocol-http": "^4.0.2", + "@smithy/querystring-builder": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/property-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-1.0.2.tgz", - "integrity": "sha512-pXDPyzKX8opzt38B205kDgaxda6LHcTfPvTYQZnwP6BAPp1o9puiCPjeUtkKck7Z6IbpXCPUmUQnzkUzWTA42Q==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.2.tgz", + "integrity": "sha512-Hzp32BpeFFexBpO1z+ts8okbq/VLzJBadxanJAo/Wf2CmvXMBp6Q/TLWr7Js6IbMEcr0pDZ02V3u1XZkuQUJaA==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/protocol-http": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.1.1.tgz", - "integrity": "sha512-mFLFa2sSvlUxm55U7B4YCIsJJIMkA6lHxwwqOaBkral1qxFz97rGffP/mmd4JDuin1EnygiO5eNJGgudiUgmDQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.2.tgz", + "integrity": "sha512-X/90xNWIOqSR2tLUyWxVIBdatpm35DrL44rI/xoeBWUuanE0iyCXJpTcnqlOpnEzgcu0xCKE06+g70TTu2j7RQ==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/querystring-builder": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz", - "integrity": "sha512-6P/xANWrtJhMzTPUR87AbXwSBuz1SDHIfL44TFd/GT3hj6rA+IEv7rftEpPjayUiWRocaNnrCPLvmP31mobOyA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.2.tgz", + "integrity": "sha512-xhv1+HacDYsOLdNt7zW+8Fe779KYAzmWvzs9bC5NlKM8QGYCwwuFwDBynhlU4D5twgi2pZ14Lm4h6RiAazCtmA==", "dependencies": { - "@smithy/types": "^1.1.1", - "@smithy/util-uri-escape": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/querystring-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz", - "integrity": "sha512-IWxwxjn+KHWRRRB+K2Ngl+plTwo2WSgc2w+DvLy0DQZJh9UGOpw40d6q97/63GBlXIt4TEt5NbcFrO30CKlrsA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.2.tgz", + "integrity": "sha512-C5hyRKgrZGPNh5QqIWzXnW+LXVrPmVQO0iJKjHeb5v3C61ZkP9QhrKmbfchcTyg/VnaE0tMNf/nmLpQlWuiqpg==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/service-error-classification": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz", - "integrity": "sha512-2eglIYqrtcUnuI71yweu7rSfCgt6kVvRVf0C72VUqrd0LrV1M0BM0eYN+nitp2CHPSdmMI96pi+dU9U/UqAMSA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.2.tgz", + "integrity": "sha512-cu0WV2XRttItsuXlcM0kq5MKdphbMMmSd2CXF122dJ75NrFE0o7rruXFGfxAp3BKzgF/DMxX+PllIA/cj4FHMw==", + "dependencies": { + "@smithy/types": "^3.2.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz", - "integrity": "sha512-bdQj95VN+lCXki+P3EsDyrkpeLn8xDYiOISBGnUG/AGPYJXN8dmp4EhRRR7XOoLoSs8anZHR4UcGEOzFv2jwGw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.2.tgz", + "integrity": "sha512-tgnXrXbLMO8vo6VeuqabMw/eTzQHlLmZx0TC0TjtjJghnD0Xl4pEnJtBjTJr6XF5fHMNrt5BcczDXHJT9yNQnA==", "dependencies": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/signature-v4": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-1.0.2.tgz", - "integrity": "sha512-rpKUhmCuPmpV5dloUkOb9w1oBnJatvKQEjIHGmkjRGZnC3437MTdzWej9TxkagcZ8NRRJavYnEUixzxM1amFig==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.1.tgz", + "integrity": "sha512-2/vlG86Sr489XX8TA/F+VDA+P04ESef04pSz0wRtlQBExcSPjqO08rvrkcas2zLnJ51i+7ukOURCkgqixBYjSQ==", "dependencies": { - "@smithy/eventstream-codec": "^1.0.2", - "@smithy/is-array-buffer": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-hex-encoding": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "@smithy/util-uri-escape": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/types": "^3.2.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.2", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/smithy-client": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-1.0.4.tgz", - "integrity": "sha512-gpo0Xl5Nyp9sgymEfpt7oa9P2q/GlM3VmQIdm+FeH0QEdYOQx3OtvwVmBYAMv2FIPWxkMZlsPYRTnEiBTK5TYg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.4.tgz", + "integrity": "sha512-y6xJROGrIoitjpwXLY7P9luDHvuT9jWpAluliuSFdBymFxcl6iyQjo9U/JhYfRHFNTruqsvKOrOESVuPGEcRmQ==", "dependencies": { - "@smithy/middleware-stack": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-stream": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-endpoint": "^3.0.3", + "@smithy/middleware-stack": "^3.0.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/types": "^3.2.0", + "@smithy/util-stream": "^3.0.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/types": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.1.1.tgz", - "integrity": "sha512-tMpkreknl2gRrniHeBtdgQwaOlo39df8RxSrwsHVNIGXULy5XP6KqgScUw2m12D15wnJCKWxVhCX+wbrBW/y7g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.2.0.tgz", + "integrity": "sha512-cKyeKAPazZRVqm7QPvcPD2jEIt2wqDPAL1KJKb0f/5I7uhollvsWZuZKLclmyP6a+Jwmr3OV3t+X0pZUUHS9BA==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/url-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-1.0.2.tgz", - "integrity": "sha512-0JRsDMQe53F6EHRWksdcavKDRjyqp8vrjakg8EcCUOa7PaFRRB1SO/xGZdzSlW1RSTWQDEksFMTCEcVEKmAoqA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.2.tgz", + "integrity": "sha512-pRiPHrgibeAr4avtXDoBHmTLtthwA4l8jKYRfZjNgp+bBPyxDMPRg2TMJaYxqbKemvrOkHu9MIBTv2RkdNfD6w==", "dependencies": { - "@smithy/querystring-parser": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/querystring-parser": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "node_modules/@smithy/util-base64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-1.0.2.tgz", - "integrity": "sha512-BCm15WILJ3SL93nusoxvJGMVfAMWHZhdeDZPtpAaskozuexd0eF6szdz4kbXaKp38bFCSenA6bkUHqaE3KK0dA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "dependencies": { - "@smithy/util-buffer-from": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-body-length-browser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz", - "integrity": "sha512-Xh8L06H2anF5BHjSYTg8hx+Itcbf4SQZnVMl4PIkCOsKtneMJoGjPRLy17lEzfoh/GOaa0QxgCP6lRMQWzNl4w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "node_modules/@smithy/util-body-length-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz", - "integrity": "sha512-nXHbZsUtvZeyfL4Ceds9nmy2Uh2AhWXohG4vWHyjSdmT8cXZlJdmJgnH6SJKDjyUecbu+BpKeVvSrA4cWPSOPA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-buffer-from": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz", - "integrity": "sha512-lHAYIyrBO9RANrPvccnPjU03MJnWZ66wWuC5GjWWQVfsmPwU6m00aakZkzHdUT6tGCkGacXSgArP5wgTgA+oCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@smithy/is-array-buffer": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-config-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz", - "integrity": "sha512-HOdmDm+3HUbuYPBABLLHtn8ittuRyy+BSjKOA169H+EMc+IozipvXDydf+gKBRAxUa4dtKQkLraypwppzi+PRw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz", - "integrity": "sha512-J1u2PO235zxY7dg0+ZqaG96tFg4ehJZ7isGK1pCBEA072qxNPwIpDzUVGnLJkHZvjWEGA8rxIauDtXfB0qxeAg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.6.tgz", + "integrity": "sha512-tAgoc++Eq+KL7g55+k108pn7nAob3GLWNEMbXhZIQyBcBNaE/o3+r4AEbae0A8bWvLRvArVsjeiuhMykGa04/A==", "dependencies": { - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", + "@smithy/property-provider": "^3.1.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", "bowser": "^2.11.0", - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { "node": ">= 10.0.0" } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz", - "integrity": "sha512-9/BN63rlIsFStvI+AvljMh873Xw6bbI6b19b+PVYXyycQ2DDQImWcjnzRlHW7eP65CCUNGQ6otDLNdBQCgMXqg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.6.tgz", + "integrity": "sha512-UNerul6/E8aiCyFTBHk+RSIZCo7m96d/N5K3FeO/wFeZP6oy5HAicLzxqa85Wjv7MkXSxSySX29L/LwTV/QMag==", "dependencies": { - "@smithy/config-resolver": "^1.0.2", - "@smithy/credential-provider-imds": "^1.0.2", - "@smithy/node-config-provider": "^1.0.2", - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/config-resolver": "^3.0.3", + "@smithy/credential-provider-imds": "^3.1.2", + "@smithy/node-config-provider": "^3.1.2", + "@smithy/property-provider": "^3.1.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { "node": ">= 10.0.0" } }, + "node_modules/@smithy/util-endpoints": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.3.tgz", + "integrity": "sha512-Dyi+pfLglDHSGsKSYunuUUSFM5V0tz7UDgv1Ex97yg+Xkn0Eb0rH0rcvl1n0MaJ11fac3HKDOH0DkALyQYCQag==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@smithy/util-hex-encoding": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz", - "integrity": "sha512-Bxydb5rMJorMV6AuDDMOxro3BMDdIwtbQKHpwvQFASkmr52BnpDsWlxgpJi8Iq7nk1Bt4E40oE1Isy/7ubHGzg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-middleware": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-1.0.2.tgz", - "integrity": "sha512-vtXK7GOR2BoseCX8NCGe9SaiZrm9M2lm/RVexFGyPuafTtry9Vyv7hq/vw8ifd/G/pSJ+msByfJVb1642oQHKw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.2.tgz", + "integrity": "sha512-7WW5SD0XVrpfqljBYzS5rLR+EiDzl7wCVJZ9Lo6ChNFV4VYDk37Z1QI5w/LnYtU/QKnSawYoHRd7VjSyC8QRQQ==", "dependencies": { - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-retry": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-1.0.4.tgz", - "integrity": "sha512-RnZPVFvRoqdj2EbroDo3OsnnQU8eQ4AlnZTOGusbYKybH3269CFdrZfZJloe60AQjX7di3J6t/79PjwCLO5Khw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.2.tgz", + "integrity": "sha512-HUVOb1k8p/IH6WFUjsLa+L9H1Zi/FAAB2CDOpWuffI1b2Txi6sknau8kNfC46Xrt39P1j2KDzCE1UlLa2eW5+A==", "dependencies": { - "@smithy/service-error-classification": "^1.0.3", - "tslib": "^2.5.0" + "@smithy/service-error-classification": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-1.0.2.tgz", - "integrity": "sha512-qyN2M9QFMTz4UCHi6GnBfLOGYKxQZD01Ga6nzaXFFC51HP/QmArU72e4kY50Z/EtW8binPxspP2TAsGbwy9l3A==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.4.tgz", + "integrity": "sha512-CcMioiaOOsEVdb09pS7ux1ij7QcQ2jE/cE1+iin1DXMeRgAEQN/47m7Xztu7KFQuQsj0A5YwB2UN45q97CqKCg==", "dependencies": { - "@smithy/fetch-http-handler": "^1.0.2", - "@smithy/node-http-handler": "^1.0.3", - "@smithy/types": "^1.1.1", - "@smithy/util-base64": "^1.0.2", - "@smithy/util-buffer-from": "^1.0.2", - "@smithy/util-hex-encoding": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/fetch-http-handler": "^3.1.0", + "@smithy/node-http-handler": "^3.1.0", + "@smithy/types": "^3.2.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-uri-escape": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz", - "integrity": "sha512-k8C0BFNS9HpBMHSgUDnWb1JlCQcFG+PPlVBq9keP4Nfwv6a9Q0yAfASWqUCtzjuMj1hXeLhn/5ADP6JxnID1Pg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "dependencies": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-utf8": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-1.0.2.tgz", - "integrity": "sha512-V4cyjKfJlARui0dMBfWJMQAmJzoW77i4N3EjkH/bwnE2Ngbl4tqD2Y0C/xzpzY/J1BdxeCKxAebVFk8aFCaSCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "@smithy/util-buffer-from": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@storybook/csf": { @@ -5985,7 +5527,6 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "devOptional": true, "dependencies": { "defer-to-connect": "^2.0.0" }, @@ -5993,6 +5534,37 @@ "node": ">=10" } }, + "node_modules/@tanstack/react-table": { + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.17.3.tgz", + "integrity": "sha512-5gwg5SvPD3lNAXPuJJz1fOCEZYk9/GeBFH3w/hCgnfyszOIzwkwgp5I7Q4MJtn0WECp84b5STQUDdmvGi8m3nA==", + "dependencies": { + "@tanstack/table-core": "8.17.3" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.17.3.tgz", + "integrity": "sha512-mPBodDGVL+fl6d90wUREepHa/7lhsghg2A3vFpakEhrhtbIlgNAZiMr7ccTgak5qbHqF14Fwy+W1yFWQt+WmYQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@testing-library/dom": { "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", @@ -6120,13 +5692,12 @@ "node_modules/@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" }, "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -6153,9 +5724,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dependencies": { "@babel/types": "^7.20.7" } @@ -6170,7 +5741,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "devOptional": true, "dependencies": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -6179,14 +5749,14 @@ } }, "node_modules/@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==" + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" }, "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dev": true, "dependencies": { "@types/ms": "*" @@ -6213,9 +5783,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/facepaint": { @@ -6251,11 +5821,19 @@ "highlight.js": "*" } }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "devOptional": true + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -6301,15 +5879,14 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "devOptional": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", "dev": true, "dependencies": { "@types/braces": "*" @@ -6344,9 +5921,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.18.53", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.53.tgz", - "integrity": "sha512-soGmOpVBUq+gaBMwom1M+krC/NNbWlosh4AtGA03SyWNDiqSKtwp7OulO1M6+mg8YkHMvJ/y0AkCeO8d1hNb7A==" + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -6371,27 +5948,27 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { - "version": "17.0.62", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.62.tgz", - "integrity": "sha512-eANCyz9DG8p/Vdhr0ZKST8JV12PhH2ACCDYlFw6DIO+D+ca+uP4jtEDEpVqXZrh/uZdXQGwk7whJa3ah5DtyLw==", + "version": "17.0.80", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", + "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "17.0.20", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.20.tgz", - "integrity": "sha512-4pzIjSxDueZZ90F52mU3aPoogkHIoSIDG+oQ+wQK7Cy2B9S+MvOqY0uEA/qawKz381qrEDkvpwyt8Bm31I8sbA==", + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", "dependencies": { "@types/react": "^17" } }, "node_modules/@types/react-is": { - "version": "18.2.4", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.4.tgz", - "integrity": "sha512-wBc7HgmbCcrvw0fZjxbgz/xrrlZKzEqmABBMeSvpTvdm25u6KI6xdIi9pRE2G0C1Lw5ETFdcn4UbYZ4/rpqUYw==", + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.3.0.tgz", + "integrity": "sha512-KZJpHUkAdzyKj/kUHJDc6N7KyidftICufJfOFpiG6haL/BDQNQt5i4n1XDUL/nDZAtGLHDSWRYpLzKTAKSvX6w==", "dependencies": { "@types/react": "*" } @@ -6404,11 +5981,18 @@ "@types/react": "*" } }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "devOptional": true, "dependencies": { "@types/node": "*" } @@ -6470,6 +6054,11 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "node_modules/@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -6477,9 +6066,9 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.80.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.80.0.tgz", - "integrity": "sha512-qK/CmOdS2o7ry3k6YqU4zD3R2AYlJfbwBoSbKpBoP+GpXNE+0NEgJOli4n0bm0diK5kfBnchgCEj4igQz/44Hg==", + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", + "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", "dev": true }, "node_modules/@types/webidl-conversions": { @@ -6707,31 +6296,236 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@vscode/test-electron": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.8.tgz", - "integrity": "sha512-b4aZZsBKtMGdDljAsOPObnAi7+VWIaYl3ylCz1jTs+oV6BZ4TNHcVNC3xUn0azPeszBmwSBDQYfFESIaUQnrOg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", + "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", "dev": true, "dependencies": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", "jszip": "^3.10.1", - "semver": "^7.5.2" + "ora": "^7.0.1", + "semver": "^7.6.2" }, "engines": { "node": ">=16" } }, + "node_modules/@vscode/test-electron/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@vscode/test-electron/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@vscode/test-electron/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@vscode/test-electron/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/@vscode/test-electron/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@vscode/test-electron/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@vscode/test-electron/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/ora": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", + "dev": true, + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vscode/test-electron/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@vscode/vsce": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.19.0.tgz", - "integrity": "sha512-dAlILxC5ggOutcvJY24jxz913wimGiUrHaPkk16Gm9/PGFbz1YezWtrXsTKUtJws4fIlpX2UIlVlVESWq8lkfQ==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", + "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", "dev": true, "dependencies": { - "azure-devops-node-api": "^11.0.1", + "@azure/identity": "^4.1.0", + "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", "chalk": "^2.4.2", "cheerio": "^1.0.0-rc.9", - "commander": "^6.1.0", + "cockatiel": "^3.1.2", + "commander": "^6.2.1", + "form-data": "^4.0.0", "glob": "^7.0.6", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", @@ -6741,7 +6535,7 @@ "minimatch": "^3.0.3", "parse-semver": "^1.1.1", "read": "^1.0.7", - "semver": "^5.1.0", + "semver": "^7.5.2", "tmp": "^0.2.1", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", @@ -6753,12 +6547,147 @@ "vsce": "vsce" }, "engines": { - "node": ">= 14" + "node": ">= 16" }, "optionalDependencies": { "keytar": "^7.7.0" } }, + "node_modules/@vscode/vsce-sign": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.4.tgz", + "integrity": "sha512-0uL32egStKYfy60IqnynAChMTbL0oqpqk0Ew0YHiIb+fayuGZWADuIPHWUcY1GCnAA+VgchOPDMxnc2R3XGWEA==", + "dev": true, + "hasInstallScript": true, + "optionalDependencies": { + "@vscode/vsce-sign-alpine-arm64": "2.0.2", + "@vscode/vsce-sign-alpine-x64": "2.0.2", + "@vscode/vsce-sign-darwin-arm64": "2.0.2", + "@vscode/vsce-sign-darwin-x64": "2.0.2", + "@vscode/vsce-sign-linux-arm": "2.0.2", + "@vscode/vsce-sign-linux-arm64": "2.0.2", + "@vscode/vsce-sign-linux-x64": "2.0.2", + "@vscode/vsce-sign-win32-arm64": "2.0.2", + "@vscode/vsce-sign-win32-x64": "2.0.2" + } + }, + "node_modules/@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.2.tgz", + "integrity": "sha512-E80YvqhtZCLUv3YAf9+tIbbqoinWLCO/B3j03yQPbjT3ZIHCliKZlsy1peNc4XNZ5uIb87Jn0HWx/ZbPXviuAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-alpine-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.2.tgz", + "integrity": "sha512-n1WC15MSMvTaeJ5KjWCzo0nzjydwxLyoHiMJHu1Ov0VWTZiddasmOQHekA47tFRycnt4FsQrlkSCTdgHppn6bw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.2.tgz", + "integrity": "sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.2.tgz", + "integrity": "sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.2.tgz", + "integrity": "sha512-Fkb5jpbfhZKVw3xwR6t7WYfwKZktVGNXdg1m08uEx1anO0oUPUkoQRsNm4QniL3hmfw0ijg00YA6TrxCRkPVOQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.2.tgz", + "integrity": "sha512-Ybeu7cA6+/koxszsORXX0OJk9N0GgfHq70Wqi4vv2iJCZvBrOWwcIrxKjvFtwyDgdeQzgPheH5nhLVl5eQy7WA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.2.tgz", + "integrity": "sha512-NsPPFVtLaTlVJKOiTnO8Cl78LZNWy0Q8iAg+LlBiCDEgC12Gt4WXOSs2pmcIjDYzj2kY4NwdeN1mBTaujYZaPg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-win32-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.2.tgz", + "integrity": "sha512-wPs848ymZ3Ny+Y1Qlyi7mcT6VSigG89FWQnp2qRYCyMhdJxOpA4lDwxzlpL8fG6xC8GjQjGDkwbkWUcCobvksQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce-sign-win32-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.2.tgz", + "integrity": "sha512-pAiRN6qSAhDM5SVOIxgx+2xnoVUePHbRNC7OD2aOR3WltTKxxF25OfpK8h8UQ7A0BuRkSgREbB59DBlFk4iAeg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@vscode/vsce/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6827,15 +6756,6 @@ "node": ">=4" } }, - "node_modules/@vscode/vsce/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/@vscode/vsce/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -6918,9 +6838,9 @@ "dev": true }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -6940,9 +6860,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -6963,15 +6883,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -6999,28 +6919,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -7028,24 +6948,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -7054,12 +6974,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -7221,10 +7141,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -7313,7 +7233,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, "engines": { "node": ">=8" } @@ -7322,7 +7241,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -7369,7 +7287,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, "dependencies": { "deep-equal": "^2.0.5" } @@ -7405,7 +7322,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -7628,9 +7544,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ { @@ -7647,9 +7563,9 @@ } ], "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -7668,7 +7584,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -7682,9 +7597,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/azure-devops-node-api": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", - "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", "dev": true, "dependencies": { "tunnel": "0.0.6", @@ -7914,6 +7829,12 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true + }, "node_modules/big-integer": { "version": "1.6.51", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", @@ -8185,9 +8106,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "funding": [ { "type": "opencollective", @@ -8203,10 +8124,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -8237,9 +8158,9 @@ } }, "node_modules/bson": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz", - "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", + "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==", "engines": { "node": ">=16.20.1" } @@ -8331,11 +8252,16 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "devOptional": true, "engines": { "node": "*" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true + }, "node_modules/buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -8408,7 +8334,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "devOptional": true, "engines": { "node": ">=10.6.0" } @@ -8417,7 +8342,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "devOptional": true, "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -8435,7 +8359,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "devOptional": true, "dependencies": { "pump": "^3.0.0" }, @@ -8459,6 +8382,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -8477,9 +8409,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", "funding": [ { "type": "opencollective", @@ -8508,40 +8440,39 @@ } }, "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" } }, "node_modules/chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", "dev": true, "dependencies": { "check-error": "^1.0.2" }, "peerDependencies": { - "chai": ">= 2.1.2 < 5" + "chai": ">= 2.1.2 < 6" } }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8578,10 +8509,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -8903,7 +8837,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "devOptional": true, "dependencies": { "mimic-response": "^1.0.0" }, @@ -8929,6 +8862,15 @@ "node": ">= 0.12.0" } }, + "node_modules/cockatiel": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.1.3.tgz", + "integrity": "sha512-xC759TpZ69d7HhfDp8m2WkRwEUiCkxY8Ee2OQH/3H6zmy2D/5Sm+zSTbPRa+V2QyjDtpMvjOIAOVjA2gp6N1kQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -8960,7 +8902,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -8971,8 +8912,7 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colorette": { "version": "2.0.20", @@ -9360,10 +9300,16 @@ "node": ">=10" } }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dependencies": { "ms": "2.1.2" }, @@ -9431,7 +9377,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "devOptional": true, "dependencies": { "mimic-response": "^3.1.0" }, @@ -9446,7 +9391,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "devOptional": true, "engines": { "node": ">=10" }, @@ -9544,45 +9488,6 @@ "node": ">=0.10.0" } }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -9612,7 +9517,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -9643,8 +9547,7 @@ "node_modules/deep-equal/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/deep-extend": { "version": "0.6.0", @@ -9821,7 +9724,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "devOptional": true, "engines": { "node": ">=10" } @@ -9854,7 +9756,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "devOptional": true, "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -9894,34 +9795,34 @@ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, "node_modules/depcheck": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.3.tgz", - "integrity": "sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.7.tgz", + "integrity": "sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==", "dev": true, "dependencies": { - "@babel/parser": "7.16.4", - "@babel/traverse": "^7.12.5", - "@vue/compiler-sfc": "^3.0.5", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "deps-regex": "^0.1.4", - "ignore": "^5.1.8", - "is-core-module": "^2.4.0", - "js-yaml": "^3.14.0", - "json5": "^2.1.3", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.2", + "@vue/compiler-sfc": "^3.3.4", + "callsite": "^1.0.0", + "camelcase": "^6.3.0", + "cosmiconfig": "^7.1.0", + "debug": "^4.3.4", + "deps-regex": "^0.2.0", + "findup-sync": "^5.0.0", + "ignore": "^5.2.4", + "is-core-module": "^2.12.0", + "js-yaml": "^3.14.1", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "minimatch": "^7.4.6", "multimatch": "^5.0.0", "please-upgrade-node": "^3.2.0", - "query-ast": "^1.0.3", - "readdirp": "^3.5.0", + "readdirp": "^3.6.0", "require-package-name": "^2.0.1", - "resolve": "^1.18.1", - "sass": "^1.29.0", - "scss-parser": "^1.0.4", - "semver": "^7.3.2", - "yargs": "^16.1.0" + "resolve": "^1.22.3", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "yargs": "^16.2.0" }, "bin": { "depcheck": "bin/depcheck.js" @@ -9930,16 +9831,13 @@ "node": ">=10" } }, - "node_modules/depcheck/node_modules/@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "node_modules/depcheck/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/depcheck/node_modules/camelcase": { @@ -9954,6 +9852,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/depcheck/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/depcheck/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -9962,10 +9884,16 @@ "node": ">= 0.8" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "node_modules/deps-regex": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", - "integrity": "sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.2.0.tgz", + "integrity": "sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==", "dev": true }, "node_modules/des.js": { @@ -9987,6 +9915,15 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -10079,8 +10016,7 @@ "node_modules/dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" }, "node_modules/dom-helpers": { "version": "5.2.1", @@ -10168,14 +10104,14 @@ } }, "node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" + "url": "https://dotenvx.com" } }, "node_modules/dset": { @@ -10324,6 +10260,21 @@ "node": ">=4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -10344,14 +10295,13 @@ } }, "node_modules/electron": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-28.1.3.tgz", - "integrity": "sha512-NSFyTo6SndTPXzU18XRePv4LnjmuM9rF5GMKta1/kPmi02ISoSRonnD7wUlWXD2x53XyJ6d/TbSVesMW6sXkEQ==", + "version": "29.4.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-29.4.2.tgz", + "integrity": "sha512-XyIkuWQguwY8hGtLg0j5Q4Fqphdbh0ctBsKCSVzJ/R7Z2+2WN/oQ1M+zYwchmfiDgiuL3EKkrBrfPdxXYdMr+A==", "hasInstallScript": true, - "optional": true, "dependencies": { "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", + "@types/node": "^20.9.0", "extract-zip": "^2.0.1" }, "bin": { @@ -10362,15 +10312,14 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.580", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.580.tgz", - "integrity": "sha512-T5q3pjQon853xxxHUq3ZP68ZpvJHuSMY2+BZaW3QzjS4HvNuvsMmZ/+lU+nCrftre1jFZ+OSlExynXWBihnXzw==" + "version": "1.4.811", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", + "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==" }, "node_modules/electron/node_modules/@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", - "optional": true, + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", "dependencies": { "undici-types": "~5.26.4" } @@ -10435,15 +10384,14 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "devOptional": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -10469,7 +10417,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true, "engines": { "node": ">=6" } @@ -10607,7 +10554,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -10626,8 +10572,7 @@ "node_modules/es-get-iterator/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/es-module-lexer": { "version": "1.3.0", @@ -10682,9 +10627,9 @@ "optional": true }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -10737,27 +10682,28 @@ } }, "node_modules/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -10767,7 +10713,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -10779,7 +10724,6 @@ "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -11220,13 +11164,14 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.1.0.tgz", - "integrity": "sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", - "rambda": "^7.1.0" + "globals": "^13.24.0", + "rambda": "^7.4.0" }, "engines": { "node": ">=14.0.0" @@ -11235,6 +11180,33 @@ "eslint": ">=7.0.0" } }, + "node_modules/eslint-plugin-mocha/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-mocha/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-plugin-react": { "version": "7.32.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", @@ -11352,9 +11324,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -11370,9 +11342,9 @@ "dev": true }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -11486,9 +11458,9 @@ } }, "node_modules/espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { "acorn": "^8.9.0", @@ -11848,6 +11820,18 @@ "node": ">=6" } }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expect": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", @@ -12014,7 +11998,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "optional": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -12034,7 +12017,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "optional": true, "dependencies": { "pump": "^3.0.0" }, @@ -12156,7 +12138,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "devOptional": true, "dependencies": { "pend": "~1.2.0" } @@ -12268,6 +12249,21 @@ "node": ">=8" } }, + "node_modules/findup-sync": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -12305,23 +12301,23 @@ } }, "node_modules/focus-trap-react": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-8.11.3.tgz", - "integrity": "sha512-y126gMYuB1aVYiEZSP6/v9bAfVmAIUVixanhcoMelkz7bOh+l0c3h05CEHC8S63ztxdRI2AAPS9AsTat6jlDeQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-9.0.2.tgz", + "integrity": "sha512-ZwhO5by6KG5r3dy48Lk00A1/0zNYw1Z3RZTN6O6kgAPsWFcwTFszOcQ1dLSfM8pIxpS/ttc7wTttJowjVT3jpg==", "dependencies": { - "focus-trap": "^6.9.4" + "focus-trap": "^6.9.4", + "tabbable": "^5.3.3" }, "peerDependencies": { "prop-types": "^15.8.1", - "react": ">=16.0.0", - "react-dom": ">=16.0.0" + "react": ">=16.3.0", + "react-dom": ">=16.3.0" } }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, "dependencies": { "is-callable": "^1.1.3" } @@ -12433,24 +12429,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -12460,6 +12438,20 @@ "node": ">= 10.0.0" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -12511,7 +12503,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "optional": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -12612,7 +12603,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12743,14 +12733,6 @@ "node": ">=0.10.0" } }, - "node_modules/gce-ips/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gce-ips/node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -12876,9 +12858,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" @@ -13004,6 +12986,48 @@ "node": ">=10.0" } }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -13070,7 +13094,6 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "devOptional": true, "dependencies": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -13124,24 +13147,96 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hadron-app-registry": { + "version": "9.1.12", + "resolved": "https://registry.npmjs.org/hadron-app-registry/-/hadron-app-registry-9.1.12.tgz", + "integrity": "sha512-RADslfdnH9uBx5wpdoP3ncvo5ujCUnzwDtrfLxPubmKkms3RsCSqZju+khWxiPxJi2+j6cqxm8gnPhqoKSdjiA==", + "dependencies": { + "eventemitter3": "^4.0.0", + "react": "^17.0.2", + "react-redux": "^8.1.3", + "redux": "^4.2.1", + "reflux": "^0.4.1" + } + }, + "node_modules/hadron-app-registry/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/hadron-app-registry/node_modules/react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/hadron-app-registry/node_modules/react-redux/node_modules/use-sync-external-store": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/hadron-document": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/hadron-document/-/hadron-document-8.4.7.tgz", - "integrity": "sha512-6nxghzGKDvRJ91XtNaAn6VYgJThhhD5ohwhGua4w7sCa524+PkasAUS7EOLWGcp5tlWP+mAyBlVtUf/r4XruGw==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/hadron-document/-/hadron-document-8.5.4.tgz", + "integrity": "sha512-ZKgrBFAdHs21emLfJX5ZPLwAjSx7XrS9805IOHvex11UP3sdhz5G01pFwhY+FsUVUADWFbbCfW//Un7iJTUBlQ==", "dependencies": { - "bson": "^6.2.0", - "debug": "^4.2.0", + "bson": "^6.7.0", "eventemitter3": "^4.0.0", - "hadron-type-checker": "^7.1.1", + "hadron-type-checker": "^7.2.2", "lodash": "^4.17.21" } }, + "node_modules/hadron-ipc": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/hadron-ipc/-/hadron-ipc-3.2.16.tgz", + "integrity": "sha512-sBC0vGHYY3FcnbBY2OedIghSPFgNikLcjt7ayPzIEh35Y9PGJdmJ9popkTDzVEDJRuLP4tPRv5Q50Z+6Fkfigg==", + "dependencies": { + "debug": "^4.3.4", + "electron": "^29.4.2", + "is-electron-renderer": "^2.0.1" + } + }, "node_modules/hadron-type-checker": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/hadron-type-checker/-/hadron-type-checker-7.1.1.tgz", - "integrity": "sha512-fkCf7ryFhWlag0GYG3FNuOuyO5/ty9Rnj39k+PApxkvXGhyZawAHxT711Hx2ICihX/TKxtYtXfeOhs6Xet/HGQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/hadron-type-checker/-/hadron-type-checker-7.2.2.tgz", + "integrity": "sha512-3Etm6trKNi+/xZdsoRJqrRrHMhadOeu1esZr53QvR8ZlZHmZrdbyLjeKHdFITBonk1WBHLSszuBagjXwKwRmJA==", "dependencies": { - "bson": "^6.2.0", + "bson": "^6.7.0", "lodash": "^4.17.21" } }, @@ -13160,7 +13255,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13169,7 +13263,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -13211,7 +13304,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -13333,9 +13425,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -13353,9 +13445,9 @@ } }, "node_modules/heap-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.3.0.tgz", - "integrity": "sha512-E5303mzwQ+4j/n2J0rDvEPBN7GKjhis10oHiYOgjxsmxYgqG++hz9NyLLOXttzH8as/DyiBHYpUrJTZWYaMo8Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.5.0.tgz", + "integrity": "sha512-kUGoI3p7u6B41z/dp33G6OaL7J4DRqRYwVmeIlwLClx7yaaAy7hoDExnuejTKtuDwfcatGmddHDEOjf6EyIxtQ==", "engines": { "node": ">=10.0.0" } @@ -13384,6 +13476,31 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -13482,8 +13599,7 @@ "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "devOptional": true + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-errors": { "version": "2.0.0", @@ -13518,7 +13634,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "devOptional": true, "dependencies": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -13593,12 +13708,6 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "dev": true }, - "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -13886,7 +13995,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, "dependencies": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -13905,15 +14013,6 @@ "node": ">=10.13.0" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, "node_modules/invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -13985,7 +14084,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -14001,7 +14099,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -14020,7 +14117,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, "dependencies": { "has-bigints": "^1.0.1" }, @@ -14044,7 +14140,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -14066,7 +14161,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -14087,11 +14181,14 @@ } }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -14113,7 +14210,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -14252,7 +14348,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14287,7 +14382,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -14329,7 +14423,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -14345,7 +14438,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14354,7 +14446,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, "dependencies": { "call-bind": "^1.0.2" }, @@ -14375,7 +14466,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -14396,7 +14486,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -14411,7 +14500,6 @@ "version": "1.1.10", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -14453,7 +14541,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -14474,7 +14561,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -15490,9 +15576,9 @@ } }, "node_modules/jose": { - "version": "4.15.5", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", - "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==", + "version": "4.15.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.7.tgz", + "integrity": "sha512-L7ioP+JAuZe8v+T5+zVI9Tx8LtU8BL7NxkyDFVMv+Qr3JW0jSoYDedLtodaXwfqMpeCyx4WXFNyu9tJt4WvC1A==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -15599,8 +15685,7 @@ "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "devOptional": true + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/json-parse-better-errors": { "version": "1.0.2", @@ -15652,11 +15737,53 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optional": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dev": true, + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jsonwebtoken/node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", @@ -15726,6 +15853,27 @@ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, + "node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dev": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dev": true, + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/kerberos": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.0.tgz", @@ -15763,7 +15911,6 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "devOptional": true, "dependencies": { "json-buffer": "3.0.1" } @@ -15943,12 +16090,48 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true + }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "dev": true }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -16000,7 +16183,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true, "engines": { "node": ">=8" } @@ -16017,15 +16199,14 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, "bin": { "lz-string": "bin/bin.js" } }, "node_modules/macos-export-certificate-and-key": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.1.tgz", - "integrity": "sha512-J2g0dJRLG3DghmdCkbJnif/zPmSylj6ql//xBYff5allzNlHPnWxRoyho9XznBYLbPJw4jZlKjMO69jtV8VC7Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.2.tgz", + "integrity": "sha512-kd4ba3kVKZXy46p4tg3X19dmwaXjtz0La5It6Rt6PbtwP+YcQ0F7ab8MjcSHOvz9NSXmAU15qQG53OlBDAPDzQ==", "hasInstallScript": true, "optional": true, "os": [ @@ -16048,6 +16229,27 @@ "node": ">=12" } }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -16294,7 +16496,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "devOptional": true, "engines": { "node": ">=4" } @@ -16402,25 +16603,24 @@ "devOptional": true }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", + "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.3", + "chokidar": "^3.5.3", "debug": "4.3.4", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -16435,21 +16635,17 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha-junit-reporter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.0.tgz", - "integrity": "sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.1.tgz", + "integrity": "sha512-iDn2tlKHn8Vh8o4nCzcUVW4q7iXp7cC4EB78N0cDHIobLymyHNwe0XG8HEHHjc3hJlXm0Vy6zcrxaIhnI2fWmw==", "dev": true, "dependencies": { "debug": "^4.3.4", "md5": "^2.3.0", - "mkdirp": "~1.0.4", + "mkdirp": "^3.0.0", "strip-ansi": "^6.0.1", "xml": "^1.0.1" }, @@ -16457,6 +16653,21 @@ "mocha": ">=2.2.5" } }, + "node_modules/mocha-junit-reporter/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/mocha-multi": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/mocha-multi/-/mocha-multi-1.1.7.tgz", @@ -16482,6 +16693,29 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -16499,37 +16733,25 @@ } }, "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/mocha/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -16633,12 +16855,12 @@ } }, "node_modules/mongodb": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.3.0.tgz", - "integrity": "sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", + "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", "dependencies": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^6.2.0", + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", "mongodb-connection-string-url": "^3.0.0" }, "engines": { @@ -16678,32 +16900,58 @@ } }, "node_modules/mongodb-build-info": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.1.tgz", - "integrity": "sha512-he4lTotY5AkGSc4Js9Dtqvx4W7x5JSNa9xtvR08y1tUyhglHG1tV+NnuUTrysXA0hNHMMvOd/Hh4Ez9Po84p1g==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.2.tgz", + "integrity": "sha512-eoLFZvCIjcwijYJdxvYupj1c+55VAVm0o4gBJjrcDxxmmpm+bC4Ix9ayZbyhQdVXDZAGDi03NA0GghXjBVXnxg==", "dependencies": { "mongodb-connection-string-url": "^3.0.0" } }, "node_modules/mongodb-client-encryption": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.0.0.tgz", - "integrity": "sha512-GtqkqlSq19acX006/U1odA3l+gwhvABeoTUlvvgtvSs6qcN3qSHPnur3Z5N4oKOv6fZ7EtT8rIsWP2riI0+Eyg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.0.1.tgz", + "integrity": "sha512-u6pKu9plR7hQH6VtsfYonC9dwWAM3HFEpi+Xy3EJIdUyoH6dlFgaxX8TnKx/Ycfi2I1cxTXq2IbhSpg157vVgg==", "devOptional": true, "hasInstallScript": true, "dependencies": { "bindings": "^1.5.0", "node-addon-api": "^4.3.0", - "prebuild-install": "^7.1.1" + "prebuild-install": "^7.1.2" }, "engines": { "node": ">=16.20.1" } }, + "node_modules/mongodb-client-encryption/node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "devOptional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mongodb-cloud-info": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.0.tgz", - "integrity": "sha512-IueWuLvkG1xF9Ooxm3blKHVE8x5UL9BYKeCP+VYXNfEzmPruidW5D/5M35Ql5ZedzQhxbZ/RCA55OsuRC7RISw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", + "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", "dependencies": { "cross-fetch": "^3.1.6", "gce-ips": "^1.0.2", @@ -16711,9 +16959,9 @@ } }, "node_modules/mongodb-connection-string-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", - "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", "dependencies": { "@types/whatwg-url": "^11.0.2", "whatwg-url": "^13.0.0" @@ -16751,83 +16999,66 @@ } }, "node_modules/mongodb-data-service": { - "version": "22.17.3", - "resolved": "https://registry.npmjs.org/mongodb-data-service/-/mongodb-data-service-22.17.3.tgz", - "integrity": "sha512-zftI7NrToipZOXzO6noh8CsDtUdXLOmu6q8TFK6o1ehZysURz7/kmLIJyDMsMZ5jGwAYUtDwdOPON47TZa3Itw==", - "dependencies": { - "@mongodb-js/compass-logging": "^1.2.11", - "@mongodb-js/compass-utils": "^0.5.10", - "@mongodb-js/devtools-connect": "^2.4.2", - "@mongodb-js/oidc-plugin": "^0.3.0", - "@mongodb-js/ssh-tunnel": "^2.1.10", + "version": "22.21.1", + "resolved": "https://registry.npmjs.org/mongodb-data-service/-/mongodb-data-service-22.21.1.tgz", + "integrity": "sha512-zaelO1uF3VYqExUfsREgLp55EGLmhKsIRLxqufiGTLLgzV9jXmUMbPiAKxNuo5Fu0IOAwzV0D38RfZdB1yJVVQ==", + "dependencies": { + "@mongodb-js/compass-logging": "^1.3.1", + "@mongodb-js/compass-utils": "^0.6.5", + "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/ssh-tunnel": "^2.2.1", + "bson": "^6.7.0", "lodash": "^4.17.21", - "mongodb-build-info": "^1.7.0", - "mongodb-connection-string-url": "^2.6.0", - "mongodb-ns": "^2.4.0", - "socks": "^2.7.1", - "uuid": "^8.3.2" + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2", + "mongodb-connection-string-url": "^3.0.1", + "mongodb-ns": "^2.4.2" }, "optionalDependencies": { "mongodb-client-encryption": "^6.0.0" - }, - "peerDependencies": { - "mongodb": "^6.3.0", - "react": "^17.0.2" - } - }, - "node_modules/mongodb-data-service/node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" } }, - "node_modules/mongodb-data-service/node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb-data-service/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "node_modules/mongodb-data-service/node_modules/@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", "dependencies": { - "punycode": "^2.1.1" + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "lodash.merge": "^4.6.2", + "mongodb-connection-string-url": "^3.0.0", + "socks": "^2.7.3", + "system-ca": "^1.0.2" }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-data-service/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "engines": { - "node": ">=12" + "optionalDependencies": { + "kerberos": "^2.1.0", + "mongodb-client-encryption": "^6.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1" + }, + "peerDependencies": { + "@mongodb-js/oidc-plugin": "^1.0.0", + "mongodb": "^5.8.1 || ^6.0.0", + "mongodb-log-writer": "^1.4.2" } }, - "node_modules/mongodb-data-service/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "node_modules/mongodb-data-service/node_modules/@mongodb-js/oidc-plugin": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "peer": true, "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" }, "engines": { - "node": ">=12" + "node": ">= 16.20.1" } }, "node_modules/mongodb-download-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.4.1.tgz", - "integrity": "sha512-OC0EGXiYTwZNcLq2U7Hbt1MDSPQR57/Kput4+W0F2kwVOa0HwWW4oY6DS1gOLlIeVOsihRKKH9EPNnc/BxF7UA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.5.0.tgz", + "integrity": "sha512-zQP7t3aEpbWabn4ZlYapu8ODm7iRA0ON7hVFqxW2fSmY1kdCoYmKTW4LK+WfaokWOPGpLt4ZPtiWL54Bv1r87g==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -16840,23 +17071,23 @@ } }, "node_modules/mongodb-log-writer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mongodb-log-writer/-/mongodb-log-writer-1.4.0.tgz", - "integrity": "sha512-hQrn8Xu58Z9uLmd2oncvu/b5KNxxKaW6MUrVRI/xObz/yzYNVWF3V4rgK9Ort72nOCmMD3PWOS+ZoZBtxgKibA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mongodb-log-writer/-/mongodb-log-writer-1.4.2.tgz", + "integrity": "sha512-ZQYBgW1IZtuRWsv9hF0mjpfDg6usMawkkWKnFb/goXosbW0YyxVA9OHt32TJfppGK/U2p7jQx4V9DxRFsFmmKw==", "dependencies": { "bson": "^4.5.1 || ^5.0.0 || ^6.0.0", "heap-js": "^2.3.0" } }, "node_modules/mongodb-ns": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mongodb-ns/-/mongodb-ns-2.4.0.tgz", - "integrity": "sha512-pCutlP/AU0hcJ/f1h2h3nmn79/gXrQo6088QvPCbdx7SBDkAeGPH4AYu28DgqZzFvsn5mtt2RUpsFicYhjaHow==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mongodb-ns/-/mongodb-ns-2.4.2.tgz", + "integrity": "sha512-gYJjEYG4v4a1WSXgUf81OBoBRlj+Z1SlnQVO392fC/4a1CN7CLWDITajZWPFTPh/yRozYk6sHHtZwZmQhodBEA==" }, "node_modules/mongodb-query-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/mongodb-query-parser/-/mongodb-query-parser-4.0.2.tgz", - "integrity": "sha512-GajCLw8/Ut0mlIW1msU36Pvyg/FRc0LPyp8aNzfafzNrDwz2ZOJmwtmNAkckuXG3Iqnj0ZZOouhIo4E4rjXcBQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mongodb-query-parser/-/mongodb-query-parser-4.1.3.tgz", + "integrity": "sha512-6V439TLqpuQ5c/vsUVuPxLbmkzFX+LrQKveWrlx0Q6HfbukGmgMtezpYNdCp0SwOaEWTnwJPKI4GQxQdyHGDLg==", "dependencies": { "debug": "^4.3.4", "ejson-shell-parser": "^2.0.0", @@ -16873,13 +17104,13 @@ } }, "node_modules/mongodb-runner": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.5.2.tgz", - "integrity": "sha512-NU3Bq+OfqnmOHd5YzMGqojTl29rEcdD+y8+TtLOdMjxOf/2f0/oDq0aAQrsnvS/hD8cYdSzIGyDAYhM9Wiuhrw==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", + "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", "dev": true, "dependencies": { - "@mongodb-js/mongodb-downloader": "^0.2.10", - "@mongodb-js/saslprep": "^1.1.4", + "@mongodb-js/mongodb-downloader": "^0.3.2", + "@mongodb-js/saslprep": "^1.1.7", "debug": "^4.3.4", "mongodb": "^6.3.0", "mongodb-connection-string-url": "^3.0.0", @@ -16931,9 +17162,9 @@ } }, "node_modules/mongodb-schema": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/mongodb-schema/-/mongodb-schema-12.1.1.tgz", - "integrity": "sha512-YNTorlzwXKAUhC1nNLN4cFANbt1G76Yk6OCCgeCl6ZiME1wMOceXxVjPEfYeZnkXUa6DQ846oEzu46v+6NJBcg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/mongodb-schema/-/mongodb-schema-12.2.0.tgz", + "integrity": "sha512-YszO0B8yxeu2yD6KtjM5x5DjWi++gS+p74hEuoQKCmR/89aft1q2/FuBvV8gslgoT04lWbtLwI2eQNvklePLMw==", "dependencies": { "reservoir": "^0.1.2" }, @@ -16941,10 +17172,10 @@ "mongodb-schema": "bin/mongodb-schema" }, "optionalDependencies": { - "bson": "^5.0.1", + "bson": "^6.7.0", "cli-table": "^0.3.4", "js-yaml": "^4.0.0", - "mongodb": "^5.0.1", + "mongodb": "^6.6.1", "mongodb-ns": "^2.4.0", "numeral": "^2.0.6", "progress": "^2.0.3", @@ -16952,31 +17183,12 @@ "yargs": "^17.6.2" } }, - "node_modules/mongodb-schema/node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "optional": true, - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, "node_modules/mongodb-schema/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "optional": true }, - "node_modules/mongodb-schema/node_modules/bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", - "optional": true, - "engines": { - "node": ">=14.20.1" - } - }, "node_modules/mongodb-schema/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -17003,91 +17215,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/mongodb-schema/node_modules/mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", - "optional": true, - "dependencies": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, - "node_modules/mongodb-schema/node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "optional": true, - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb-schema/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "optional": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-schema/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "optional": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/mongodb-schema/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "optional": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/mongodb-schema/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -17122,9 +17249,9 @@ "dev": true }, "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, "engines": { "node": ">=10" @@ -17189,18 +17316,6 @@ "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -17410,9 +17525,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -17460,7 +17575,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "devOptional": true, "engines": { "node": ">=10" }, @@ -17799,7 +17913,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -17815,7 +17928,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "devOptional": true, "engines": { "node": ">= 0.4" } @@ -17836,7 +17948,6 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -17991,11 +18102,11 @@ } }, "node_modules/openid-client": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.3.tgz", - "integrity": "sha512-sVQOvjsT/sbSfYsQI/9liWQGVZH/Pp3rrtlGEwgk/bbHfrUDZ24DN57lAagIwFtuEu+FM9Ev7r85s8S/yPjimQ==", + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.5.tgz", + "integrity": "sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==", "dependencies": { - "jose": "^4.14.4", + "jose": "^4.15.5", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" @@ -18119,9 +18230,9 @@ } }, "node_modules/os-dns-native": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/os-dns-native/-/os-dns-native-1.2.0.tgz", - "integrity": "sha512-pnq7NYCsuZixeIOFjerXIXXFNpqJyDqiIHTu9TzefKtu+8ReUROA9OB2VQE+qk3uYhkXtxe1tf8b4dqPINtStw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/os-dns-native/-/os-dns-native-1.2.1.tgz", + "integrity": "sha512-LbU43lWBxnZhy72Ngr+Vga0og5Q2+Ob8lvSHJkP2uYBkvdmAnK4CvaVaBhC1hk9AQV3YxAZ9fZWaJTuIyPEi+Q==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -18164,7 +18275,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "devOptional": true, "engines": { "node": ">=8" } @@ -18273,6 +18383,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -18416,8 +18535,7 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "devOptional": true + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "node_modules/performance-now": { "version": "2.1.0", @@ -18426,9 +18544,9 @@ "dev": true }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -18453,6 +18571,14 @@ "node": ">=0.10" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -18658,7 +18784,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "devOptional": true, + "optional": true, "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -18736,7 +18862,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "devOptional": true, "engines": { "node": ">=0.4.0" } @@ -18837,7 +18962,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "devOptional": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -18865,16 +18989,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/query-ast": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/query-ast/-/query-ast-1.0.5.tgz", - "integrity": "sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==", - "dev": true, - "dependencies": { - "invariant": "2.2.4", - "lodash": "^4.17.21" - } - }, "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -18905,7 +19019,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "devOptional": true, "engines": { "node": ">=10" }, @@ -19072,14 +19185,29 @@ "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-keyed-flatten-children": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-keyed-flatten-children/-/react-keyed-flatten-children-1.3.0.tgz", + "integrity": "sha512-qB7A6n+NHU0x88qTZGAJw6dsqwI941jcRPBB640c/CyWqjPQQ+YUmXOuzPziuHb7iqplM3xksWAbGYwkQT0tXA==", + "dependencies": { + "react-is": "^16.8.6" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, + "node_modules/react-keyed-flatten-children/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-shallow-renderer": { "version": "16.15.0", "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "dev": true, + "devOptional": true, "dependencies": { "object-assign": "^4.1.1", "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" @@ -19092,7 +19220,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", - "dev": true, + "devOptional": true, "dependencies": { "object-assign": "^4.1.1", "react-is": "^17.0.2", @@ -19118,6 +19246,20 @@ "react-dom": ">=16.6.0" } }, + "node_modules/react-virtual": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", + "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "funding": [ + "https://github.com/sponsors/tannerlinsley" + ], + "dependencies": { + "@reach/observe-rect": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.3 || ^17.0.0" + } + }, "node_modules/react-window": { "version": "1.8.10", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz", @@ -19266,6 +19408,44 @@ "node": ">= 10.13.0" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/reflux": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/reflux/-/reflux-0.4.1.tgz", + "integrity": "sha512-xrAUNOKzNegiYHpj9Vv5eCdV3HZ1H0f9T5TXcTVk1dbOSMBL4ppUM+3Gvw1HCiLRfe+IAtj7k4DXe/r7XcswlQ==", + "dependencies": { + "eventemitter3": "^1.1.1", + "reflux-core": "^0.3.0" + }, + "peerDependencies": { + "react": ">=0.13.0 <16" + } + }, + "node_modules/reflux-core": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/reflux-core/-/reflux-core-0.3.0.tgz", + "integrity": "sha512-mOOxvUQcNE3HvYXHt2SoqlVso5OtQL82zl60PfR1An57UU4ho30h0hMO6fh5hsDcfxywo74+TdForH+pfCZGeQ==", + "dependencies": { + "eventemitter3": "^1.1.1" + } + }, + "node_modules/reflux-core/node_modules/eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha512-DOFqA1MF46fmZl2xtzXR3MPCRsXqgoFqdXcrCVYM3JNnfUeHTm/fh/v/iU7gBFpwkuBmoJPAm5GuhdDfSEJMJA==" + }, + "node_modules/reflux/node_modules/eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha512-DOFqA1MF46fmZl2xtzXR3MPCRsXqgoFqdXcrCVYM3JNnfUeHTm/fh/v/iU7gBFpwkuBmoJPAm5GuhdDfSEJMJA==" + }, "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -19288,7 +19468,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -19365,11 +19544,11 @@ "integrity": "sha512-ysyw95gLBhMAzqIVrOHJ2yMrRQHAS+h97bS9r89Z7Ou10Jhl2k5KOsyjPqrxL+WfEanov0o5bAMVzQ7AKyENHA==" }, "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -19383,8 +19562,7 @@ "node_modules/resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "devOptional": true + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, "node_modules/resolve-cwd": { "version": "3.0.0", @@ -19407,6 +19585,19 @@ "node": ">=8" } }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -19416,9 +19607,9 @@ } }, "node_modules/resolve-mongodb-srv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.3.tgz", - "integrity": "sha512-TrD4ebxN+1wfGhTl1uEKPSReCK13OscqpatIFKabCivrfQSDeVB4GYxpbm5F7yryyniuCxiEDxyyJO3a0UPQjw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", + "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", "dependencies": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -19468,7 +19659,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "devOptional": true, "dependencies": { "lowercase-keys": "^2.0.0" }, @@ -19933,23 +20123,6 @@ "node": ">=0.10.0" } }, - "node_modules/sass": { - "version": "1.63.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", - "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -19977,17 +20150,22 @@ "object-assign": "^4.1.1" } }, - "node_modules/scss-parser": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.6.tgz", - "integrity": "sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==", + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { - "invariant": "2.2.4", - "lodash": "4.17.21" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": ">=6.0.0" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/seek-bzip": { @@ -20015,12 +20193,9 @@ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "bin": { "semver": "bin/semver.js" }, @@ -20034,22 +20209,6 @@ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", "devOptional": true }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -20159,7 +20318,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, "dependencies": { "define-data-property": "^1.0.1", "functions-have-names": "^1.2.3", @@ -20377,14 +20535,14 @@ } }, "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" }, "engines": { "node": ">= 10" @@ -21073,11 +21231,59 @@ "node": ">= 0.8" } }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dev": true, + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stdin-discarder/node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/stdin-discarder/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stdin-discarder/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, "dependencies": { "internal-slot": "^1.0.4" }, @@ -21085,6 +21291,16 @@ "node": ">= 0.4" } }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true, + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -21312,7 +21528,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "optional": true, "dependencies": { "debug": "^4.1.0" }, @@ -21324,7 +21539,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -21363,9 +21577,9 @@ "dev": true }, "node_modules/system-ca": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-1.0.2.tgz", - "integrity": "sha512-/6CCJOKB5Fpi0x7/DCbV7uiFPgwGCeJsAaSondXS2DjLBv7ER2worVGvQWJqPM0kgOKO6auaCcSWpJKnrDmXjw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-1.0.3.tgz", + "integrity": "sha512-FHwdyDHM/J6SjHNVEp532J5rWsO0oPB/szZGsP/8I2s78mPLQhE0WwKTGi/RJulqTICekINsczg5q44n/1b+lQ==", "optionalDependencies": { "macos-export-certificate-and-key": "^1.1.1", "win-export-certificate-and-key": "^1.1.1" @@ -21451,9 +21665,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -21639,9 +21853,9 @@ } }, "node_modules/terser": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.0.tgz", - "integrity": "sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q==", + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -21657,16 +21871,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -21704,28 +21918,10 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -21915,9 +22111,9 @@ } }, "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, "engines": { "node": ">=6" @@ -21994,15 +22190,16 @@ "dev": true }, "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { "node": ">=12.0.0" @@ -22012,15 +22209,24 @@ "webpack": "^5.0.0" } }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/ts-log": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.5.tgz", "integrity": "sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==" }, "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -22079,9 +22285,9 @@ } }, "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -22292,8 +22498,7 @@ "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "devOptional": true + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/union-value": { "version": "1.0.1", @@ -22319,11 +22524,16 @@ "node": ">=0.10.0" } }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "optional": true, "engines": { "node": ">= 4.0.0" } @@ -22399,9 +22609,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "funding": [ { "type": "opencollective", @@ -22417,8 +22627,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -22596,9 +22806,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.10.tgz", - "integrity": "sha512-dPA6WqtAQJ/Iopm0Hrj11VvaKxsEcm62jpqyaYbY0xuvUffeWAn77f3VKr2SCsJphSyEw4Fjkjqm2gQ24KQfrA==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, "node_modules/vscode-languageserver-types": { "version": "3.17.3", @@ -22642,9 +22852,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -22673,34 +22883,34 @@ } }, "node_modules/webpack": { - "version": "5.88.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", - "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -22720,20 +22930,22 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", - "lodash": "^4.17.20", + "html-escaper": "^2.0.2", "opener": "^1.5.2", - "sirv": "^1.0.7", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", "ws": "^7.3.1" }, "bin": { @@ -22807,12 +23019,13 @@ } }, "node_modules/webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "engines": { @@ -22828,24 +23041,6 @@ "node": ">=10.13.0" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", @@ -22893,7 +23088,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -22909,7 +23103,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, "dependencies": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -22929,7 +23122,6 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.4", @@ -22951,9 +23143,9 @@ "dev": true }, "node_modules/win-export-certificate-and-key": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.1.tgz", - "integrity": "sha512-wvF1DKlbt/PLOSdnKzIqv0Ipj+87n2VYOJFbkqBoN7l3l244reT7Lf6+Dnu86bYVWoVpq3ZZG417OLNHFnkP6A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.2.tgz", + "integrity": "sha512-3Su7Xdt9UR8pZicWQDcGSWNL6We/NzAGxe7AeQ1Z/zAeGHWlTKAh3HemGvIvxLRPsk4NW9D/QL3cL6SIvFcTvQ==", "hasInstallScript": true, "optional": true, "os": [ @@ -22961,10 +23153,16 @@ ], "dependencies": { "bindings": "^1.5.0", - "node-addon-api": "^4.3.0", + "node-addon-api": "^3.1.0", "node-forge": "^1.2.1" } }, + "node_modules/win-export-certificate-and-key/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "optional": true + }, "node_modules/window-size": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", @@ -23278,7 +23476,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "devOptional": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -23331,601 +23528,788 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, "@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "requires": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, "@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.6.2" } }, "@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.6.2" } }, "@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "requires": { "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "requires": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, "@aws-sdk/client-cognito-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.369.0.tgz", - "integrity": "sha512-YZSjxtWJ70Xj4G230iDGLXJHF4asy1FrTnTkNfyMA3uHmhgL3kUI9yk9E93FRy9XWboI8a39WC0vEgr6zvuBFQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.369.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.600.0.tgz", + "integrity": "sha512-8dYsnDLiD0rjujRiZZl0E57heUkHqMSFZHBi0YMs57SM8ODPxK3tahwDYZtS7bqanvFKZwGy+o9jIcij7jBOlA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.600.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@aws-sdk/client-sso": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.369.0.tgz", - "integrity": "sha512-SjJd9QGT9ccHOY64qnMfvVjrneBORIx/k8OdtL0nV2wemPqCM9uAm+TYZ01E91D/+lfXS+lLMGSidSA39PMIOA==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.598.0.tgz", + "integrity": "sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@aws-sdk/client-sso-oidc": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.369.0.tgz", - "integrity": "sha512-NOnsRrkHMss9pE68uTPMEt1KoW6eWt4ZCesJayCOiIgmIA/AhXHz06IBCYJ9eu9Xbu/55FDr4X3VCtUf7Rfh6g==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.2", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.2", - "@smithy/protocol-http": "^1.0.1", - "@smithy/smithy-client": "^1.0.3", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.2", - "@smithy/util-utf8": "^1.0.1", - "tslib": "^2.5.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.600.0.tgz", + "integrity": "sha512-7+I8RWURGfzvChyNQSyj5/tKrqRbzRl7H+BnTOf/4Vsw1nFOi5ROhlhD4X/Y0QCTacxnaoNcIrqnY7uGGvVRzw==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@aws-sdk/client-sts": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.369.0.tgz", - "integrity": "sha512-kyZl654U27gsQX9UjiiO4CX5M6kHwzDouwbhjc5HshQld/lUbJQ4uPpAwhlbZiqnzGeB639MdAGaSwrOOw2ixw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/middleware-host-header": "3.369.0", - "@aws-sdk/middleware-logger": "3.369.0", - "@aws-sdk/middleware-recursion-detection": "3.369.0", - "@aws-sdk/middleware-sdk-sts": "3.369.0", - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/middleware-user-agent": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@aws-sdk/util-user-agent-browser": "3.369.0", - "@aws-sdk/util-user-agent-node": "3.369.0", - "@smithy/config-resolver": "^1.0.1", - "@smithy/fetch-http-handler": "^1.0.1", - "@smithy/hash-node": "^1.0.1", - "@smithy/invalid-dependency": "^1.0.1", - "@smithy/middleware-content-length": "^1.0.1", - "@smithy/middleware-endpoint": "^1.0.1", - "@smithy/middleware-retry": "^1.0.1", - "@smithy/middleware-serde": "^1.0.1", - "@smithy/middleware-stack": "^1.0.1", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/node-http-handler": "^1.0.1", - "@smithy/protocol-http": "^1.1.0", - "@smithy/smithy-client": "^1.0.2", - "@smithy/types": "^1.1.0", - "@smithy/url-parser": "^1.0.1", - "@smithy/util-base64": "^1.0.1", - "@smithy/util-body-length-browser": "^1.0.1", - "@smithy/util-body-length-node": "^1.0.1", - "@smithy/util-defaults-mode-browser": "^1.0.1", - "@smithy/util-defaults-mode-node": "^1.0.1", - "@smithy/util-retry": "^1.0.1", - "@smithy/util-utf8": "^1.0.1", + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.600.0.tgz", + "integrity": "sha512-KQG97B7LvTtTiGmjlrG1LRAY8wUvCQzrmZVV5bjrJ/1oXAU7DITYwVbSJeX9NWg6hDuSk0VE3MFwIXS2SvfLIA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.600.0", + "@aws-sdk/core": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/middleware-host-header": "3.598.0", + "@aws-sdk/middleware-logger": "3.598.0", + "@aws-sdk/middleware-recursion-detection": "3.598.0", + "@aws-sdk/middleware-user-agent": "3.598.0", + "@aws-sdk/region-config-resolver": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@aws-sdk/util-user-agent-browser": "3.598.0", + "@aws-sdk/util-user-agent-node": "3.598.0", + "@smithy/config-resolver": "^3.0.2", + "@smithy/core": "^2.2.1", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/hash-node": "^3.0.1", + "@smithy/invalid-dependency": "^3.0.1", + "@smithy/middleware-content-length": "^3.0.1", + "@smithy/middleware-endpoint": "^3.0.2", + "@smithy/middleware-retry": "^3.0.4", + "@smithy/middleware-serde": "^3.0.1", + "@smithy/middleware-stack": "^3.0.1", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/url-parser": "^3.0.1", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.4", + "@smithy/util-defaults-mode-node": "^3.0.4", + "@smithy/util-endpoints": "^2.0.2", + "@smithy/util-middleware": "^3.0.1", + "@smithy/util-retry": "^3.0.1", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/core": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.598.0.tgz", + "integrity": "sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==", + "requires": { + "@smithy/core": "^2.2.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/signature-v4": "^3.1.0", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.369.0.tgz", - "integrity": "sha512-E69Ya4JnLO2ymtDZSGwbpXXMS4Pr3b3g+rZ3BduPc2fxRSLDfCxKE1GuO56u9pCbjZL6lJ+5FB8i7v0ptsVrOQ==", + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.600.0.tgz", + "integrity": "sha512-AIM+B06d1+71EuBrk2UR9ZZgRS3a+ARxE3oZKMZYlfqtZ3kY8w4DkhEt7OVruc6uSsMhkrcQT6nxsOxFSi4RtA==", "requires": { - "@aws-sdk/client-cognito-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/client-cognito-identity": "3.600.0", + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-env": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.369.0.tgz", - "integrity": "sha512-EZUXGLjnun5t5/dVYJ9yyOwPAJktOdLEQSwtw7Q9XOxaNqVFFz9EU+TwYraV4WZ3CFRNn7GEIctVlXAHVFLm/w==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.598.0.tgz", + "integrity": "sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==", + "requires": { + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" + } + }, + "@aws-sdk/credential-provider-http": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.598.0.tgz", + "integrity": "sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/fetch-http-handler": "^3.0.2", + "@smithy/node-http-handler": "^3.0.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/protocol-http": "^4.0.1", + "@smithy/smithy-client": "^3.1.2", + "@smithy/types": "^3.1.0", + "@smithy/util-stream": "^3.0.2", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.369.0.tgz", - "integrity": "sha512-12XXd4gnrn05adio/xPF8Nxl99L2FFzksbFILDIfSni7nLDX0m2XprnkswQiCKSbfDIQQsgnnh2F+HhorLuqfQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.598.0.tgz", + "integrity": "sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-node": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.369.0.tgz", - "integrity": "sha512-vxX4s33EpRDh7OhKBDVAPxdBxVHPOOj1r7nN6f0hZLw5WPeeffSjLqw+MnFj33gSO7Htnt+Q0cAJQzeY5G8q3A==", - "requires": { - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-ini": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.600.0.tgz", + "integrity": "sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-ini": "3.598.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-process": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.369.0.tgz", - "integrity": "sha512-OyasKV3mZz6TRSxczRnyZoifrtYwqGBxtr75YP37cm/JkecDshHXRcE8Jt9LyBg/93oWfKou03WVQiY9UIDJGQ==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.598.0.tgz", + "integrity": "sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.369.0.tgz", - "integrity": "sha512-qXbEsmgFpGPbRVnwBYPxL53wQuue0+Z8tVu877itbrzpHm61AuQ04Hn8T1boKrr40excDuxiSrCX5oCKRG4srQ==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.598.0.tgz", + "integrity": "sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==", "requires": { - "@aws-sdk/client-sso": "3.369.0", - "@aws-sdk/token-providers": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/client-sso": "3.598.0", + "@aws-sdk/token-providers": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.369.0.tgz", - "integrity": "sha512-oFGxC839pQTJ6djFEBuokSi3/jNjNMVgZSpg26Z23V/r3vKRSgXfVmeus1FLYIWg0jO7KFsMPo9eVJW6auzw6w==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.598.0.tgz", + "integrity": "sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/credential-providers": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.369.0.tgz", - "integrity": "sha512-c3H3iEiutebVvHQY7igvlAKup/P8dRdpf3QqJNOCga/w6tR+MMdjhJBanHDeJjmyREfBTPySkaNY2gsLODtmCg==", - "requires": { - "@aws-sdk/client-cognito-identity": "3.369.0", - "@aws-sdk/client-sso": "3.369.0", - "@aws-sdk/client-sts": "3.369.0", - "@aws-sdk/credential-provider-cognito-identity": "3.369.0", - "@aws-sdk/credential-provider-env": "3.369.0", - "@aws-sdk/credential-provider-ini": "3.369.0", - "@aws-sdk/credential-provider-node": "3.369.0", - "@aws-sdk/credential-provider-process": "3.369.0", - "@aws-sdk/credential-provider-sso": "3.369.0", - "@aws-sdk/credential-provider-web-identity": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/credential-provider-imds": "^1.0.1", - "@smithy/property-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "version": "3.600.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.600.0.tgz", + "integrity": "sha512-cC9uqmX0rgx1efiJGqeR+i0EXr8RQ5SAzH7M45WNBZpYiLEe6reWgIYJY9hmOxuaoMdWSi8kekuN3IjTIORRjw==", + "requires": { + "@aws-sdk/client-cognito-identity": "3.600.0", + "@aws-sdk/client-sso": "3.598.0", + "@aws-sdk/client-sts": "3.600.0", + "@aws-sdk/credential-provider-cognito-identity": "3.600.0", + "@aws-sdk/credential-provider-env": "3.598.0", + "@aws-sdk/credential-provider-http": "3.598.0", + "@aws-sdk/credential-provider-ini": "3.598.0", + "@aws-sdk/credential-provider-node": "3.600.0", + "@aws-sdk/credential-provider-process": "3.598.0", + "@aws-sdk/credential-provider-sso": "3.598.0", + "@aws-sdk/credential-provider-web-identity": "3.598.0", + "@aws-sdk/types": "3.598.0", + "@smithy/credential-provider-imds": "^3.1.1", + "@smithy/property-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/middleware-host-header": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.369.0.tgz", - "integrity": "sha512-ysbur68WHY7RYpGfth1Iu0+S03nSCLtIHJ+CDVYcVcyvYxaAv6y3gvfrkH9oL220uX75UVLj3tCKgAaLUBy5uA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.598.0.tgz", + "integrity": "sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/middleware-logger": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.369.0.tgz", - "integrity": "sha512-mp4gVRaFRRX+LEDEIlPxHOI/+k1jPPp0tuKyoyNZQS8IPOL+6bqFdPan03hkTjujeyaZOyRjpaXXat6k1HkHhw==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.598.0.tgz", + "integrity": "sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.369.0.tgz", - "integrity": "sha512-V7TNhHRTwiKlVXiaW2CYGcm3vObWdG5zU0SN7ZxHDT27eTRYL8ncVpDnQZ65HfekXL8T9llVibBTYYvZrxLJ1g==", - "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.369.0.tgz", - "integrity": "sha512-Igizyt7TWy8kTitvE6o7R1Cfa4qLqijS/WxqT1cnHscQyZFFiIJVNypWeV4V19DZ9Msb/feAQdc8EWgHvZvYGA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.598.0.tgz", + "integrity": "sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==", "requires": { - "@aws-sdk/middleware-signing": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, - "@aws-sdk/middleware-signing": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.369.0.tgz", - "integrity": "sha512-55qihn+9/zjsHUNvEgc4OUWQBxVlKW9C+whVhdy8H8olwAnfOH1ui9xXQ+SAyBCD9ck3vAY89VmBeQQQGZVVQw==", + "@aws-sdk/middleware-user-agent": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.598.0.tgz", + "integrity": "sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/protocol-http": "^1.1.0", - "@smithy/signature-v4": "^1.0.1", - "@smithy/types": "^1.1.0", - "@smithy/util-middleware": "^1.0.1", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@aws-sdk/util-endpoints": "3.598.0", + "@smithy/protocol-http": "^4.0.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, - "@aws-sdk/middleware-user-agent": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.369.0.tgz", - "integrity": "sha512-a7Wb3s0y+blGF654GZv3nI3ZMRARAGH7iQrF2gWGtb2Qq0f3TQGHmpoHddWObYxiFWYzdXdTC3kbsAW1zRwEAA==", + "@aws-sdk/region-config-resolver": { + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.598.0.tgz", + "integrity": "sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==", "requires": { - "@aws-sdk/types": "3.369.0", - "@aws-sdk/util-endpoints": "3.369.0", - "@smithy/protocol-http": "^1.1.0", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.1", + "tslib": "^2.6.2" } }, "@aws-sdk/token-providers": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.369.0.tgz", - "integrity": "sha512-xIz8KbF4RMlMq0aAJbVocLB03OiqJIU5RLy+2t+bKMQ60fV4bnVINH5GxAMiFXiBIQVqfehFJlxJACtEphqQwA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.598.0.tgz", + "integrity": "sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==", "requires": { - "@aws-sdk/client-sso-oidc": "3.369.0", - "@aws-sdk/types": "3.369.0", - "@smithy/property-provider": "^1.0.1", - "@smithy/shared-ini-file-loader": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/property-provider": "^3.1.1", + "@smithy/shared-ini-file-loader": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/types": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.369.0.tgz", - "integrity": "sha512-0LgII+RatF2OEFaFQcNyX72py4ZgWz+/JAv++PXv0gkIaTRnsJbSveQArNynEK+aAc/rZKWJgBvwT4FvLM2vgA==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.598.0.tgz", + "integrity": "sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==", "requires": { - "@smithy/types": "1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "@smithy/types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.1.0.tgz", - "integrity": "sha512-KzmvisMmuwD2jZXuC9e65JrgsZM97y5NpDU7g347oB+Q+xQLU6hQZ5zFNNbEfwwOJHoOvEVTna+dk1h/lW7alw==", - "requires": { - "tslib": "^2.5.0" - } - } + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, "@aws-sdk/util-endpoints": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.369.0.tgz", - "integrity": "sha512-dkzhhMIvQRsgdomHi8fmgQ3df2cS1jeWAUIPjxV4lBikcvcF2U0CtvH9QYyMpluSNP1IYcEuONe8wfZGSrNjdg==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.598.0.tgz", + "integrity": "sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==", "requires": { - "@aws-sdk/types": "3.369.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", + "@smithy/util-endpoints": "^2.0.2", + "tslib": "^2.6.2" } }, "@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.369.0.tgz", - "integrity": "sha512-wrF0CqnfFac4sYr8jLZXz7B5NPxdW4GettH07Sl3ihO2aXsTvZ0RoyqzwF7Eve8ihbK0vCKt1S3/vZTOLw8sCg==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.598.0.tgz", + "integrity": "sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/types": "^1.1.0", + "@aws-sdk/types": "3.598.0", + "@smithy/types": "^3.1.0", "bowser": "^2.11.0", - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.369.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.369.0.tgz", - "integrity": "sha512-RkiGyWp+YUlK4njsvqD7S08aihEW8aMNrT5OXmLGdukEUGWMAyvIcq4XS8MxA02GRPUxTUNInLltXwc1AaDpCw==", + "version": "3.598.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.598.0.tgz", + "integrity": "sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==", "requires": { - "@aws-sdk/types": "3.369.0", - "@smithy/node-config-provider": "^1.0.1", - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.598.0", + "@smithy/node-config-provider": "^3.1.1", + "@smithy/types": "^3.1.0", + "tslib": "^2.6.2" } }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "dev": true, "requires": { - "tslib": "^2.3.1" + "tslib": "^2.2.0" } }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "@azure/core-auth": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.7.2.tgz", + "integrity": "sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==", + "dev": true, "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.6.2" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "tslib": "^2.6.2" } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + } + } + }, + "@azure/core-client": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.2.tgz", + "integrity": "sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==", + "dev": true, + "requires": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.6.1", + "@azure/logger": "^1.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "tslib": "^2.6.2" } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + } + } + }, + "@azure/core-rest-pipeline": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.1.tgz", + "integrity": "sha512-ExPSbgjwCoht6kB7B4MeZoBAxcQSIl29r/bPeazZJx50ej4JJCByimLOrZoIsurISNyJQQHf30b3JfqC3Hb88A==", + "dev": true, + "requires": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.9.0", + "@azure/logger": "^1.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, "requires": { - "color-name": "1.1.3" + "tslib": "^2.6.2" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + } + } + }, + "@azure/core-tracing": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.1.2.tgz", + "integrity": "sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA==", + "dev": true, + "requires": { + "tslib": "^2.6.2" + } + }, + "@azure/core-util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.9.0.tgz", + "integrity": "sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==", + "dev": true, + "requires": { + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "requires": { + "tslib": "^2.6.2" + } + } + } + }, + "@azure/identity": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@azure/identity/-/identity-4.3.0.tgz", + "integrity": "sha512-LHZ58/RsIpIWa4hrrE2YuJ/vzG1Jv9f774RfTTAVDZDriubvJ0/S5u4pnw4akJDlS0TiJb6VMphmVUFsWmgodQ==", + "dev": true, + "requires": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.9.2", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.11.1", + "@azure/msal-node": "^2.9.2", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "dependencies": { + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" } } } }, + "@azure/logger": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.2.tgz", + "integrity": "sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==", + "dev": true, + "requires": { + "tslib": "^2.6.2" + } + }, + "@azure/msal-browser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.17.0.tgz", + "integrity": "sha512-csccKXmW2z7EkZ0I3yAoW/offQt+JECdTIV/KrnRoZyM7wCSsQWODpwod8ZhYy7iOyamcHApR9uCh0oD1M+0/A==", + "dev": true, + "requires": { + "@azure/msal-common": "14.12.0" + } + }, + "@azure/msal-common": { + "version": "14.12.0", + "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.12.0.tgz", + "integrity": "sha512-IDDXmzfdwmDkv4SSmMEyAniJf6fDu3FJ7ncOjlxkDuT85uSnLEhZi3fGZpoR7T4XZpOMx9teM9GXBgrfJgyeBw==", + "dev": true + }, + "@azure/msal-node": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.9.2.tgz", + "integrity": "sha512-8tvi6Cos3m+0KmRbPjgkySXi+UQU/QiuVRFnrxIwt5xZlEEFa69O04RTaNESGgImyBBlYbo2mfE8/U8Bbdk1WQ==", + "dev": true, + "requires": { + "@azure/msal-common": "14.12.0", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + } + }, + "@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "requires": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + } + }, "@babel/compat-data": { "version": "7.22.9", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", @@ -23961,23 +24345,23 @@ } }, "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" } }, "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" } }, "@babel/helper-compilation-targets": { @@ -24000,19 +24384,19 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "dependencies": { @@ -24025,120 +24409,127 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "requires": { + "@babel/types": "^7.24.7" + } }, "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "requires": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" } }, "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" } }, "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==" }, "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" } }, "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "requires": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "requires": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "requires": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" } }, "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==" }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==" }, "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==" }, "@babel/helpers": { "version": "7.22.10", @@ -24151,13 +24542,14 @@ } }, "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "requires": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -24212,9 +24604,9 @@ } }, "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -24262,12 +24654,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -24334,12 +24726,12 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-destructuring": { @@ -24351,14 +24743,14 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", + "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" } }, "@babel/plugin-transform-parameters": { @@ -24378,28 +24770,28 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.10.tgz", - "integrity": "sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.10", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" } }, "@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" } }, "@babel/runtime": { @@ -24411,39 +24803,39 @@ } }, "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" } }, "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "requires": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" } }, @@ -24612,7 +25004,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "optional": true, "requires": { "debug": "^4.1.1", "env-paths": "^2.2.0", @@ -24627,16 +25018,15 @@ "semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "optional": true + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" } } }, "@electron/remote": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.1.tgz", - "integrity": "sha512-Lfxul2yBxL+FBVaKszNAkuUqSIDbUQ1I7BC394iRXyqA2XGz7im2bAxroNIM51jhySSPKUaOLHaFLxfV6pC9VQ==", - "optional": true + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.1.2.tgz", + "integrity": "sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==", + "requires": {} }, "@emotion/babel-plugin": { "version": "11.11.0", @@ -24743,15 +25133,15 @@ } }, "@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", "dev": true }, "@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -24772,9 +25162,9 @@ "dev": true }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -24798,19 +25188,19 @@ } }, "@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -24821,9 +25211,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, "@istanbuljs/load-nyc-config": { @@ -25070,13 +25460,13 @@ } }, "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" } }, "@jridgewell/resolve-uri": { @@ -25085,18 +25475,18 @@ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" }, "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "@jridgewell/sourcemap-codec": { @@ -25105,264 +25495,113 @@ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - } + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@leafygreen-ui/a11y": { - "version": "1.4.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/a11y/-/a11y-1.4.11.tgz", - "integrity": "sha512-mzNMR4ci3ExdCY3Ec1kr7xH4nV02uamoohbWxcI9qSd41TFskaDAZSXO9PL9S8JosQXjpRkt0f470XvVE0kEXQ==", + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/a11y/-/a11y-1.4.13.tgz", + "integrity": "sha512-ufiO4B40jyqLORhD0mQIpd4aBGpeCnM0dp9BrYggp0vJKhJV5sNSOJb5ytmSPGYXut5yhUZe4smYN5b94YWygQ==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" } }, "@leafygreen-ui/badge": { - "version": "8.0.15", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/badge/-/badge-8.0.15.tgz", - "integrity": "sha512-oraJpLtZ4nXJNmKp71/wzYsk+djf8fXNNgDKo1srpN0lZXlEYfHG1qAaHpYGA60QIP4iQuRU4OkShGfruPACww==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/badge/-/badge-8.1.3.tgz", + "integrity": "sha512-KsMi231G1dtF3XOzHgOpxp2TfpwqaUTZfJmrL38GaWh4G2svtzqejdeuxYKLCRBVo5udAjbrXvSjYyHhOYsw2Q==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2" } }, "@leafygreen-ui/banner": { - "version": "7.0.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/banner/-/banner-7.0.18.tgz", - "integrity": "sha512-EdH40+L6hrq3y1pPayIHawtQXUp9rzZtziDHlKeuUg2AgsSwfQ3WF48H2IP1ADF9I3npHpwMPsO3wGktEMG8lA==", + "version": "7.0.20", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/banner/-/banner-7.0.20.tgz", + "integrity": "sha512-GCFHQTGXocgjkeSM7uMSLsrV51RAVpMuu5dFy4cK9pbwhd+YNulUkClheVFUKJV6P5xFB/7SNajaGrYbLmVHWA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.1", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4", - "@leafygreen-ui/typography": "^18.0.0" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0" } }, "@leafygreen-ui/box": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/box/-/box-3.1.8.tgz", - "integrity": "sha512-qfjwhrie+mUrS2H+Qp98iQKBPoZtNpFmlGBYgg59sVOzotFvyvqwxlf/JcaNGo+v7nyOhC2XAHui0ywf9cScKw==" + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/box/-/box-3.1.9.tgz", + "integrity": "sha512-hY05VQKDVhqqBH/Dz1kxonjQmqrMR9URa3Dw3YgdLbVUd1hMQkoWbplamiE4S4vq2+81SQBgNw53i+/Vd0Cl0g==" }, "@leafygreen-ui/button": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-19.0.4.tgz", - "integrity": "sha512-T72lmAHS63cvhyAKaO53tNysL3xDsjnmIoaP0I55eOFOYlEy522U7vf0RMi/BsOePyAJak+x9yZ4uj8AWMCsbg==", - "requires": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.7", - "@leafygreen-ui/ripple": "^1.1.8", - "@leafygreen-ui/tokens": "^2.0.0", + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.2.1.tgz", + "integrity": "sha512-Ngcve4Q+4e44Q7Lsjd1y70lw7Llq0ZWCUFP2kJA4Vfo+kr1HtxjtUSHVRs+8puCfKiFkusJ34D5dnFaAGL2YmQ==", + "requires": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/ripple": "^1.1.13", + "@leafygreen-ui/tokens": "^2.5.2", + "@lg-tools/test-harnesses": "^0.1.2", "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - }, - "dependencies": { - "@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" - } - } - } } }, "@leafygreen-ui/card": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/card/-/card-9.0.9.tgz", - "integrity": "sha512-WeQiYUpWctuM8GWWgze1RuKOta+sXfYMEQPidcSIhTJK/9OKCLI4CfvJoH0vJdDlMKJWeozQh75pmYzSeWDfxA==", - "requires": { - "@leafygreen-ui/box": "^3.1.4", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/lib": "^10.4.0", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/tokens": "^2.1.1", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/card/-/card-10.0.7.tgz", + "integrity": "sha512-eQFV1IkBuzA4cqT8ozA+13voVDiQD96MGW0JqS8bdZYIjim6HDGLq31PTz1zwuZOvpXa55p/byyBeq94rjSX5w==", + "requires": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } } }, "@leafygreen-ui/checkbox": { - "version": "12.0.20", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-12.0.20.tgz", - "integrity": "sha512-H811SnLrrW2jwwno92AtpdqCNcmvHJCu0X+TjnPcYAUjvXPtGUBw+aJLpwQ+S4qtss6TavnsXQ75xJWnyM2w8A==", + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-12.1.1.tgz", + "integrity": "sha512-9hl2tLeajx4i7MpFyK+Glck76wo+h780MkwkuSGIQZLKNGxithlHXmVJeejDyS72effeLO/umsZJGxylvbEs/A==", "requires": { "@leafygreen-ui/a11y": "^1.4.11", "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", + "@leafygreen-ui/hooks": "^8.1.2", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/typography": "^18.2.2", "react-transition-group": "^4.4.5" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } } }, "@leafygreen-ui/code": { - "version": "14.2.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/code/-/code-14.2.18.tgz", - "integrity": "sha512-vtAEzURQ/Or8G9vBjsjN4aCWoysHr/Ny/3ewEcLRpz66vkC0kplArdnmG5dVSmklzImU4jKa+QOeM74l3DTHUQ==", - "requires": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/button": "^21.0.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.25.1", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/select": "^11.0.1", - "@leafygreen-ui/tokens": "^2.2.0", + "version": "14.3.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/code/-/code-14.3.3.tgz", + "integrity": "sha512-/QebIx0+hWCuiwEKXc/nqYpcV7MYmvzp5azqRRSbQmfFgV1pkdn1aa/IWLc+eHijpxAxBZmdk0xHYepPgSViQg==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/button": "^21.1.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/select": "^12.0.0", + "@leafygreen-ui/tokens": "^2.6.0", + "@leafygreen-ui/tooltip": "^11.0.3", "@types/facepaint": "^1.2.1", "@types/highlight.js": "^10.1.0", "clipboard": "^2.0.6", @@ -25373,869 +25612,429 @@ "polished": "^4.2.2" }, "dependencies": { - "@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", - "requires": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - } - }, - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/select": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-11.1.1.tgz", - "integrity": "sha512-aH0RNrIF3EU+5ChHJxVVjzlmFGkYRTq9DTRqm9eWgWcZIT3+ggIJCOwBNMr/8rD72NhyXm+RD8Gp2wwk8XJJrg==", - "requires": { - "@leafygreen-ui/button": "^21.0.10", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/input-option": "^1.0.13", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "@types/react-is": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.1.3", - "react-is": "^18.0.1" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@leafygreen-ui/confirmation-modal": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/confirmation-modal/-/confirmation-modal-4.0.10.tgz", - "integrity": "sha512-shnFII39bPmFuhWl4wZJn5eAok3GhxrUyffjDVZV7JsWNVJftZeYtqao/YAePgytr6Gwpc+7FcZSzwXk2RWwzw==", - "requires": { - "@leafygreen-ui/button": "^20.2.1", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/icon": "^11.17.0", - "@leafygreen-ui/modal": "^15.0.3", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/text-input": "^12.1.14", - "@leafygreen-ui/tokens": "^2.1.1", - "@leafygreen-ui/typography": "^16.5.1" - }, - "dependencies": { - "@leafygreen-ui/button": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-20.3.1.tgz", - "integrity": "sha512-uyy4o6WhRmwaDBt45qOUs/EC4QB4J36T7Hb7sidGQyetx8BU0VPigR4cnSAes0Ye95KyG5y7y/PgX2+Ab45K1g==", - "requires": { - "@leafygreen-ui/box": "^3.1.4", - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/lib": "^10.4.0", - "@leafygreen-ui/palette": "^4.0.4", - "@leafygreen-ui/ripple": "^1.1.9", - "@leafygreen-ui/tokens": "^2.1.1", - "polished": "^4.2.2" - } - }, - "@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/modal": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-15.0.6.tgz", - "integrity": "sha512-GJ4SEwKQ1NU8xm1P/KJvRfCZVD0yZrXtI1xh0Lay/w4wy4XCAYwIUHm2sV2ydrGLd2VeCT1onflJsZDLU6MrOw==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/icon": "^11.22.1", - "@leafygreen-ui/icon-button": "^15.0.16", - "@leafygreen-ui/lib": "^10.4.3", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/portal": "^4.1.7", - "@leafygreen-ui/tokens": "^2.1.4", - "focus-trap-react": "^8.10.0", - "polished": "^4.2.2", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } - } - } - } - }, - "@leafygreen-ui/emotion": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/emotion/-/emotion-4.0.7.tgz", - "integrity": "sha512-OxBgzEqmnZHxH9sAn6421zGKCgZ/nSf3Ryg/Ihvqz9NJEuPmKFMt/Kign4TeoaWZraIXAiWTt8q0QVBzu8ChVg==", - "requires": { - "@emotion/css": "^11.1.3", - "@emotion/server": "^11.4.0" - } - }, - "@leafygreen-ui/form-field": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/form-field/-/form-field-0.2.0.tgz", - "integrity": "sha512-sGpm+U+m3ErK76YciPapP9oC2GxvICKc1sMRGaAI1vMyYUbIlXEGxtLkL7Xd6HrJcC7aDRcN75MUlC2SJYQsTQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.24.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } - } - }, - "@leafygreen-ui/guide-cue": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/guide-cue/-/guide-cue-4.0.12.tgz", - "integrity": "sha512-OhmTuJPSExiAt/5/BB2UmmxywtcpX8Hb1EBjiG9W1vvhWWI2ielHapLvOzRkm1UbFasvzTxLCArW6BbiSbUn5w==", - "requires": { - "@leafygreen-ui/a11y": "^1.4.7", - "@leafygreen-ui/button": "^21.0.3", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/icon": "^11.22.1", - "@leafygreen-ui/icon-button": "^15.0.16", - "@leafygreen-ui/lib": "^10.4.3", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.0.15", - "@leafygreen-ui/tooltip": "^10.0.7", - "@leafygreen-ui/typography": "^16.5.4", - "focus-trap-react": "^10.0.0", - "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", - "requires": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } - } - }, - "@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/tooltip": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-10.1.0.tgz", - "integrity": "sha512-jgrETmJveRDzDtz1qYI18Pkc53XGp/38l10MWPl8mv+/ahCCgNED2idmCjCwJ3/ju14t6ASSzs0SuH1jokNcAA==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", - "lodash": "^4.17.21", - "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } - } - }, - "@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } - } - }, - "focus-trap": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", - "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", - "requires": { - "tabbable": "^6.2.0" - } - }, - "focus-trap-react": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-10.2.3.tgz", - "integrity": "sha512-YXBpFu/hIeSu6NnmV2xlXzOYxuWkoOtar9jzgp3lOmjWLWY59C/b8DtDHEAV4SPU07Nd/t+nS/SBNGkhUBFmEw==", - "requires": { - "focus-trap": "^7.5.4", - "tabbable": "^6.2.0" - } - }, - "tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" - } - } - }, - "@leafygreen-ui/hooks": { - "version": "7.7.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-7.7.8.tgz", - "integrity": "sha512-8n0GjAxIxXN1e7XcZ2bobdI56XCqbtH3AZTbWTgQdILnTdxuA/9+yif1zIP4L8shoUbcosuMwU5HRu4UnX9n1g==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/icon": { - "version": "11.25.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon/-/icon-11.25.1.tgz", - "integrity": "sha512-45m9INMLG2kKa8BTqP/ZGpc832w0CTO3KFK5kqwQdBouYyJogrKEQlI1Toss+JYKoBVHFYXBQc0ST8tIU4zr3w==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/icon-button": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon-button/-/icon-button-15.0.19.tgz", - "integrity": "sha512-TXNFHpfuMXIcMQHW/D31GEFby63qhBLyeI5CLL8KQjD5Xom3Q6fqviu/eyXE097jTzQtd1dO/2IIiqyyLRW30g==", - "requires": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } - } - }, - "@leafygreen-ui/info-sprinkle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/info-sprinkle/-/info-sprinkle-1.0.2.tgz", - "integrity": "sha512-SWab7+ljlNQQML6f2t2VOnp2JtZjcJ+KcZcVHUikjt7gYnS6+YtK9MEwZOFsLue6IchaJgPNsVA+Fm+e/PjSuQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/tooltip": "^11.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", + "@leafygreen-ui/select": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-12.1.0.tgz", + "integrity": "sha512-4NaDvlYWciwg83snMwKrmUx9mvUrGzucqGRAIShsH9M4R21Bvdy2sXMWcjX/w8tZCwT500Jk6xWJll9op2Yx9w==", + "requires": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.2.0", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/input-option": "^1.1.3", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.1.0", + "@lg-tools/test-harnesses": "^0.1.2", + "@types/react-is": "^18.0.0", "lodash": "^4.17.21", - "polished": "^4.2.2" + "polished": "^4.1.3", + "react-is": "^18.0.1" } }, "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" } } }, - "@leafygreen-ui/inline-definition": { - "version": "6.0.14", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/inline-definition/-/inline-definition-6.0.14.tgz", - "integrity": "sha512-vCfSF1Lr8O4sm8f7w9rTflVyJRjF3Tyrtppr9OSfEPTDDlla+tiuSyvrMUty3xfdomc6JEGyumdozvjyU9dFsg==", + "@leafygreen-ui/confirmation-modal": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/confirmation-modal/-/confirmation-modal-5.2.0.tgz", + "integrity": "sha512-cCkwlaGkpQbpzJKvHzqD3Zo3YFZXDJzgMr6v5egjNHzkkz3fIAmmjB6CT1h4ad0SSWS2hUhjVnwvbn9EtTuD2A==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tooltip": "^11.0.0" + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/modal": "^16.0.8", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/text-input": "^13.1.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.0.0" }, "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "@leafygreen-ui/lib": { + "@leafygreen-ui/text-input": { "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-13.1.0.tgz", + "integrity": "sha512-UkcqK6ycL+7wm5oQ81JymCzS2fbEIyXE1HKl5Dzy7+7J9fMCnVi+/oj55QwYkopPB3U6woS8CMZkdTGhGrhz1Q==", "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "lodash": "^4.17.21", - "polished": "^4.2.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.2.3", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2" } }, "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, - "@leafygreen-ui/input-option": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/input-option/-/input-option-1.0.13.tgz", - "integrity": "sha512-6J4rji1V2EHpKyqsuZPa2KVW4IHbj26Wp9VoJuFh6hz3LkNpJ5FoRxLvUGlL9wf8b+A2oK+bz5rW0FP+vs+nlw==", + "@leafygreen-ui/emotion": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/emotion/-/emotion-4.0.8.tgz", + "integrity": "sha512-gzEC8v9Ds8/wWuIYQ1yYbnERyIVt9X5tkG3AZIXqany+sKbWla9CfV+6vqEk1tdaIit1d0C2FS3rJH3BkA3VJg==", "requires": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4", - "@leafygreen-ui/typography": "^18.0.0" + "@emotion/css": "^11.1.3", + "@emotion/server": "^11.4.0" + } + }, + "@leafygreen-ui/form-field": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/form-field/-/form-field-1.2.3.tgz", + "integrity": "sha512-LW2fM9oFgoQH8V4ZrWcrVlo6phNhULy7i5MTQDiHi+HvAkJQl67R2DWl2QuXgBNgkOkgrDM5ccb/J7fD37VO4A==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.4.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.7.0", + "@leafygreen-ui/typography": "^19.1.1" }, "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" + } + } + } + }, + "@leafygreen-ui/guide-cue": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/guide-cue/-/guide-cue-5.1.0.tgz", + "integrity": "sha512-o+EOUQ0IgS50u5C+8txrQ57js4aFpdK6EPeGSMarAXd5QPY6YsNA5bLBuSSJ6QBoyP2KLjT8c8Zwt7i0q7ywmw==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tooltip": "^11.1.0", + "@leafygreen-ui/typography": "^19.0.0", + "focus-trap": "6.9.4", + "focus-trap-react": "9.0.2", + "polished": "^4.2.2" + }, + "dependencies": { + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, - "@leafygreen-ui/leafygreen-provider": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/leafygreen-provider/-/leafygreen-provider-3.1.10.tgz", - "integrity": "sha512-ZPrC9rQVCvyRQU76snv7h/DhDrarVlvbokV8r9ylanfnjFZwm02RliRVYiGiJHkz3LYrdmpJ2384z9juRFQDaQ==", + "@leafygreen-ui/hooks": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.1.3.tgz", + "integrity": "sha512-UAHii7T+g8h8sSzogqUgIid64bbKPHGihAAoBpNzbNsjqFllYVC0FpF59jQeL6tCYd32C2KatWOvhYheBf1hsA==", "requires": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" + "@leafygreen-ui/lib": "^13.3.0", + "lodash": "^4.17.21" + } + }, + "@leafygreen-ui/icon": { + "version": "12.5.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon/-/icon-12.5.4.tgz", + "integrity": "sha512-RsoIN4hfBtJDGuR5ClElCYvpX5+YqjB381EJDZQGC12iQGhhJwCuD4p4NW4O+jWXpt7KGISDKg0Ieao5R/vmpw==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "lodash": "^4.17.21" + } + }, + "@leafygreen-ui/icon-button": { + "version": "15.0.22", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/icon-button/-/icon-button-15.0.22.tgz", + "integrity": "sha512-o9+gSUfL5ZE6g05m89vv0BRtD+qcfOpfgbuusN5KXdvbAKPgUaweySFl6rMHgSybfdMM1E36rmxyyCwEo7Vahw==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "polished": "^4.2.2" + } + }, + "@leafygreen-ui/info-sprinkle": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/info-sprinkle/-/info-sprinkle-1.0.5.tgz", + "integrity": "sha512-kwUxXw9rsy2V0xjumHYRcS1SU74HW33yiyQYLZ/+WCKCg7l4ECX62JpvZipFBwmUnUxl/s06/nmoQjXIxOLWxQ==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/tooltip": "^11.0.3" + } + }, + "@leafygreen-ui/inline-definition": { + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/inline-definition/-/inline-definition-6.0.14.tgz", + "integrity": "sha512-vCfSF1Lr8O4sm8f7w9rTflVyJRjF3Tyrtppr9OSfEPTDDlla+tiuSyvrMUty3xfdomc6JEGyumdozvjyU9dFsg==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.7", + "@leafygreen-ui/lib": "^13.0.0", + "@leafygreen-ui/palette": "^4.0.7", + "@leafygreen-ui/tooltip": "^11.0.0" + } + }, + "@leafygreen-ui/input-option": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/input-option/-/input-option-1.1.4.tgz", + "integrity": "sha512-tti2719MBIId67OwbAnXXm71kqDRGa6Xjiy2cCVWL0au6rYpcm7RXio9J6KZyk4aUvHGu3f6jMNKQgifapvSlw==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0", + "@leafygreen-ui/typography": "^19.2.0" }, "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", + "@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, + "@leafygreen-ui/leafygreen-provider": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/leafygreen-provider/-/leafygreen-provider-3.1.12.tgz", + "integrity": "sha512-lV5R30jTZ41FTBj+TSyme/QcplIkQlUnC+WE/YRfWL4XvgGeGUoGXlHl7gu4mMoXy8p/VRBw8fcotxhvBf58gA==", + "requires": { + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" + } + }, "@leafygreen-ui/lib": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.0.tgz", - "integrity": "sha512-gGZBJ0Mjo2/hHfECbERGJbx1nPFNDqkge7L1K5y5LwBjpiOYjUNa1OsyBRwc9pr+zucdAF2FHSo+EdoT83Mbtg==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.6.0.tgz", + "integrity": "sha512-4TglZhImmJ5G13nEoBsNkwBEDZLS0Qo4b3hfPnJsXQ0+BYguxExevan6S7i7hQ4iwvZekCVKGd/yrp0UonrOHQ==", "requires": { "@storybook/csf": "^0.1.0", "lodash": "^4.17.21", "prop-types": "^15.7.2" } }, + "@leafygreen-ui/logo": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/logo/-/logo-9.1.1.tgz", + "integrity": "sha512-VeoTtRO45CUMBvGml0OBX48nwwHeECLiIs5H0dSuYaq7UlIF4YrSDc5O4qd+yq6jX3Eu11/3y9wxu0NlqKtDkw==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10" + } + }, "@leafygreen-ui/marketing-modal": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/marketing-modal/-/marketing-modal-3.0.10.tgz", - "integrity": "sha512-9WGa/HXvdHsdqTuKKXefe2XV+/73rIj8zzMsx0dcUILYxGMllHZDH/X80B1qA39GyqaGX8SLv/g2vmlF7jXbqw==", - "requires": { - "@leafygreen-ui/button": "^19.0.0", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/modal": "^12.0.0", - "@leafygreen-ui/palette": "^3.4.4", - "@leafygreen-ui/tokens": "^1.3.4", - "@leafygreen-ui/typography": "^15.0.0" - }, - "dependencies": { - "@leafygreen-ui/modal": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-12.0.1.tgz", - "integrity": "sha512-GIJGf4ys2n8TuU8rFEHa0juv3gE1JBf395v3gDNmimVZr/zkDTgcK6t8vWJ7PbCH9nX9s4BWUI7Ng6w2h7qTZw==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.12.1", - "@leafygreen-ui/icon-button": "^15.0.1", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.4", - "@leafygreen-ui/portal": "^4.0.7", - "@leafygreen-ui/tokens": "^1.4.0", - "facepaint": "^1.2.1", - "focus-trap-react": "^8.10.0", - "polished": "^4.2.2", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" - } - }, - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/marketing-modal/-/marketing-modal-4.2.3.tgz", + "integrity": "sha512-3rQh0SM1FYpFo/CQubCWZYcgvd0OSCWMAFxMT9ax+xoKZQPwxlPdQ8INWw0B99SF9mVMhP74cmftFQ+88hOcPw==", + "requires": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/modal": "^16.0.7", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0" + }, + "dependencies": { + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", + "requires": { + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" + } + }, + "@leafygreen-ui/typography": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" + } } } }, "@leafygreen-ui/menu": { - "version": "19.0.4", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/menu/-/menu-19.0.4.tgz", - "integrity": "sha512-baTyt2sAAKNQQGd8GihYQOWeWZq1hr9isOcRxEkl73h6a3D1JeKsje6gHCR8d/heSpVDkFQf9+yL0Jxp3rExgw==", - "requires": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.12.4", - "@leafygreen-ui/icon-button": "^15.0.4", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.7", - "@leafygreen-ui/popover": "^11.0.4", - "@leafygreen-ui/tokens": "^2.0.0", + "version": "23.0.3", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/menu/-/menu-23.0.3.tgz", + "integrity": "sha512-wC5nXKJWAlHWvmMUed7u2ldsyxAl0NjrmAuugov4h4Ng3wSJMfURJRL9F+1240zjxyvURtUnMjZrD/Pc1Q9M8Q==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", "lodash": "^4.17.21", - "react-transition-group": "^4.4.1" + "react-transition-group": "^4.4.5" }, "dependencies": { - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - }, - "dependencies": { - "@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" - } - } + "@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" } } }, "@leafygreen-ui/modal": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-14.0.5.tgz", - "integrity": "sha512-7zrBZSdf4P8OWeUxxFRLgSZhh/V7REbkXJrpqb/JK2fclU161ZeT2SLLdFKfnjQqf4n3eOVrlDsxy8xwwZ769Q==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/hooks": "^7.7.1", - "@leafygreen-ui/icon": "^11.13.1", - "@leafygreen-ui/icon-button": "^15.0.9", - "@leafygreen-ui/lib": "^10.3.2", - "@leafygreen-ui/palette": "^4.0.3", - "@leafygreen-ui/portal": "^4.1.1", - "@leafygreen-ui/tokens": "^2.0.2", - "focus-trap-react": "^8.10.0", + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/modal/-/modal-16.0.9.tgz", + "integrity": "sha512-WWcIkapE8Q4m4dJVXIp5t6RhEEoWGwbGW+nB36UC27JrqQHBtfViGQ9zgZFEfZE0qG8jgLke/PvpEoublNZa4A==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/icon-button": "^15.0.22", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.8.0", + "focus-trap": "6.9.4", + "focus-trap-react": "^9.0.2", "polished": "^4.2.2", "prop-types": "^15.8.1", - "react-transition-group": "^4.4.1" - }, - "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } + "react-transition-group": "^4.4.5" } }, "@leafygreen-ui/palette": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.8.tgz", - "integrity": "sha512-f7aA6lT5xbK/fta6Lv0YRKCdhupl1c9xK9W2bW12dt8FLwOUELAdLnu3UvgMFBcC4SP/t/B7j/Qwz0X5R6lfkA==" + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-4.0.10.tgz", + "integrity": "sha512-0vhKwMfBv7eO9txSxkgxijjI8M9L8uLFge+JpbBXql37+rKJuiQl7wCb5OPIJM+aV2HaHElGMyf9nRliabk30w==" }, "@leafygreen-ui/pipeline": { - "version": "5.0.17", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/pipeline/-/pipeline-5.0.17.tgz", - "integrity": "sha512-peTDNz/xhVvh/M8zhJ5u488xBz8zCGjwKdhWzNvSX2r2u3Kg+kfVo40zmNUedBgbgWJDCkiroKzr12rDpxPEMw==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/tooltip": "^11.0.0", + "version": "5.0.20", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/pipeline/-/pipeline-5.0.20.tgz", + "integrity": "sha512-XxANPl3TGWQGNu0OELxAEtLO30bjAAo6NLU4YlUoIF3PGyFjsm0zyGmL646KrMSmOjL+RPaAEhabh10lA6R4MQ==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/tooltip": "^11.0.3", "react-intersection-observer": "^8.25.1" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/tooltip": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.0.0.tgz", - "integrity": "sha512-dqyye58w/1uWCsoFWEVgt2rrkNOTPyk1AQN9Wc828+YObIDyBI+F6ppqDxKZtu6ztw34aEOJw3kfucE98zQk+A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.1", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.1", - "lodash": "^4.17.21", - "polished": "^4.2.2" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } } }, "@leafygreen-ui/polymorphic": { @@ -26244,74 +26043,26 @@ "integrity": "sha512-ZJqrYNAAO/CLgl3vtl01jQl2xz6pvzPRMEDqOgCykEn2/vk6wZUOJJ4FVK0cbLZuzwvKixbrTgOSw4WrF19sKg==" }, "@leafygreen-ui/popover": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/popover/-/popover-11.2.0.tgz", - "integrity": "sha512-wGN1yQL7p1+eD4Aivu6Gg7UexdlUceSVAVMPBj3mWXUexcQjT5bRk+S7eR/x7R079Sn1Es2voEQSiO+hur39Gw==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/portal": "^5.0.3", - "@leafygreen-ui/tokens": "^2.2.0", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/popover/-/popover-11.4.0.tgz", + "integrity": "sha512-hSr3zbbWOCUuhByR5ncFJTkXxFfA7o2QjVjDXKLVPPn9Gh7+sYRLe87mTQWs9m8fbRx9O4Uk7Vq0R9U4A77dxw==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.8.0", + "@types/react-transition-group": "^4.4.5", "react-transition-group": "^4.4.5" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "requires": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } } }, "@leafygreen-ui/portal": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-4.1.7.tgz", - "integrity": "sha512-P2lgxhRk7uB7N7ourOupa22pH7G/wTZb1RxYVUl4yNNzXRZ0IhXdt+R1aPPGOfy1pG/m/hHJ3Wf+zVwWaN0vGQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.1.1.tgz", + "integrity": "sha512-8wvNdLxO3hWY7u5rf1ndYCJJ85TB6XpKp+dl7sQPoLnkq8HXd4GqnFXYwvGQp/pf3ts/Dp5FmZ/9dljkktnzQg==", "requires": { - "@leafygreen-ui/hooks": "^7.7.8", - "@leafygreen-ui/lib": "^10.4.3" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-10.4.3.tgz", - "integrity": "sha512-p5BtXHeQsvLnnrN0eunPFZeaMtW9z7Mbvm2WOS9lvnAySj8xZp5Vn9Y3XjyYLbPhpGVBhhOAJFP3YMxbP9DKgg==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0" } }, "@leafygreen-ui/radio-box-group": { @@ -26324,363 +26075,208 @@ "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", "@leafygreen-ui/tokens": "^2.2.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } } }, "@leafygreen-ui/radio-group": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-group/-/radio-group-10.2.3.tgz", - "integrity": "sha512-2X7DYnl1CrPNDaKAS7pphEsePiVeQLBdcY95fJEhwHyeFMKOF4RvNxjwdVnHIedycJhR156d612yFAZXueuGeQ==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/radio-group/-/radio-group-10.2.5.tgz", + "integrity": "sha512-QwytVW6RtbxXsiMdDszpdXQeF6jVXElWhiotN4dpW82DCqBpAPNMYr2T24a4I2DTn/2mhfs+nBXBtcN7QYhxTA==", "requires": { "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", + "@leafygreen-ui/hooks": "^8.1.2", "@leafygreen-ui/lib": "^13.0.0", "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/typography": "^18.2.2" } }, "@leafygreen-ui/ripple": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/ripple/-/ripple-1.1.12.tgz", - "integrity": "sha512-4i+AoogkaX5UAY5SGuQwZBScF+FRSd9+vlpKrB1FtesYhWC6g2e4DS/nd00g4EnpgYXvK22g0dsxoUkog71mIg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/ripple/-/ripple-1.1.13.tgz", + "integrity": "sha512-M8JCnV+bYVYnRaO80qFiuf4oZjatFoAeNTw8mUKCr5/hboNmOJe7vGdJ69Um7iQUYMSBa8IXwD8eHHNgUcOAnw==", "requires": { - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } + "@leafygreen-ui/tokens": "^2.5.2" } }, "@leafygreen-ui/search-input": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/search-input/-/search-input-2.1.2.tgz", - "integrity": "sha512-Deia+EPqnAfcTnoNQ6HHZ9E9nXGAWdxa9QjMGHZbDAsyusGPmRqfl6uYCySI1AYqeo3fawnOMcskEzZ1DMub3A==", - "requires": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.24.0", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/input-option": "^1.0.13", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/popover": "^11.1.1", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/search-input/-/search-input-2.1.6.tgz", + "integrity": "sha512-BmxxPXWuAjrOhxUh6a9Dyq4kAYUO7x+PaokH7lUIwyigm1fVY1uinkpk7Gd0/vcFUhLzZjbBl7O6B0OLIJVjcw==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/input-option": "^1.1.2", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0", "lodash": "^4.17.21", "polished": "^4.2.2" }, "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } + "@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" } } }, "@leafygreen-ui/segmented-control": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/segmented-control/-/segmented-control-7.0.5.tgz", - "integrity": "sha512-ar0+gKg7ClTz+YK7TnaWq9bY0y7TazGxxR/vjPTAO/LRgg6drP/nmycU8Q3UqsL2LPJqRscKTcIPv9lSNl6eEw==", - "requires": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.7.0", - "@leafygreen-ui/icon": "^11.12.7", - "@leafygreen-ui/lib": "^10.3.1", - "@leafygreen-ui/palette": "^4.0.1", - "@leafygreen-ui/tokens": "^2.0.1", - "@leafygreen-ui/typography": "^16.2.0", + "version": "8.2.13", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/segmented-control/-/segmented-control-8.2.13.tgz", + "integrity": "sha512-SqXcAJnOqUslrGYZNfAQuhV7zkftUTHF3AKHbo/FZt5BUtbzhbEr01JhGxoG5mcVTvKIptL+eHLEoCy+2IvyMw==", + "requires": { + "@leafygreen-ui/box": "^3.1.9", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.4.0", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", "lodash": "^4.17.21", "polished": "^4.2.2" }, "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, "@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, "@leafygreen-ui/select": { - "version": "10.3.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-10.3.18.tgz", - "integrity": "sha512-YJkO15Clg72D5RX0V4Ea6+IozftIbHUREAb7Gs/sYFEAESIuT6u/rmhhqOBZHtWmc/yNVgcFYDPJHXWYVzYV+w==", - "requires": { - "@leafygreen-ui/button": "^21.0.7", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^12.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/popover": "^11.0.18", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^17.0.1", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/select/-/select-11.3.2.tgz", + "integrity": "sha512-qPAXYibI4UNX+xW7QdspoT+fg9WfkqTwCsD9j27rTyJZ+pR2BOW5oynG5gKnm0AVPWullms5/SdxiLWai1GxNA==", + "requires": { + "@leafygreen-ui/button": "^21.2.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/input-option": "^1.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/popover": "^11.3.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2", "@types/react-is": "^18.0.0", "lodash": "^4.17.21", "polished": "^4.1.3", "react-is": "^18.0.1" }, "dependencies": { - "@leafygreen-ui/button": { - "version": "21.0.11", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/button/-/button-21.0.11.tgz", - "integrity": "sha512-NJhllsXO7jAJoAou9kPIk/B8ODYUrGxr4l4TceoAwAM3cW0kZ5kys9KA+0TOmG2AxNKLcElLu+wCg3TbssFk+Q==", - "requires": { - "@leafygreen-ui/box": "^3.1.8", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/lib": "^13.1.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/ripple": "^1.1.12", - "@leafygreen-ui/tokens": "^2.1.4", - "polished": "^4.2.2" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } - } - }, - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "@leafygreen-ui/lib": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-12.0.0.tgz", - "integrity": "sha512-nhaxi4oBesnizxO0YK7XwcmiLL9U5QuN7lkZdWGDdmoJgNNL+aRju4W5vmZc7vcazSHfr3gAL+NFAGaAuopyRA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, "@leafygreen-ui/typography": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-17.0.2.tgz", - "integrity": "sha512-wx+kk5VNMOCTenrIG2AcgAKHt9TiLhSTirZARv0J6l4VOgnO+Mkbh3sqd4mk0EOBCAFmsBR3WqwQh00JXU8Htw==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^12.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } }, "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" } } }, "@leafygreen-ui/table": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/table/-/table-10.0.3.tgz", - "integrity": "sha512-JuoUkcFvE/oV7qt0tIeXHQPehHGMSp4YCbm4JaWq76ExdUhP6lPP5nv/sfMsBPk1ICGkeOxMYcVHXi0e67XGWA==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/hooks": "^7.5.0", - "@leafygreen-ui/icon": "^11.12.5", - "@leafygreen-ui/icon-button": "^15.0.7", - "@leafygreen-ui/lib": "^10.2.2", - "@leafygreen-ui/palette": "^4.0.0", - "@leafygreen-ui/tokens": "^2.0.1", - "@leafygreen-ui/typography": "^16.1.0", + "version": "12.6.4", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/table/-/table-12.6.4.tgz", + "integrity": "sha512-bXnYUrn+SWdLcaUIjfr3CwLilpdjpLJrW8GY/co4SOqlA57/ih8pi1dei3ltmsjtCxOkupU0jZeMUoF45JNikg==", + "requires": { + "@leafygreen-ui/checkbox": "^13.1.0", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0", + "@leafygreen-ui/typography": "^19.2.0", + "@tanstack/react-table": "^8.13.2", "lodash": "^4.17.21", "polished": "^4.2.2", - "react-transition-group": "^4.4.1" + "react-keyed-flatten-children": "^1.3.0", + "react-transition-group": "^4.4.5", + "react-virtual": "^2.10.4" }, "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "@leafygreen-ui/checkbox": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/checkbox/-/checkbox-13.1.0.tgz", + "integrity": "sha512-Cu+Jqunde+yTYqdUvRe/o2gBZE/WI8nyhvS+Ozy2PB1KMN95PCQ/oCU1oMI3n5/gQTbFEXi4ia54eln0TRgh7w==", + "requires": { + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", + "@lg-tools/test-harnesses": "^0.1.2", + "react-transition-group": "^4.4.5" + } + }, + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, "@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } @@ -26699,355 +26295,160 @@ "@leafygreen-ui/portal": "^5.0.3", "@leafygreen-ui/tokens": "^2.2.0", "@leafygreen-ui/typography": "^18.0.1" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "requires": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } } }, "@leafygreen-ui/text-area": { - "version": "8.0.20", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-area/-/text-area-8.0.20.tgz", - "integrity": "sha512-cCW0isImuA6rpV7/HWHBMHqfnLPLUOb0DWntBQVa8OvytBiAaPV+Dn8bZKw76QZ4iP33Nj4/5vNQTgtRAfMDtg==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-area/-/text-area-8.2.1.tgz", + "integrity": "sha512-Q1jxuGi5le9bQLbqv9JCHUSwSIL2gD7iNCRpXTgiFjbUkR4k2QuxZaQs8osg0NZw1qojezZtuMe7+hIOU3pCBg==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.4.0", + "@lg-tools/test-harnesses": "^0.1.2" } }, "@leafygreen-ui/text-input": { - "version": "12.1.24", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-12.1.24.tgz", - "integrity": "sha512-IE7Ukw3brzBkPqaSAQNsjaYrj5AHsZO4T1VMPME/06ESWk0YUukPlc3vRH9F72LkPkrOetf8TzmfRglGs3wShQ==", + "version": "12.1.27", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/text-input/-/text-input-12.1.27.tgz", + "integrity": "sha512-YYF1zTANoP4vp6ioqv8R4iG0vYO+IY+6HMOvuQSrxpOOix9CGUQrr+79N0Yl2hcaLjwGIsJpJAfDlx+DZCMhXA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/form-field": "^0.2.0", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0" - }, - "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", - "requires": { - "lodash": "^4.17.21" - } - }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, - "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - } - } + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/form-field": "^1.0.1", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^18.3.0" } }, "@leafygreen-ui/toast": { - "version": "6.1.18", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/toast/-/toast-6.1.18.tgz", - "integrity": "sha512-VnGZx0/0gVedT+uAyfrkpsIa5J3xAXP6YblL8fG6DcH5EIxtLjEHDSc/+W1EP75aVYNGaJ8cW83vKTU9bNjaIA==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/icon": "^11.23.0", - "@leafygreen-ui/icon-button": "^15.0.19", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/portal": "^5.0.3", - "@leafygreen-ui/tokens": "^2.2.0", - "@leafygreen-ui/typography": "^18.0.0", + "version": "6.1.25", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/toast/-/toast-6.1.25.tgz", + "integrity": "sha512-zd84n+D0uDmYRdQMzO+G+ZmUWahrdn3Ih4BRnzUl9MBinGs1uNseZkBR2rViebKjm3MBf1jkV7b8nF6aKsFJRg==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.0.1", + "@leafygreen-ui/icon-button": "^15.0.21", + "@leafygreen-ui/lib": "^13.3.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/portal": "^5.1.1", + "@leafygreen-ui/tokens": "^2.5.2", + "@leafygreen-ui/typography": "^19.0.0", "lodash": "^4.17.21", "polished": "^4.2.2", "react-transition-group": "^4.4.5" }, "dependencies": { - "@leafygreen-ui/hooks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/hooks/-/hooks-8.0.1.tgz", - "integrity": "sha512-n++2Qdtv0UsJoSSCtrDU0Qlcq0JvSy+fzvvexDphqbchoC47DtgFqVfftq8UcmkvkkJOkTASrIZesV45rVJAiQ==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { + "@leafygreen-ui/lib": "^13.6.0", "lodash": "^4.17.21" } }, - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/portal": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/portal/-/portal-5.0.3.tgz", - "integrity": "sha512-vwoZHtdrMzR5uBsfxAvl1kdB/xtQwtfpRTuCqC5Q3X+DsLg9JReDl+5dsGMegwDwkqwzsndYVGpq0BcFuDITXQ==", - "requires": { - "@leafygreen-ui/hooks": "^8.0.0", - "@leafygreen-ui/lib": "^13.0.0" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - }, "@leafygreen-ui/typography": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.0.1.tgz", - "integrity": "sha512-XPTya1YVmpiGInxrD//aF0uCvhpnGPKDTkkZKD0Mk+bPP3qXaXtP8YwdrGnMLEJsuRG3ipmOrA5/YXcNQDeQkQ==", + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.25.0", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, "@leafygreen-ui/toggle": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/toggle/-/toggle-10.0.17.tgz", - "integrity": "sha512-EUo7kxMMNH+rv8dVJCqyi7zGRPCgiiw+cGXgMa2dI2u1MJQHqGdnNFeQSIJE48jDBpJZfIfMxyryN5lpR3ziHg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/toggle/-/toggle-10.1.1.tgz", + "integrity": "sha512-s5T7d3/MYdX15UZaB4c7PtUmk43EO2/7yzkQrxR/lE75rG/RByMaLfVsRFHY9ob/Z5Z2/LysZqfY7rq3rkkJvQ==", "requires": { - "@leafygreen-ui/a11y": "^1.4.11", - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^13.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-13.1.0.tgz", - "integrity": "sha512-YDq/IYwhcIWYg8A81Uo2J/a+0VP9Pfbn2heUGfytLY9gYcrpMYL7kClAHwZzg8iS4iOaIexGcaUFu0I3OYFxyA==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - }, - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", - "requires": { - "@leafygreen-ui/palette": "^4.0.7" - } - } + "@leafygreen-ui/a11y": "^1.4.13", + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/tokens": "^2.5.2", + "@lg-tools/test-harnesses": "^0.1.2" } }, "@leafygreen-ui/tokens": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-1.4.1.tgz", - "integrity": "sha512-ap9IdpQy+wg8IG9rJbWZB9F9zihhixClz68UFcwJMbDqcvxcqRPBvRpkbqiJdAPwOSrbYZfrHSGEtdJk9bzZAg==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.9.0.tgz", + "integrity": "sha512-Ogn250aFFHylmkKZAtdyS6qhA3JiHra+Zx8tMK500kkWTo8lwh7bSiK6nVwKWzkkeReEr8Iq41a08RjaRaf4HQ==", "requires": { - "@leafygreen-ui/palette": "^3.4.5" - }, - "dependencies": { - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - } + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.9" } }, "@leafygreen-ui/tooltip": { - "version": "9.1.8", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-9.1.8.tgz", - "integrity": "sha512-bqLF0z4L19y253nmRoQSs4U1O7OGSCf46e1N7xBCbenlZVMLN4MSk0EQdpmDmXqMkopLOomVQAy/17guV6YULA==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.4", - "@leafygreen-ui/hooks": "^7.7.1", - "@leafygreen-ui/icon": "^11.13.1", - "@leafygreen-ui/lib": "^10.3.3", - "@leafygreen-ui/palette": "^4.0.4", - "@leafygreen-ui/popover": "^11.0.8", - "@leafygreen-ui/tokens": "^2.0.3", - "@leafygreen-ui/typography": "^16.3.0", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/tooltip/-/tooltip-11.1.0.tgz", + "integrity": "sha512-nVIirNqBShuj25u9koOPAVYpqGWKSDe/rsdRyPWZLeL9rLfbtZi9Xn44HeDX7brVo+KBkE29Gsuh1Y3J7LN5ng==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/hooks": "^8.1.3", + "@leafygreen-ui/icon": "^12.5.0", + "@leafygreen-ui/lib": "^13.5.0", + "@leafygreen-ui/palette": "^4.0.9", + "@leafygreen-ui/popover": "^11.4.0", + "@leafygreen-ui/tokens": "^2.8.0", + "@leafygreen-ui/typography": "^19.0.0", "lodash": "^4.17.21", "polished": "^4.2.2" }, "dependencies": { - "@leafygreen-ui/tokens": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/tokens/-/tokens-2.2.0.tgz", - "integrity": "sha512-hmRT1Sz6J9tv84ty1YPs1zmFewOCt/TghfbR0So5UtA5S2q4sVqjPZEpSvLmlxmtXIyl77fjU+uZYHpW2EID6w==", + "@leafygreen-ui/polymorphic": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-2.0.1.tgz", + "integrity": "sha512-rzNoS0Q50NI6e+qkc0ytLwnCbiBEfDdLTta2WBPT7noi1yshCcPDlM7+g2R6gTRdTNVUSOLVNyt4VeLZOERc6g==", "requires": { - "@leafygreen-ui/palette": "^4.0.7" + "@leafygreen-ui/lib": "^13.6.0", + "lodash": "^4.17.21" } }, "@leafygreen-ui/typography": { - "version": "16.5.5", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-16.5.5.tgz", - "integrity": "sha512-mErhTYM0C1PZaeADTkp5v/MAS6aEhavWHZ3otHthBSo/zwI5uAYnkreheiYElc66B/0bcOxCikLVkP3zaFnX2A==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.7", - "@leafygreen-ui/icon": "^11.22.2", - "@leafygreen-ui/lib": "^11.0.0", - "@leafygreen-ui/palette": "^4.0.7", - "@leafygreen-ui/polymorphic": "^1.3.6", - "@leafygreen-ui/tokens": "^2.1.4" - }, - "dependencies": { - "@leafygreen-ui/lib": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/lib/-/lib-11.0.0.tgz", - "integrity": "sha512-sHkY/MOwRQDc9qAR1awreW0dP+6ELueJJd4JCJmi6XYbdL0wDotFwsWfCwkL+N6cFbE1e+xBQtFLB6T1+58+iQ==", - "requires": { - "@storybook/csf": "^0.1.0", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" - } - } + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-19.2.0.tgz", + "integrity": "sha512-57O0eplpV3nYQMVtSYuOGafPhGC26ShPDTK46HF9I9xCgLRul4YHFM3jwXQEvdWcZO5JSMHzx5iH7ec2+pHBrA==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.5.4", + "@leafygreen-ui/lib": "^13.6.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^2.0.0", + "@leafygreen-ui/tokens": "^2.9.0" } } } }, "@leafygreen-ui/typography": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-15.3.0.tgz", - "integrity": "sha512-JmdCGHvFpX0/KyB42zcAjo5ViBKuoIL74MQwN25neWgWAg19Q4VMPrTm+hnysqaPW0ntCwRayexbWnTI+XPD+Q==", - "requires": { - "@leafygreen-ui/box": "^3.1.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/icon": "^11.12.3", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/palette": "^3.4.6", - "@leafygreen-ui/tokens": "^1.4.1" - }, - "dependencies": { - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" + "version": "18.4.0", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/typography/-/typography-18.4.0.tgz", + "integrity": "sha512-2pfoBv6jEPupMzT/rciyP6oN53Fc2h0Nl/uXubSRuFcIDwUAE6CIb3+IjK3UNyQrnOixGU4lWQhxIPTrnyxCpQ==", + "requires": { + "@leafygreen-ui/emotion": "^4.0.8", + "@leafygreen-ui/icon": "^12.1.0", + "@leafygreen-ui/lib": "^13.4.0", + "@leafygreen-ui/palette": "^4.0.10", + "@leafygreen-ui/polymorphic": "^1.3.7", + "@leafygreen-ui/tokens": "^2.5.2" + }, + "dependencies": { + "@leafygreen-ui/polymorphic": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@leafygreen-ui/polymorphic/-/polymorphic-1.3.7.tgz", + "integrity": "sha512-Tr2TmpS0YFJ3hGNbVWQpeseJRo4kTrVumVlZ4aF4hId1JYDzF0TU5JJO40v+brhbgnKsyBu7+Rvz6ExY1NcKew==" } } }, @@ -27091,6 +26492,46 @@ "@lezer/common": "^1.0.0" } }, + "@lg-tools/test-harnesses": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@lg-tools/test-harnesses/-/test-harnesses-0.1.2.tgz", + "integrity": "sha512-Fb6bb9v69ey7Z9LOWMZUVNgyk5Xlgi3+CC78aqB7aFyOt0/9YSldWmxDp4tLRRu5cY8cmW3xqo5uLGT9JyWLWQ==", + "requires": { + "@testing-library/dom": "9.3.1" + }, + "dependencies": { + "@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } + } + }, "@lukeed/csprng": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", @@ -27105,85 +26546,69 @@ } }, "@mongodb-js/compass-components": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.21.2.tgz", - "integrity": "sha512-49zX5T5VXvLBcuU/SvPks/nbJyGy5pUCKBpaUV3Mb2ycIa8uj2cJvnte8YcPPDRn5dpcTM1Iar0NhqD8rjiPBQ==", + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-components/-/compass-components-1.26.0.tgz", + "integrity": "sha512-YiWQkAmLEOH4z5vcoraLF3x9B0MYDJmOGYkWUeVzBXmbtkDNI+Y4tkAV0uFr8+PkkGglH1jmOso81O6Op3A0IQ==", "requires": { "@dnd-kit/core": "^6.0.7", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@emotion/css": "^11.11.2", - "@leafygreen-ui/badge": "^8.0.1", - "@leafygreen-ui/banner": "^7.0.1", - "@leafygreen-ui/button": "^19.0.3", - "@leafygreen-ui/card": "^9.0.2", - "@leafygreen-ui/checkbox": "^12.0.8", - "@leafygreen-ui/code": "^14.1.0", - "@leafygreen-ui/confirmation-modal": "^4.0.1", - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/guide-cue": "^4.0.0", - "@leafygreen-ui/hooks": "^7.3.3", - "@leafygreen-ui/icon": "^11.21.0", - "@leafygreen-ui/icon-button": "^15.0.3", - "@leafygreen-ui/info-sprinkle": "^1.0.0", - "@leafygreen-ui/inline-definition": "^6.0.0", - "@leafygreen-ui/leafygreen-provider": "^3.1.0", - "@leafygreen-ui/lib": "^10.0.0", - "@leafygreen-ui/logo": "^7.0.0", - "@leafygreen-ui/marketing-modal": "^3.0.10", - "@leafygreen-ui/menu": "^19.0.1", - "@leafygreen-ui/modal": "^14.0.0", - "@leafygreen-ui/palette": "^3.4.6", - "@leafygreen-ui/pipeline": "^5.0.1", - "@leafygreen-ui/popover": "^11.0.1", - "@leafygreen-ui/portal": "^4.0.7", - "@leafygreen-ui/radio-box-group": "^12.0.5", - "@leafygreen-ui/radio-group": "^10.1.1", - "@leafygreen-ui/search-input": "^2.0.3", - "@leafygreen-ui/segmented-control": "^7.0.0", - "@leafygreen-ui/select": "^10.1.0", - "@leafygreen-ui/table": "^10.0.2", - "@leafygreen-ui/tabs": "^11.0.1", - "@leafygreen-ui/text-area": "^8.0.1", - "@leafygreen-ui/text-input": "^12.1.1", - "@leafygreen-ui/toast": "^6.1.3", - "@leafygreen-ui/toggle": "^10.0.2", - "@leafygreen-ui/tokens": "^1.4.1", - "@leafygreen-ui/tooltip": "^9.0.2", - "@leafygreen-ui/typography": "^15.2.0", + "@leafygreen-ui/badge": "^8.1.1", + "@leafygreen-ui/banner": "^7.0.19", + "@leafygreen-ui/button": "^21.0.12", + "@leafygreen-ui/card": "^10.0.6", + "@leafygreen-ui/checkbox": "^12.1.1", + "@leafygreen-ui/code": "^14.3.1", + "@leafygreen-ui/confirmation-modal": "^5.0.11", + "@leafygreen-ui/emotion": "^4.0.7", + "@leafygreen-ui/guide-cue": "^5.0.6", + "@leafygreen-ui/hooks": "^8.1.2", + "@leafygreen-ui/icon": "^12.0.0", + "@leafygreen-ui/icon-button": "^15.0.20", + "@leafygreen-ui/info-sprinkle": "^1.0.3", + "@leafygreen-ui/inline-definition": "^6.0.14", + "@leafygreen-ui/leafygreen-provider": "^3.1.11", + "@leafygreen-ui/lib": "^13.2.1", + "@leafygreen-ui/logo": "^9.0.1", + "@leafygreen-ui/marketing-modal": "^4.2.1", + "@leafygreen-ui/menu": "^23.0.2", + "@leafygreen-ui/modal": "^16.0.6", + "@leafygreen-ui/palette": "^4.0.8", + "@leafygreen-ui/pipeline": "^5.0.18", + "@leafygreen-ui/polymorphic": "^1.3.6", + "@leafygreen-ui/popover": "^11.3.0", + "@leafygreen-ui/portal": "^5.1.0", + "@leafygreen-ui/radio-box-group": "^12.0.16", + "@leafygreen-ui/radio-group": "^10.2.5", + "@leafygreen-ui/search-input": "^2.1.5", + "@leafygreen-ui/segmented-control": "^8.2.10", + "@leafygreen-ui/select": "^11.2.2", + "@leafygreen-ui/table": "^12.6.1", + "@leafygreen-ui/tabs": "^11.1.13", + "@leafygreen-ui/text-area": "^8.1.2", + "@leafygreen-ui/text-input": "^12.1.26", + "@leafygreen-ui/toast": "^6.1.23", + "@leafygreen-ui/toggle": "^10.0.19", + "@leafygreen-ui/tokens": "^2.5.1", + "@leafygreen-ui/tooltip": "^11.0.2", + "@leafygreen-ui/typography": "^18.2.3", "@react-aria/interactions": "^3.9.1", "@react-aria/tooltip": "^3.2.1", "@react-aria/utils": "^3.13.1", "@react-aria/visually-hidden": "^3.3.1", "@react-stately/tooltip": "^3.0.5", - "bson": "^6.2.0", - "focus-trap-react": "^8.4.2", - "hadron-document": "^8.4.7", - "hadron-type-checker": "^7.1.1", + "bson": "^6.7.0", + "focus-trap-react": "^9.0.2", + "hadron-document": "^8.5.4", + "hadron-type-checker": "^7.2.2", "is-electron-renderer": "^2.0.1", "lodash": "^4.17.21", "polished": "^4.2.2", "prop-types": "^15.7.2", + "react": "^17.0.2", "react-hotkeys-hook": "^4.3.7", "react-intersection-observer": "^8.34.0", "react-window": "^1.8.6" - }, - "dependencies": { - "@leafygreen-ui/logo": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/logo/-/logo-7.0.2.tgz", - "integrity": "sha512-VJGIpOFP0I9QSe4HiyiSHhgFBUlU4NibXgbPyeAK60x+i/TEOc4WoXtNfdyB1oSjiVXYTpYPrkKvPrCWbRg1AA==", - "requires": { - "@leafygreen-ui/emotion": "^4.0.3", - "@leafygreen-ui/lib": "^10.1.0", - "@leafygreen-ui/palette": "^3.4.5" - } - }, - "@leafygreen-ui/palette": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/@leafygreen-ui/palette/-/palette-3.4.7.tgz", - "integrity": "sha512-AsvPlbvF7CERiZbAQR8hy3lAJ2/rieXI3cO0jsOwV8ztDqYNotKAdLujyr/NviudrRUenYiXrLizIKVlSPUMuA==" - } } }, "@mongodb-js/compass-editor": { @@ -27204,26 +26629,38 @@ "@mongodb-js/mongodb-constants": "^0.8.7", "polished": "^4.2.2", "prettier": "^2.7.1" + }, + "dependencies": { + "@mongodb-js/mongodb-constants": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.10.tgz", + "integrity": "sha512-tLXBNzLzk7KD0UsZaSpAg7bftgiDRVYFjc3zXT+828ENtg7TIvahkzJzoD7K6SwnFjPp8PZ/R36rpEL3zFq9yg==", + "requires": { + "semver": "^7.5.4" + } + } } }, "@mongodb-js/compass-logging": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-logging/-/compass-logging-1.2.11.tgz", - "integrity": "sha512-mYvtjxKOeka6LB7OpUoPPIYUaG5UFzzx2KwD0EB39LJ0InU+Fdh37FFuen7whJYSYocAEzeD9g9T5I4mQLzeZw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-logging/-/compass-logging-1.3.1.tgz", + "integrity": "sha512-EguV4j8J6yV0lffM6K87ie2l189Wy3frHJ3wUHds8THBFkxH+wfbz4QPZav+AMd+BmsA2gQwD7RCO+7CvBc1qQ==", "requires": { "debug": "^4.3.4", + "hadron-app-registry": "^9.1.12", + "hadron-ipc": "^3.2.16", "is-electron-renderer": "^2.0.1", - "mongodb-log-writer": "^1.3.0", + "mongodb-log-writer": "^1.4.2", "react": "^17.0.2" } }, "@mongodb-js/compass-utils": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/compass-utils/-/compass-utils-0.5.10.tgz", - "integrity": "sha512-Ka5+0yKAHzNe74oKTfJBYufIx9/DppCdSc/KzZ5ncHHYRGMrzEPQ+xfhrlG/3U4euRMdwAtHR2io4+6zVnMWPQ==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/compass-utils/-/compass-utils-0.6.5.tgz", + "integrity": "sha512-0Q6cUJo/58Fh6rnrkBhmr0o9X2Hkp8ruv2YSC2eRE1qo5aTX8PoS5nZ2f6EO9HYL79XtAgLgmYZQqZm5P2AlGA==", "requires": { - "@electron/remote": "^2.1.1", - "electron": "^28.1.0" + "@electron/remote": "^2.1.2", + "electron": "^29.4.2" } }, "@mongodb-js/connection-form": { @@ -27336,29 +26773,33 @@ } }, "@mongodb-js/devtools-connect": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.4.3.tgz", - "integrity": "sha512-JS288VVm/Mu8+kHL8ybKCpL2/AiA4CWhWun7FR3iRNH5NXbT9c6aovEc2pxjsCbmYUjzuTsRoIo9LTrNoCvNrQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.6.3.tgz", + "integrity": "sha512-oGM/HQ8GJmcSVKcnVz+uNy3m1WFz2a7XqcEa/JJcl+imKDPHritkNVUsPIA9fYMRduuOT9f7ko8uWTVLgcw/qA==", "requires": { + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "kerberos": "^2.1.0", "lodash.merge": "^4.6.2", + "mongodb-client-encryption": "^6.0.0", "mongodb-connection-string-url": "^3.0.0", "os-dns-native": "^1.2.0", "resolve-mongodb-srv": "^1.1.1", + "socks": "^2.7.3", "system-ca": "^1.0.2" } }, "@mongodb-js/mongodb-constants": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.8.9.tgz", - "integrity": "sha512-A9nSWucJylfb4fp+10Gzz4D2hAUKCuVSXs0XChUL/nrJIYsqoL9h5IZmytrGmKbcJ01yGSxatUJJicdLtlXPSQ==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", + "integrity": "sha512-ss0c6IxhSJZwDiY18We3vjFwrCL+1HJntMInFSthJ6oM61yiCCz5m8TfUjNGJQCXhPqok7sM9RSRcKrn43u0cg==", "requires": { "semver": "^7.5.4" } }, "@mongodb-js/mongodb-downloader": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.2.10.tgz", - "integrity": "sha512-nM0vUGUcC8DsR6x3AU6032I8b5OaTqAdq9JmanVecq2NyLZu1aacIS9Yqo3QiE2dIlrkn9hcaUg9Z/tL+3QbNA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", + "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", "dev": true, "requires": { "debug": "^4.3.4", @@ -27368,10 +26809,15 @@ "tar": "^6.1.15" } }, + "@mongodb-js/oidc-http-server-pages": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-http-server-pages/-/oidc-http-server-pages-1.1.1.tgz", + "integrity": "sha512-zYkANxb4HVDN4zGuU2ud4fL+XpqRxaydCwVZyU9Mh5EhqbrCL5mGH7t3BaGnfdQUw+HVtwP3dmasc+5Hjewk+g==" + }, "@mongodb-js/oidc-mock-provider": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.6.10.tgz", - "integrity": "sha512-fU0Cppp6cfv2r/60L3dJVxYtxutK31mziomXTFHLe0mSOM/rcILNYO0oAoeqs1mULQYHrmu+o2IdOzhvaTJzew==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-mock-provider/-/oidc-mock-provider-0.9.1.tgz", + "integrity": "sha512-yb14PiESddB4v2ekX/nz1s7TQ5r/tkM3GadE4i1t8qpBJnQE8udaVCzGhJVnygFs3kBsTkErzOTnvOrUgLfeWw==", "dev": true, "requires": { "yargs": "17.7.2" @@ -27412,36 +26858,38 @@ } }, "@mongodb-js/oidc-plugin": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.0.tgz", - "integrity": "sha512-XIriu5WYwBJWiHFpIpiXz7FkeA0+jUyGB4KBs6v0U8JGlkkoAJY9lWuzBt0surjcl/dBWvpsZYun6492fMb2kw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.4.0.tgz", + "integrity": "sha512-tinXSz6O2AmgMAgorXUcCJtDhayghkmsXVVTd5UiXhzSA/NNVtlleZXSVkG6tr46WXGzLISgVX+lUzzcEIiwJQ==", "requires": { "abort-controller": "^3.0.0", "express": "^4.18.2", "open": "^9.1.0", - "openid-client": "^5.4.0" + "openid-client": "^5.6.4" } }, "@mongodb-js/prettier-config-devtools": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@mongodb-js/prettier-config-devtools/-/prettier-config-devtools-1.0.1.tgz", "integrity": "sha512-Zaw/H/QUzwnIpThiD8IYxTurC7sv7OLwVXx9msgMkBIB6ebYXLeSNVZ25Q+gDah/t8mRFtBbDhq/Uledg7dPSQ==", - "dev": true + "dev": true, + "requires": {} }, "@mongodb-js/saslprep": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz", - "integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", + "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", "requires": { "sparse-bitfield": "^3.0.3" } }, "@mongodb-js/sbom-tools": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.5.7.tgz", - "integrity": "sha512-xYiQrE8m6S9pD0R+kABFrI0aqOG1yehE9yjc6Fmu6HE+Jbwoi8gnHmuLmsQTSDRgvwaTc0yxd8XklVy3d+b27w==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/sbom-tools/-/sbom-tools-0.7.0.tgz", + "integrity": "sha512-hjc5XrDMVaKdecLzl6IkXT2VO8fudF6aNQLRFlhJ528B5KEKBaahKU4cXnFLV7BRpi1E59FrLg3S7U6bYBfcaw==", "dev": true, "requires": { + "@octokit/rest": "^20.1.1", "@pkgjs/nv": "^0.2.1", "commander": "^10.0.1", "error-stack-parser": "^2.1.4", @@ -27454,9 +26902,9 @@ } }, "@mongodb-js/signing-utils": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.1.tgz", - "integrity": "sha512-/zAg9vdxTQstu6kNkfOPr9WvLodz88k7egetKw8c5eZyPLBQgm3JfTaH7vQe/iSCuCwvXSk0tNcgo+6AdQNbTw==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@mongodb-js/signing-utils/-/signing-utils-0.3.4.tgz", + "integrity": "sha512-D9rbB6HMXvBAPu2f3Wy3r2rggrlr7NlNt2hn5rjPM27Q2nA6AKL2mMZNkWCHmehuc3l9jdMWfaQgjvIuMMLMew==", "dev": true, "requires": { "@types/ssh2": "^1.11.19", @@ -27465,11 +26913,11 @@ } }, "@mongodb-js/ssh-tunnel": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.1.10.tgz", - "integrity": "sha512-4sp3GB4yZheyAkrcqD65xoglOXFZvGNjyWHul+WSbKMV6KuTyiU6WCH0Yrcwv2zYBf9ohQGXrSUhDfu8lKbJHw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/ssh-tunnel/-/ssh-tunnel-2.2.1.tgz", + "integrity": "sha512-uNLYJzBVi1+iJfrENlUenBTdJp4d0E3dGEw5z5ngK3RDROz64/I3DgP+zjWIU5KciygFK69GNUPgtDfzSJjzAw==", "requires": { - "@mongodb-js/compass-logging": "^1.2.11", + "@mongodb-js/compass-logging": "^1.3.1", "socksv5": "0.0.6", "ssh2": "^1.12.0" } @@ -27527,6 +26975,21 @@ "@mongosh/service-provider-core": "2.1.1", "@mongosh/shell-api": "2.1.1", "@mongosh/shell-evaluator": "2.1.1" + }, + "dependencies": { + "@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "requires": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1", + "mongodb-client-encryption": "^6.0.0" + } + } } }, "@mongosh/browser-runtime-electron": { @@ -27537,6 +27000,21 @@ "@mongosh/browser-runtime-core": "2.1.1", "@mongosh/service-provider-core": "2.1.1", "@mongosh/types": "2.1.1" + }, + "dependencies": { + "@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "requires": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1", + "mongodb-client-encryption": "^6.0.0" + } + } } }, "@mongosh/errors": { @@ -27563,16 +27041,25 @@ } }, "@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", + "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", + "dev": true, "requires": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.2.10", + "bson": "^6.7.0", + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2", "mongodb-client-encryption": "^6.0.0" + }, + "dependencies": { + "@mongosh/errors": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", + "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", + "dev": true + } } }, "@mongosh/service-provider-server": { @@ -27592,6 +27079,32 @@ "mongodb-client-encryption": "^6.0.0", "mongodb-connection-string-url": "^3.0.0", "socks": "^2.7.1" + }, + "dependencies": { + "@mongodb-js/oidc-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.1.tgz", + "integrity": "sha512-oEM7/AVyjH8C63WM4Q0JAFVA/Q77ZzlFXJCWPn/rIbDk3a4uVLFC9L8OlH8D0bawdI1fpVii2tsDo6msDtoovQ==", + "requires": { + "abort-controller": "^3.0.0", + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.4.0" + } + }, + "@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "requires": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1", + "mongodb-client-encryption": "^6.0.0" + } + } } }, "@mongosh/shell-api": { @@ -27605,6 +27118,21 @@ "@mongosh/i18n": "2.1.1", "@mongosh/service-provider-core": "2.1.1", "mongodb-redact": "^0.2.2" + }, + "dependencies": { + "@mongosh/service-provider-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", + "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "requires": { + "@aws-sdk/credential-providers": "^3.347.1", + "@mongosh/errors": "2.1.1", + "bson": "^6.2.0", + "mongodb": "^6.3.0", + "mongodb-build-info": "^1.7.1", + "mongodb-client-encryption": "^6.0.0" + } + } } }, "@mongosh/shell-evaluator": { @@ -27657,6 +27185,123 @@ "integrity": "sha512-7XHoRB61hxsz8lBQrjC1tq/3OEIgpvGWg6DKAdwi7WRzruwkmsdwmOoUXbU4Dtd4RSOMDwed0SkP3y8UlMt1Bg==", "dev": true }, + "@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "dev": true + }, + "@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "dev": true, + "requires": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", + "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", + "dev": true, + "requires": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "dev": true, + "requires": { + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "dev": true + }, + "@octokit/plugin-paginate-rest": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", + "dev": true, + "requires": { + "@octokit/types": "^13.5.0" + } + }, + "@octokit/plugin-request-log": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "dev": true, + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", + "dev": true, + "requires": { + "@octokit/types": "^13.5.0" + } + }, + "@octokit/request": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", + "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "dev": true, + "requires": { + "@octokit/endpoint": "^9.0.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "dev": true, + "requires": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/rest": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "dev": true, + "requires": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" + } + }, + "@octokit/types": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "dev": true, + "requires": { + "@octokit/openapi-types": "^22.2.0" + } + }, "@pkgjs/nv": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@pkgjs/nv/-/nv-0.2.1.tgz", @@ -27669,11 +27314,16 @@ } }, "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", "dev": true }, + "@reach/observe-rect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@reach/observe-rect/-/observe-rect-1.2.0.tgz", + "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==" + }, "@react-aria/focus": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.15.0.tgz", @@ -27781,7 +27431,8 @@ "@react-types/shared": { "version": "3.22.0", "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.22.0.tgz", - "integrity": "sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA==" + "integrity": "sha512-yVOekZWbtSmmiThGEIARbBpnmUIuePFlLyctjvCbgJgGhz8JnEJOipLQ/a4anaWfzAgzSceQP8j/K+VOOePleA==", + "requires": {} }, "@react-types/tooltip": { "version": "3.4.6", @@ -27793,29 +27444,32 @@ } }, "@segment/analytics-core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.0.tgz", - "integrity": "sha512-rLUv5Se0iDccykxY8bWUuoZT4gg8fNW00zMPqkJN+ONfj5/P1eaGQgygq2EHlR9j20a7tNtp5Y9bZ4rLzViIXQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz", + "integrity": "sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA==", "requires": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-generic-utils": "1.1.1", "dset": "^3.1.2", "tslib": "^2.4.1" } }, "@segment/analytics-generic-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.0.tgz", - "integrity": "sha512-nOgmbfsKD0jFzH3df+PtjLq3qTspdcFpIy/F5ziho5qiE+QATM8wY9TpvCNBbcHr2f3OGzT6SgjJLFlmM5Yb+w==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.1.tgz", + "integrity": "sha512-THTIzBPHnvu1HYJU3fARdJ3qIkukO3zDXsmDm+kAeUks5R9CBXOQ6rPChiASVzSmwAIIo5uFIXXnCraojlq/Gw==", + "requires": { + "tslib": "^2.4.1" + } }, "@segment/analytics-node": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.4.tgz", - "integrity": "sha512-yfhWjos0VKrueIhL7NwwaKJTMmDTDPMeNA9nmCZbbIppxWfgfUdqhkSOktQKTUdxLHOygTwuldvayjuftBsRBA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz", + "integrity": "sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ==", "requires": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.4.0", - "@segment/analytics-generic-utils": "1.1.0", + "@segment/analytics-core": "1.4.1", + "@segment/analytics-generic-utils": "1.1.1", "buffer": "^6.0.3", "node-fetch": "^2.6.7", "tslib": "^2.4.1" @@ -27824,8 +27478,7 @@ "@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "devOptional": true + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" }, "@sinonjs/commons": { "version": "1.8.6", @@ -27863,380 +27516,416 @@ "dev": true }, "@smithy/abort-controller": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-1.0.2.tgz", - "integrity": "sha512-tb2h0b+JvMee+eAxTmhnyqyNk51UXIK949HnE14lFeezKsVJTB30maan+CO2IMwnig2wVYQH84B5qk6ylmKCuA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.0.tgz", + "integrity": "sha512-XOm4LkuC0PsK1sf2bBJLIlskn5ghmVxiEBVlo/jg0R8hxASBKYYgOoJEhKWgOr4vWGkN+5rC+oyBAqHYtxjnwQ==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/config-resolver": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-1.0.2.tgz", - "integrity": "sha512-8Bk7CgnVKg1dn5TgnjwPz2ebhxeR7CjGs5yhVYH3S8x0q8yPZZVWwpRIglwXaf5AZBzJlNO1lh+lUhMf2e73zQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.3.tgz", + "integrity": "sha512-4wHqCMkdfVDP4qmr4fVPYOFOH+vKhOv3X4e6KEU9wIC8xXUQ24tnF4CW+sddGDX1zU86GGyQ7A+rg2xmUD6jpQ==", "requires": { - "@smithy/types": "^1.1.1", - "@smithy/util-config-provider": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" } }, - "@smithy/credential-provider-imds": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz", - "integrity": "sha512-fLjCya+JOu2gPJpCiwSUyoLvT8JdNJmOaTOkKYBZoGf7CzqR6lluSyI+eboZnl/V0xqcfcqBG4tgqCISmWS3/w==", + "@smithy/core": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.3.tgz", + "integrity": "sha512-SpyLOL2vgE6sUYM6nQfu82OirCPkCDKctyG3aMgjMlDPTJpUlmlNH0ttu9ZWwzEjrzzr8uABmPjJTRI7gk1HFQ==", "requires": { - "@smithy/node-config-provider": "^1.0.2", - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/url-parser": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-endpoint": "^3.0.3", + "@smithy/middleware-retry": "^3.0.6", + "@smithy/middleware-serde": "^3.0.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" } }, - "@smithy/eventstream-codec": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz", - "integrity": "sha512-eW/XPiLauR1VAgHKxhVvgvHzLROUgTtqat2lgljztbH8uIYWugv7Nz+SgCavB+hWRazv2iYgqrSy74GvxXq/rg==", + "@smithy/credential-provider-imds": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.2.tgz", + "integrity": "sha512-gqVmUaNoeqyrOAjgZg+rTmFLsphh/vS59LCMdFfVpthVS0jbfBzvBmEPktBd+y9ME4DYMGHFAMSYJDK8q0noOQ==", "requires": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^1.1.1", - "@smithy/util-hex-encoding": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/property-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/url-parser": "^3.0.2", + "tslib": "^2.6.2" } }, "@smithy/fetch-http-handler": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz", - "integrity": "sha512-kynyofLf62LvR8yYphPPdyHb8fWG3LepFinM/vWUTG2Q1pVpmPCM530ppagp3+q2p+7Ox0UvSqldbKqV/d1BpA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.1.0.tgz", + "integrity": "sha512-s7oQjEOUH9TYjctpITtWF4qxOdg7pBrP9eigEQ8SBsxF3dRFV0S28pGMllC83DUr7ECmErhO/BUwnULfoNhKgQ==", "requires": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/querystring-builder": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-base64": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/protocol-http": "^4.0.2", + "@smithy/querystring-builder": "^3.0.2", + "@smithy/types": "^3.2.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/hash-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-1.0.2.tgz", - "integrity": "sha512-K6PKhcUNrJXtcesyzhIvNlU7drfIU7u+EMQuGmPw6RQDAg/ufUcfKHz4EcUhFAodUmN+rrejhRG9U6wxjeBOQA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.2.tgz", + "integrity": "sha512-43uGA6o6QJQdXwAogybdTDHDd3SCdKyoiHIHb8PpdE2rKmVicjG9b1UgVwdgO8QPytmVqHFaUw27M3LZKwu8Yg==", "requires": { - "@smithy/types": "^1.1.1", - "@smithy/util-buffer-from": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/invalid-dependency": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz", - "integrity": "sha512-B1Y3Tsa6dfC+Vvb+BJMhTHOfFieeYzY9jWQSTR1vMwKkxsymD0OIAnEw8rD/RiDj/4E4RPGFdx9Mdgnyd6Bv5Q==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.2.tgz", + "integrity": "sha512-+BAY3fMhomtq470tswXyrdVBSUhiLuhBVT+rOmpbz5e04YX+s1dX4NxTLzZGwBjCpeWZNtTxP8zbIvvFk81gUg==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/is-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz", - "integrity": "sha512-pkyBnsBRpe+c/6ASavqIMRBdRtZNJEVJOEzhpxZ9JoAXiZYbkfaSMRA/O1dUxGdJ653GHONunnZ4xMo/LJ7utQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/middleware-content-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz", - "integrity": "sha512-pa1/SgGIrSmnEr2c9Apw7CdU4l/HW0fK3+LKFCPDYJrzM0JdYpqjQzgxi31P00eAkL0EFBccpus/p1n2GF9urw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.2.tgz", + "integrity": "sha512-/Havz3PkYIEmwpqkyRTR21yJsWnFbD1ec4H1pUL+TkDnE7RCQkAVUQepLL/UeCaZeCBXvfdoKbOjSbV01xIinQ==", "requires": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/protocol-http": "^4.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/middleware-endpoint": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz", - "integrity": "sha512-GsWvTXMFjSgl617PCE2km//kIjjtvMRrR2GAuRDIS9sHiLwmkS46VWaVYy+XE7ubEsEtzZ5yK2e8TKDR6Qr5Lw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.3.tgz", + "integrity": "sha512-ARAXHodhj4tttKa9y75zvENdSoHq6VGsSi7XS3+yLutrnxttJs6N10UMInCC1yi3/bopT8xug3iOP/y9R6sKJQ==", "requires": { - "@smithy/middleware-serde": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/url-parser": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-serde": "^3.0.2", + "@smithy/node-config-provider": "^3.1.2", + "@smithy/shared-ini-file-loader": "^3.1.2", + "@smithy/types": "^3.2.0", + "@smithy/url-parser": "^3.0.2", + "@smithy/util-middleware": "^3.0.2", + "tslib": "^2.6.2" } }, "@smithy/middleware-retry": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz", - "integrity": "sha512-G7uRXGFL8c3F7APnoIMTtNAHH8vT4F2qVnAWGAZaervjupaUQuRRHYBLYubK0dWzOZz86BtAXKieJ5p+Ni2Xpg==", - "requires": { - "@smithy/protocol-http": "^1.1.1", - "@smithy/service-error-classification": "^1.0.3", - "@smithy/types": "^1.1.1", - "@smithy/util-middleware": "^1.0.2", - "@smithy/util-retry": "^1.0.4", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.6.tgz", + "integrity": "sha512-ICsFKp8eAyIMmxN5UT3IU37S6886L879TKtgxPsn/VD/laYNwqTLmJaCAn5//+2fRIrV0dnHp6LFlMwdXlWoUQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/service-error-classification": "^3.0.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "@smithy/util-middleware": "^3.0.2", + "@smithy/util-retry": "^3.0.2", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } } }, "@smithy/middleware-serde": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz", - "integrity": "sha512-T4PcdMZF4xme6koUNfjmSZ1MLi7eoFeYCtodQNQpBNsS77TuJt1A6kt5kP/qxrTvfZHyFlj0AubACoaUqgzPeg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.2.tgz", + "integrity": "sha512-oT2abV5zLhBucJe1LIIFEcRgIBDbZpziuMPswTMbBQNcaEUycLFvX63zsFmqfwG+/ZQKsNx+BSE8W51CMuK7Yw==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/middleware-stack": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz", - "integrity": "sha512-H7/uAQEcmO+eDqweEFMJ5YrIpsBwmrXSP6HIIbtxKJSQpAcMGY7KrR2FZgZBi1FMnSUOh+rQrbOyj5HQmSeUBA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.2.tgz", + "integrity": "sha512-6fRcxomlNKBPIy/YjcnC7YHpMAjRvGUYlYVJAfELqZjkW0vQegNcImjY7T1HgYA6u3pAcCxKVBLYnkTw8z/l0A==", "requires": { - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/node-config-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz", - "integrity": "sha512-HU7afWpTToU0wL6KseGDR2zojeyjECQfr8LpjAIeHCYIW7r360ABFf4EaplaJRMVoC3hD9FeltgI3/NtShOqCg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.2.tgz", + "integrity": "sha512-388fEAa7+6ORj/BDC70peg3fyFBTTXJyXfXJ0Bwd6FYsRltePr2oGzIcm5AuC1WUSLtZ/dF+hYOnfTMs04rLvA==", "requires": { - "@smithy/property-provider": "^1.0.2", - "@smithy/shared-ini-file-loader": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/property-provider": "^3.1.2", + "@smithy/shared-ini-file-loader": "^3.1.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/node-http-handler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz", - "integrity": "sha512-PcPUSzTbIb60VCJCiH0PU0E6bwIekttsIEf5Aoo/M0oTfiqsxHTn0Rcij6QoH6qJy6piGKXzLSegspXg5+Kq6g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.0.tgz", + "integrity": "sha512-pOpgB6B+VLXLwAyyvRz+ZAVXABlbAsJ2xvn3WZvrppAPImxwQOPFbeSUzWYMhpC8Tr7yQ3R8fG990QDhskkf1Q==", "requires": { - "@smithy/abort-controller": "^1.0.2", - "@smithy/protocol-http": "^1.1.1", - "@smithy/querystring-builder": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/abort-controller": "^3.1.0", + "@smithy/protocol-http": "^4.0.2", + "@smithy/querystring-builder": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/property-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-1.0.2.tgz", - "integrity": "sha512-pXDPyzKX8opzt38B205kDgaxda6LHcTfPvTYQZnwP6BAPp1o9puiCPjeUtkKck7Z6IbpXCPUmUQnzkUzWTA42Q==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.2.tgz", + "integrity": "sha512-Hzp32BpeFFexBpO1z+ts8okbq/VLzJBadxanJAo/Wf2CmvXMBp6Q/TLWr7Js6IbMEcr0pDZ02V3u1XZkuQUJaA==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/protocol-http": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.1.1.tgz", - "integrity": "sha512-mFLFa2sSvlUxm55U7B4YCIsJJIMkA6lHxwwqOaBkral1qxFz97rGffP/mmd4JDuin1EnygiO5eNJGgudiUgmDQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.2.tgz", + "integrity": "sha512-X/90xNWIOqSR2tLUyWxVIBdatpm35DrL44rI/xoeBWUuanE0iyCXJpTcnqlOpnEzgcu0xCKE06+g70TTu2j7RQ==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/querystring-builder": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz", - "integrity": "sha512-6P/xANWrtJhMzTPUR87AbXwSBuz1SDHIfL44TFd/GT3hj6rA+IEv7rftEpPjayUiWRocaNnrCPLvmP31mobOyA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.2.tgz", + "integrity": "sha512-xhv1+HacDYsOLdNt7zW+8Fe779KYAzmWvzs9bC5NlKM8QGYCwwuFwDBynhlU4D5twgi2pZ14Lm4h6RiAazCtmA==", "requires": { - "@smithy/types": "^1.1.1", - "@smithy/util-uri-escape": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/querystring-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz", - "integrity": "sha512-IWxwxjn+KHWRRRB+K2Ngl+plTwo2WSgc2w+DvLy0DQZJh9UGOpw40d6q97/63GBlXIt4TEt5NbcFrO30CKlrsA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.2.tgz", + "integrity": "sha512-C5hyRKgrZGPNh5QqIWzXnW+LXVrPmVQO0iJKjHeb5v3C61ZkP9QhrKmbfchcTyg/VnaE0tMNf/nmLpQlWuiqpg==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/service-error-classification": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz", - "integrity": "sha512-2eglIYqrtcUnuI71yweu7rSfCgt6kVvRVf0C72VUqrd0LrV1M0BM0eYN+nitp2CHPSdmMI96pi+dU9U/UqAMSA==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.2.tgz", + "integrity": "sha512-cu0WV2XRttItsuXlcM0kq5MKdphbMMmSd2CXF122dJ75NrFE0o7rruXFGfxAp3BKzgF/DMxX+PllIA/cj4FHMw==", + "requires": { + "@smithy/types": "^3.2.0" + } }, "@smithy/shared-ini-file-loader": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz", - "integrity": "sha512-bdQj95VN+lCXki+P3EsDyrkpeLn8xDYiOISBGnUG/AGPYJXN8dmp4EhRRR7XOoLoSs8anZHR4UcGEOzFv2jwGw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.2.tgz", + "integrity": "sha512-tgnXrXbLMO8vo6VeuqabMw/eTzQHlLmZx0TC0TjtjJghnD0Xl4pEnJtBjTJr6XF5fHMNrt5BcczDXHJT9yNQnA==", "requires": { - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/signature-v4": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-1.0.2.tgz", - "integrity": "sha512-rpKUhmCuPmpV5dloUkOb9w1oBnJatvKQEjIHGmkjRGZnC3437MTdzWej9TxkagcZ8NRRJavYnEUixzxM1amFig==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.1.tgz", + "integrity": "sha512-2/vlG86Sr489XX8TA/F+VDA+P04ESef04pSz0wRtlQBExcSPjqO08rvrkcas2zLnJ51i+7ukOURCkgqixBYjSQ==", "requires": { - "@smithy/eventstream-codec": "^1.0.2", - "@smithy/is-array-buffer": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-hex-encoding": "^1.0.2", - "@smithy/util-middleware": "^1.0.2", - "@smithy/util-uri-escape": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/types": "^3.2.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.2", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/smithy-client": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-1.0.4.tgz", - "integrity": "sha512-gpo0Xl5Nyp9sgymEfpt7oa9P2q/GlM3VmQIdm+FeH0QEdYOQx3OtvwVmBYAMv2FIPWxkMZlsPYRTnEiBTK5TYg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.4.tgz", + "integrity": "sha512-y6xJROGrIoitjpwXLY7P9luDHvuT9jWpAluliuSFdBymFxcl6iyQjo9U/JhYfRHFNTruqsvKOrOESVuPGEcRmQ==", "requires": { - "@smithy/middleware-stack": "^1.0.2", - "@smithy/types": "^1.1.1", - "@smithy/util-stream": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/middleware-endpoint": "^3.0.3", + "@smithy/middleware-stack": "^3.0.2", + "@smithy/protocol-http": "^4.0.2", + "@smithy/types": "^3.2.0", + "@smithy/util-stream": "^3.0.4", + "tslib": "^2.6.2" } }, "@smithy/types": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.1.1.tgz", - "integrity": "sha512-tMpkreknl2gRrniHeBtdgQwaOlo39df8RxSrwsHVNIGXULy5XP6KqgScUw2m12D15wnJCKWxVhCX+wbrBW/y7g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.2.0.tgz", + "integrity": "sha512-cKyeKAPazZRVqm7QPvcPD2jEIt2wqDPAL1KJKb0f/5I7uhollvsWZuZKLclmyP6a+Jwmr3OV3t+X0pZUUHS9BA==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/url-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-1.0.2.tgz", - "integrity": "sha512-0JRsDMQe53F6EHRWksdcavKDRjyqp8vrjakg8EcCUOa7PaFRRB1SO/xGZdzSlW1RSTWQDEksFMTCEcVEKmAoqA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.2.tgz", + "integrity": "sha512-pRiPHrgibeAr4avtXDoBHmTLtthwA4l8jKYRfZjNgp+bBPyxDMPRg2TMJaYxqbKemvrOkHu9MIBTv2RkdNfD6w==", "requires": { - "@smithy/querystring-parser": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/querystring-parser": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/util-base64": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-1.0.2.tgz", - "integrity": "sha512-BCm15WILJ3SL93nusoxvJGMVfAMWHZhdeDZPtpAaskozuexd0eF6szdz4kbXaKp38bFCSenA6bkUHqaE3KK0dA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "requires": { - "@smithy/util-buffer-from": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/util-body-length-browser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz", - "integrity": "sha512-Xh8L06H2anF5BHjSYTg8hx+Itcbf4SQZnVMl4PIkCOsKtneMJoGjPRLy17lEzfoh/GOaa0QxgCP6lRMQWzNl4w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-body-length-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz", - "integrity": "sha512-nXHbZsUtvZeyfL4Ceds9nmy2Uh2AhWXohG4vWHyjSdmT8cXZlJdmJgnH6SJKDjyUecbu+BpKeVvSrA4cWPSOPA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-buffer-from": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz", - "integrity": "sha512-lHAYIyrBO9RANrPvccnPjU03MJnWZ66wWuC5GjWWQVfsmPwU6m00aakZkzHdUT6tGCkGacXSgArP5wgTgA+oCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "requires": { - "@smithy/is-array-buffer": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/util-config-provider": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz", - "integrity": "sha512-HOdmDm+3HUbuYPBABLLHtn8ittuRyy+BSjKOA169H+EMc+IozipvXDydf+gKBRAxUa4dtKQkLraypwppzi+PRw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-defaults-mode-browser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz", - "integrity": "sha512-J1u2PO235zxY7dg0+ZqaG96tFg4ehJZ7isGK1pCBEA072qxNPwIpDzUVGnLJkHZvjWEGA8rxIauDtXfB0qxeAg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.6.tgz", + "integrity": "sha512-tAgoc++Eq+KL7g55+k108pn7nAob3GLWNEMbXhZIQyBcBNaE/o3+r4AEbae0A8bWvLRvArVsjeiuhMykGa04/A==", "requires": { - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", + "@smithy/property-provider": "^3.1.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", "bowser": "^2.11.0", - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-defaults-mode-node": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz", - "integrity": "sha512-9/BN63rlIsFStvI+AvljMh873Xw6bbI6b19b+PVYXyycQ2DDQImWcjnzRlHW7eP65CCUNGQ6otDLNdBQCgMXqg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.6.tgz", + "integrity": "sha512-UNerul6/E8aiCyFTBHk+RSIZCo7m96d/N5K3FeO/wFeZP6oy5HAicLzxqa85Wjv7MkXSxSySX29L/LwTV/QMag==", + "requires": { + "@smithy/config-resolver": "^3.0.3", + "@smithy/credential-provider-imds": "^3.1.2", + "@smithy/node-config-provider": "^3.1.2", + "@smithy/property-provider": "^3.1.2", + "@smithy/smithy-client": "^3.1.4", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" + } + }, + "@smithy/util-endpoints": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.3.tgz", + "integrity": "sha512-Dyi+pfLglDHSGsKSYunuUUSFM5V0tz7UDgv1Ex97yg+Xkn0Eb0rH0rcvl1n0MaJ11fac3HKDOH0DkALyQYCQag==", "requires": { - "@smithy/config-resolver": "^1.0.2", - "@smithy/credential-provider-imds": "^1.0.2", - "@smithy/node-config-provider": "^1.0.2", - "@smithy/property-provider": "^1.0.2", - "@smithy/types": "^1.1.1", - "tslib": "^2.5.0" + "@smithy/node-config-provider": "^3.1.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/util-hex-encoding": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz", - "integrity": "sha512-Bxydb5rMJorMV6AuDDMOxro3BMDdIwtbQKHpwvQFASkmr52BnpDsWlxgpJi8Iq7nk1Bt4E40oE1Isy/7ubHGzg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-middleware": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-1.0.2.tgz", - "integrity": "sha512-vtXK7GOR2BoseCX8NCGe9SaiZrm9M2lm/RVexFGyPuafTtry9Vyv7hq/vw8ifd/G/pSJ+msByfJVb1642oQHKw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.2.tgz", + "integrity": "sha512-7WW5SD0XVrpfqljBYzS5rLR+EiDzl7wCVJZ9Lo6ChNFV4VYDk37Z1QI5w/LnYtU/QKnSawYoHRd7VjSyC8QRQQ==", "requires": { - "tslib": "^2.5.0" + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/util-retry": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-1.0.4.tgz", - "integrity": "sha512-RnZPVFvRoqdj2EbroDo3OsnnQU8eQ4AlnZTOGusbYKybH3269CFdrZfZJloe60AQjX7di3J6t/79PjwCLO5Khw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.2.tgz", + "integrity": "sha512-HUVOb1k8p/IH6WFUjsLa+L9H1Zi/FAAB2CDOpWuffI1b2Txi6sknau8kNfC46Xrt39P1j2KDzCE1UlLa2eW5+A==", "requires": { - "@smithy/service-error-classification": "^1.0.3", - "tslib": "^2.5.0" + "@smithy/service-error-classification": "^3.0.2", + "@smithy/types": "^3.2.0", + "tslib": "^2.6.2" } }, "@smithy/util-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-1.0.2.tgz", - "integrity": "sha512-qyN2M9QFMTz4UCHi6GnBfLOGYKxQZD01Ga6nzaXFFC51HP/QmArU72e4kY50Z/EtW8binPxspP2TAsGbwy9l3A==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.4.tgz", + "integrity": "sha512-CcMioiaOOsEVdb09pS7ux1ij7QcQ2jE/cE1+iin1DXMeRgAEQN/47m7Xztu7KFQuQsj0A5YwB2UN45q97CqKCg==", "requires": { - "@smithy/fetch-http-handler": "^1.0.2", - "@smithy/node-http-handler": "^1.0.3", - "@smithy/types": "^1.1.1", - "@smithy/util-base64": "^1.0.2", - "@smithy/util-buffer-from": "^1.0.2", - "@smithy/util-hex-encoding": "^1.0.2", - "@smithy/util-utf8": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/fetch-http-handler": "^3.1.0", + "@smithy/node-http-handler": "^3.1.0", + "@smithy/types": "^3.2.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" } }, "@smithy/util-uri-escape": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz", - "integrity": "sha512-k8C0BFNS9HpBMHSgUDnWb1JlCQcFG+PPlVBq9keP4Nfwv6a9Q0yAfASWqUCtzjuMj1hXeLhn/5ADP6JxnID1Pg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "requires": { - "tslib": "^2.5.0" + "tslib": "^2.6.2" } }, "@smithy/util-utf8": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-1.0.2.tgz", - "integrity": "sha512-V4cyjKfJlARui0dMBfWJMQAmJzoW77i4N3EjkH/bwnE2Ngbl4tqD2Y0C/xzpzY/J1BdxeCKxAebVFk8aFCaSCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "@smithy/util-buffer-from": "^1.0.2", - "tslib": "^2.5.0" + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" } }, "@storybook/csf": { @@ -28266,11 +27955,23 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "devOptional": true, "requires": { "defer-to-connect": "^2.0.0" } }, + "@tanstack/react-table": { + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.17.3.tgz", + "integrity": "sha512-5gwg5SvPD3lNAXPuJJz1fOCEZYk9/GeBFH3w/hCgnfyszOIzwkwgp5I7Q4MJtn0WECp84b5STQUDdmvGi8m3nA==", + "requires": { + "@tanstack/table-core": "8.17.3" + } + }, + "@tanstack/table-core": { + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.17.3.tgz", + "integrity": "sha512-mPBodDGVL+fl6d90wUREepHa/7lhsghg2A3vFpakEhrhtbIlgNAZiMr7ccTgak5qbHqF14Fwy+W1yFWQt+WmYQ==" + }, "@testing-library/dom": { "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", @@ -28362,13 +28063,12 @@ "@types/aria-query": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" }, "@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "requires": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -28395,9 +28095,9 @@ } }, "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "requires": { "@babel/types": "^7.20.7" } @@ -28412,7 +28112,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "devOptional": true, "requires": { "@types/http-cache-semantics": "*", "@types/keyv": "^3.1.4", @@ -28421,14 +28120,14 @@ } }, "@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==" + "version": "4.3.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" }, "@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dev": true, "requires": { "@types/ms": "*" @@ -28455,9 +28154,9 @@ } }, "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/facepaint": { @@ -28492,11 +28191,19 @@ "highlight.js": "*" } }, + "@types/hoist-non-react-statics": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", + "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", - "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", - "devOptional": true + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "@types/istanbul-lib-coverage": { "version": "2.0.4", @@ -28542,15 +28249,14 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "devOptional": true, "requires": { "@types/node": "*" } }, "@types/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", "dev": true, "requires": { "@types/braces": "*" @@ -28584,9 +28290,9 @@ "dev": true }, "@types/node": { - "version": "14.18.53", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.53.tgz", - "integrity": "sha512-soGmOpVBUq+gaBMwom1M+krC/NNbWlosh4AtGA03SyWNDiqSKtwp7OulO1M6+mg8YkHMvJ/y0AkCeO8d1hNb7A==" + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -28611,27 +28317,27 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { - "version": "17.0.62", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.62.tgz", - "integrity": "sha512-eANCyz9DG8p/Vdhr0ZKST8JV12PhH2ACCDYlFw6DIO+D+ca+uP4jtEDEpVqXZrh/uZdXQGwk7whJa3ah5DtyLw==", + "version": "17.0.80", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.80.tgz", + "integrity": "sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==", "requires": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, "@types/react-dom": { - "version": "17.0.20", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.20.tgz", - "integrity": "sha512-4pzIjSxDueZZ90F52mU3aPoogkHIoSIDG+oQ+wQK7Cy2B9S+MvOqY0uEA/qawKz381qrEDkvpwyt8Bm31I8sbA==", + "version": "17.0.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", + "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", "requires": { "@types/react": "^17" } }, "@types/react-is": { - "version": "18.2.4", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.4.tgz", - "integrity": "sha512-wBc7HgmbCcrvw0fZjxbgz/xrrlZKzEqmABBMeSvpTvdm25u6KI6xdIi9pRE2G0C1Lw5ETFdcn4UbYZ4/rpqUYw==", + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.3.0.tgz", + "integrity": "sha512-KZJpHUkAdzyKj/kUHJDc6N7KyidftICufJfOFpiG6haL/BDQNQt5i4n1XDUL/nDZAtGLHDSWRYpLzKTAKSvX6w==", "requires": { "@types/react": "*" } @@ -28644,11 +28350,18 @@ "@types/react": "*" } }, + "@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "requires": { + "@types/react": "*" + } + }, "@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", - "devOptional": true, "requires": { "@types/node": "*" } @@ -28712,6 +28425,11 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "@types/uuid": { "version": "8.3.4", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", @@ -28719,9 +28437,9 @@ "dev": true }, "@types/vscode": { - "version": "1.80.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.80.0.tgz", - "integrity": "sha512-qK/CmOdS2o7ry3k6YqU4zD3R2AYlJfbwBoSbKpBoP+GpXNE+0NEgJOli4n0bm0diK5kfBnchgCEj4igQz/44Hg==", + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", + "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", "dev": true }, "@types/webidl-conversions": { @@ -28860,28 +28578,166 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "@vscode/test-electron": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.8.tgz", - "integrity": "sha512-b4aZZsBKtMGdDljAsOPObnAi7+VWIaYl3ylCz1jTs+oV6BZ4TNHcVNC3xUn0azPeszBmwSBDQYfFESIaUQnrOg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", + "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", "dev": true, "requires": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", "jszip": "^3.10.1", - "semver": "^7.5.2" + "ora": "^7.0.1", + "semver": "^7.6.2" + }, + "dependencies": { + "agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true + }, + "cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "requires": { + "restore-cursor": "^4.0.0" + } + }, + "emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + } + }, + "is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true + }, + "is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true + }, + "log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, + "requires": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + } + }, + "ora": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", + "dev": true, + "requires": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" + } + }, + "restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } } }, "@vscode/vsce": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.19.0.tgz", - "integrity": "sha512-dAlILxC5ggOutcvJY24jxz913wimGiUrHaPkk16Gm9/PGFbz1YezWtrXsTKUtJws4fIlpX2UIlVlVESWq8lkfQ==", + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", + "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", "dev": true, "requires": { - "azure-devops-node-api": "^11.0.1", + "@azure/identity": "^4.1.0", + "@vscode/vsce-sign": "^2.0.0", + "azure-devops-node-api": "^12.5.0", "chalk": "^2.4.2", "cheerio": "^1.0.0-rc.9", - "commander": "^6.1.0", + "cockatiel": "^3.1.2", + "commander": "^6.2.1", + "form-data": "^4.0.0", "glob": "^7.0.6", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", @@ -28892,7 +28748,7 @@ "minimatch": "^3.0.3", "parse-semver": "^1.1.1", "read": "^1.0.7", - "semver": "^5.1.0", + "semver": "^7.5.2", "tmp": "^0.2.1", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", @@ -28954,12 +28810,6 @@ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -28971,6 +28821,86 @@ } } }, + "@vscode/vsce-sign": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.4.tgz", + "integrity": "sha512-0uL32egStKYfy60IqnynAChMTbL0oqpqk0Ew0YHiIb+fayuGZWADuIPHWUcY1GCnAA+VgchOPDMxnc2R3XGWEA==", + "dev": true, + "requires": { + "@vscode/vsce-sign-alpine-arm64": "2.0.2", + "@vscode/vsce-sign-alpine-x64": "2.0.2", + "@vscode/vsce-sign-darwin-arm64": "2.0.2", + "@vscode/vsce-sign-darwin-x64": "2.0.2", + "@vscode/vsce-sign-linux-arm": "2.0.2", + "@vscode/vsce-sign-linux-arm64": "2.0.2", + "@vscode/vsce-sign-linux-x64": "2.0.2", + "@vscode/vsce-sign-win32-arm64": "2.0.2", + "@vscode/vsce-sign-win32-x64": "2.0.2" + } + }, + "@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.2.tgz", + "integrity": "sha512-E80YvqhtZCLUv3YAf9+tIbbqoinWLCO/B3j03yQPbjT3ZIHCliKZlsy1peNc4XNZ5uIb87Jn0HWx/ZbPXviuAQ==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-alpine-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.2.tgz", + "integrity": "sha512-n1WC15MSMvTaeJ5KjWCzo0nzjydwxLyoHiMJHu1Ov0VWTZiddasmOQHekA47tFRycnt4FsQrlkSCTdgHppn6bw==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.2.tgz", + "integrity": "sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-darwin-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.2.tgz", + "integrity": "sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-linux-arm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.2.tgz", + "integrity": "sha512-Fkb5jpbfhZKVw3xwR6t7WYfwKZktVGNXdg1m08uEx1anO0oUPUkoQRsNm4QniL3hmfw0ijg00YA6TrxCRkPVOQ==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-linux-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.2.tgz", + "integrity": "sha512-Ybeu7cA6+/koxszsORXX0OJk9N0GgfHq70Wqi4vv2iJCZvBrOWwcIrxKjvFtwyDgdeQzgPheH5nhLVl5eQy7WA==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-linux-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.2.tgz", + "integrity": "sha512-NsPPFVtLaTlVJKOiTnO8Cl78LZNWy0Q8iAg+LlBiCDEgC12Gt4WXOSs2pmcIjDYzj2kY4NwdeN1mBTaujYZaPg==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-win32-arm64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.2.tgz", + "integrity": "sha512-wPs848ymZ3Ny+Y1Qlyi7mcT6VSigG89FWQnp2qRYCyMhdJxOpA4lDwxzlpL8fG6xC8GjQjGDkwbkWUcCobvksQ==", + "dev": true, + "optional": true + }, + "@vscode/vsce-sign-win32-x64": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.2.tgz", + "integrity": "sha512-pAiRN6qSAhDM5SVOIxgx+2xnoVUePHbRNC7OD2aOR3WltTKxxF25OfpK8h8UQ7A0BuRkSgREbB59DBlFk4iAeg==", + "dev": true, + "optional": true + }, "@vue/compiler-core": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", @@ -29041,9 +28971,9 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -29063,9 +28993,9 @@ "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { @@ -29086,15 +29016,15 @@ "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { @@ -29122,28 +29052,28 @@ "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -29151,24 +29081,24 @@ } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -29177,12 +29107,12 @@ } }, "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -29190,19 +29120,22 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true + "dev": true, + "requires": {} }, "@webpack-cli/info": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true + "dev": true, + "requires": {} }, "@webpack-cli/serve": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true + "dev": true, + "requires": {} }, "@wojtekmaj/enzyme-adapter-react-17": { "version": "0.8.0", @@ -29288,17 +29221,19 @@ } } }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "requires": {} }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "7.2.0", @@ -29331,7 +29266,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "ansi-colors": { "version": "4.1.1", @@ -29351,14 +29287,12 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, "requires": { "color-convert": "^2.0.1" } @@ -29396,7 +29330,6 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, "requires": { "deep-equal": "^2.0.5" } @@ -29423,7 +29356,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, "requires": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -29591,14 +29523,14 @@ "dev": true }, "autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "requires": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001538", - "fraction.js": "^4.3.6", + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -29607,8 +29539,7 @@ "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws4": { "version": "1.12.0", @@ -29616,9 +29547,9 @@ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "azure-devops-node-api": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", - "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", + "version": "12.5.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz", + "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==", "dev": true, "requires": { "tunnel": "0.0.6", @@ -29793,6 +29724,12 @@ "tweetnacl": "^0.14.3" } }, + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true + }, "big-integer": { "version": "1.6.51", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", @@ -30048,14 +29985,14 @@ } }, "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" } }, "bs-logger": { @@ -30077,9 +30014,9 @@ } }, "bson": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.2.0.tgz", - "integrity": "sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", + "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==" }, "bson-transpilers": { "version": "2.2.0", @@ -30138,8 +30075,13 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "devOptional": true + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true }, "buffer-fill": { "version": "1.0.0", @@ -30197,14 +30139,12 @@ "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "devOptional": true + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" }, "cacheable-request": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "devOptional": true, "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -30219,7 +30159,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "devOptional": true, "requires": { "pump": "^3.0.0" } @@ -30236,6 +30175,12 @@ "set-function-length": "^1.1.1" } }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "dev": true + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -30248,9 +30193,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==" + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==" }, "capture-exit": { "version": "2.0.0", @@ -30262,24 +30207,24 @@ } }, "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, "requires": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" } }, "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", "dev": true, "requires": { "check-error": "^1.0.2" @@ -30289,7 +30234,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -30314,10 +30258,13 @@ "dev": true }, "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } }, "cheerio": { "version": "1.0.0-rc.12", @@ -30573,7 +30520,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "devOptional": true, "requires": { "mimic-response": "^1.0.0" } @@ -30589,6 +30535,12 @@ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, + "cockatiel": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.1.3.tgz", + "integrity": "sha512-xC759TpZ69d7HhfDp8m2WkRwEUiCkxY8Ee2OQH/3H6zmy2D/5Sm+zSTbPRa+V2QyjDtpMvjOIAOVjA2gp6N1kQ==", + "dev": true + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -30614,7 +30566,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, "requires": { "color-name": "~1.1.4" } @@ -30622,8 +30573,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colorette": { "version": "2.0.20", @@ -30950,10 +30900,16 @@ "whatwg-url": "^8.0.0" } }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "requires": { "ms": "2.1.2" }, @@ -30997,38 +30953,12 @@ "make-dir": "^1.0.0", "pify": "^2.3.0", "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } } }, "decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "devOptional": true, "requires": { "mimic-response": "^3.1.0" }, @@ -31036,8 +30966,7 @@ "mimic-response": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "devOptional": true + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" } } }, @@ -31111,19 +31040,14 @@ "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true } } }, "dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==" + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "requires": {} }, "deep-eql": { "version": "4.1.3", @@ -31138,7 +31062,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, "requires": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.5", @@ -31163,8 +31086,7 @@ "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" } } }, @@ -31280,8 +31202,7 @@ "defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "devOptional": true + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, "define-data-property": { "version": "1.1.1", @@ -31302,7 +31223,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "devOptional": true, "requires": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -31330,47 +31250,65 @@ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" }, "depcheck": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.3.tgz", - "integrity": "sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.7.tgz", + "integrity": "sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==", "dev": true, "requires": { - "@babel/parser": "7.16.4", - "@babel/traverse": "^7.12.5", - "@vue/compiler-sfc": "^3.0.5", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "deps-regex": "^0.1.4", - "ignore": "^5.1.8", - "is-core-module": "^2.4.0", - "js-yaml": "^3.14.0", - "json5": "^2.1.3", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.2", + "@vue/compiler-sfc": "^3.3.4", + "callsite": "^1.0.0", + "camelcase": "^6.3.0", + "cosmiconfig": "^7.1.0", + "debug": "^4.3.4", + "deps-regex": "^0.2.0", + "findup-sync": "^5.0.0", + "ignore": "^5.2.4", + "is-core-module": "^2.12.0", + "js-yaml": "^3.14.1", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "minimatch": "^7.4.6", "multimatch": "^5.0.0", "please-upgrade-node": "^3.2.0", - "query-ast": "^1.0.3", - "readdirp": "^3.5.0", + "readdirp": "^3.6.0", "require-package-name": "^2.0.1", - "resolve": "^1.18.1", - "sass": "^1.29.0", - "scss-parser": "^1.0.4", - "semver": "^7.3.2", - "yargs": "^16.1.0" + "resolve": "^1.22.3", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "yargs": "^16.2.0" }, "dependencies": { - "@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", - "dev": true + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } }, "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true + }, + "minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true } } }, @@ -31379,10 +31317,16 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true + }, "deps-regex": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", - "integrity": "sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.2.0.tgz", + "integrity": "sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==", "dev": true }, "des.js": { @@ -31400,6 +31344,12 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true + }, "detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -31476,8 +31426,7 @@ "dom-accessibility-api": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" }, "dom-helpers": { "version": "5.2.1", @@ -31543,9 +31492,9 @@ } }, "dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" }, "dset": { "version": "3.1.3", @@ -31676,6 +31625,21 @@ } } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -31690,21 +31654,19 @@ } }, "electron": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-28.1.3.tgz", - "integrity": "sha512-NSFyTo6SndTPXzU18XRePv4LnjmuM9rF5GMKta1/kPmi02ISoSRonnD7wUlWXD2x53XyJ6d/TbSVesMW6sXkEQ==", - "optional": true, + "version": "29.4.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-29.4.2.tgz", + "integrity": "sha512-XyIkuWQguwY8hGtLg0j5Q4Fqphdbh0ctBsKCSVzJ/R7Z2+2WN/oQ1M+zYwchmfiDgiuL3EKkrBrfPdxXYdMr+A==", "requires": { "@electron/get": "^2.0.0", - "@types/node": "^18.11.18", + "@types/node": "^20.9.0", "extract-zip": "^2.0.1" }, "dependencies": { "@types/node": { - "version": "18.19.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.7.tgz", - "integrity": "sha512-IGRJfoNX10N/PfrReRZ1br/7SQ+2vF/tK3KXNwzXz82D32z5dMQEoOlFew18nLSN+vMNcLY4GrKfzwi/yWI8/w==", - "optional": true, + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", "requires": { "undici-types": "~5.26.4" } @@ -31712,9 +31674,9 @@ } }, "electron-to-chromium": { - "version": "1.4.580", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.580.tgz", - "integrity": "sha512-T5q3pjQon853xxxHUq3ZP68ZpvJHuSMY2+BZaW3QzjS4HvNuvsMmZ/+lU+nCrftre1jFZ+OSlExynXWBihnXzw==" + "version": "1.4.811", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.811.tgz", + "integrity": "sha512-CDyzcJ5XW78SHzsIOdn27z8J4ist8eaFLhdto2hSMSJQgsiwvbv2fbizcKUICryw1Wii1TI/FEkvzvJsR3awrA==" }, "elliptic": { "version": "6.5.4", @@ -31766,15 +31728,14 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "devOptional": true, "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -31790,8 +31751,7 @@ "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" }, "envinfo": { "version": "7.10.0", @@ -31908,7 +31868,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -31924,8 +31883,7 @@ "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" } } }, @@ -31973,9 +31931,9 @@ "optional": true }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" }, "escape-html": { "version": "1.0.3", @@ -32009,27 +31967,28 @@ } }, "eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -32039,7 +31998,6 @@ "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", @@ -32051,7 +32009,6 @@ "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "dependencies": { @@ -32062,9 +32019,9 @@ "dev": true }, "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -32459,16 +32416,35 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-0.4.1.tgz", "integrity": "sha512-hkpLN7VVoGGsofZjUhcQ+sufC3FgqMJwD0DvAcRfxY1tVRyQyVsqpaKnToPHJQOrRo0FQ0fSEDwW2gr4rsNdGA==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-mocha": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.1.0.tgz", - "integrity": "sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", + "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", "dev": true, "requires": { "eslint-utils": "^3.0.0", - "rambda": "^7.1.0" + "globals": "^13.24.0", + "rambda": "^7.4.0" + }, + "dependencies": { + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } } }, "eslint-plugin-react": { @@ -32558,15 +32534,15 @@ } }, "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { "acorn": "^8.9.0", @@ -32843,6 +32819,15 @@ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "devOptional": true }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "expect": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", @@ -32988,7 +32973,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "optional": true, "requires": { "@types/yauzl": "^2.9.1", "debug": "^4.1.1", @@ -33000,7 +32984,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "optional": true, "requires": { "pump": "^3.0.0" } @@ -33095,7 +33078,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "devOptional": true, "requires": { "pend": "~1.2.0" } @@ -33190,6 +33172,18 @@ "path-exists": "^4.0.0" } }, + "findup-sync": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" + } + }, "flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -33221,18 +33215,18 @@ } }, "focus-trap-react": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-8.11.3.tgz", - "integrity": "sha512-y126gMYuB1aVYiEZSP6/v9bAfVmAIUVixanhcoMelkz7bOh+l0c3h05CEHC8S63ztxdRI2AAPS9AsTat6jlDeQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-9.0.2.tgz", + "integrity": "sha512-ZwhO5by6KG5r3dy48Lk00A1/0zNYw1Z3RZTN6O6kgAPsWFcwTFszOcQ1dLSfM8pIxpS/ttc7wTttJowjVT3jpg==", "requires": { - "focus-trap": "^6.9.4" + "focus-trap": "^6.9.4", + "tabbable": "^5.3.3" } }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, "requires": { "is-callable": "^1.1.3" } @@ -33311,17 +33305,6 @@ "universalify": "^2.0.0" } }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -33330,6 +33313,17 @@ } } }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -33365,7 +33359,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "optional": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -33442,8 +33435,7 @@ "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" }, "gce-ips": { "version": "1.0.2", @@ -33541,11 +33533,6 @@ "pinkie-promise": "^2.0.0" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -33649,9 +33636,9 @@ "devOptional": true }, "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true }, "get-intrinsic": { @@ -33744,6 +33731,41 @@ "serialize-error": "^7.0.1" } }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -33792,7 +33814,6 @@ "version": "11.8.6", "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "devOptional": true, "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -33834,24 +33855,73 @@ "duplexer": "^0.1.2" } }, + "hadron-app-registry": { + "version": "9.1.12", + "resolved": "https://registry.npmjs.org/hadron-app-registry/-/hadron-app-registry-9.1.12.tgz", + "integrity": "sha512-RADslfdnH9uBx5wpdoP3ncvo5ujCUnzwDtrfLxPubmKkms3RsCSqZju+khWxiPxJi2+j6cqxm8gnPhqoKSdjiA==", + "requires": { + "eventemitter3": "^4.0.0", + "react": "^17.0.2", + "react-redux": "^8.1.3", + "redux": "^4.2.1", + "reflux": "^0.4.1" + }, + "dependencies": { + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "use-sync-external-store": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "requires": {} + } + } + } + } + }, "hadron-document": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/hadron-document/-/hadron-document-8.4.7.tgz", - "integrity": "sha512-6nxghzGKDvRJ91XtNaAn6VYgJThhhD5ohwhGua4w7sCa524+PkasAUS7EOLWGcp5tlWP+mAyBlVtUf/r4XruGw==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/hadron-document/-/hadron-document-8.5.4.tgz", + "integrity": "sha512-ZKgrBFAdHs21emLfJX5ZPLwAjSx7XrS9805IOHvex11UP3sdhz5G01pFwhY+FsUVUADWFbbCfW//Un7iJTUBlQ==", "requires": { - "bson": "^6.2.0", - "debug": "^4.2.0", + "bson": "^6.7.0", "eventemitter3": "^4.0.0", - "hadron-type-checker": "^7.1.1", + "hadron-type-checker": "^7.2.2", "lodash": "^4.17.21" } }, + "hadron-ipc": { + "version": "3.2.16", + "resolved": "https://registry.npmjs.org/hadron-ipc/-/hadron-ipc-3.2.16.tgz", + "integrity": "sha512-sBC0vGHYY3FcnbBY2OedIghSPFgNikLcjt7ayPzIEh35Y9PGJdmJ9popkTDzVEDJRuLP4tPRv5Q50Z+6Fkfigg==", + "requires": { + "debug": "^4.3.4", + "electron": "^29.4.2", + "is-electron-renderer": "^2.0.1" + } + }, "hadron-type-checker": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/hadron-type-checker/-/hadron-type-checker-7.1.1.tgz", - "integrity": "sha512-fkCf7ryFhWlag0GYG3FNuOuyO5/ty9Rnj39k+PApxkvXGhyZawAHxT711Hx2ICihX/TKxtYtXfeOhs6Xet/HGQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/hadron-type-checker/-/hadron-type-checker-7.2.2.tgz", + "integrity": "sha512-3Etm6trKNi+/xZdsoRJqrRrHMhadOeu1esZr53QvR8ZlZHmZrdbyLjeKHdFITBonk1WBHLSszuBagjXwKwRmJA==", "requires": { - "bson": "^6.2.0", + "bson": "^6.7.0", "lodash": "^4.17.21" } }, @@ -33866,14 +33936,12 @@ "has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-property-descriptors": { "version": "1.0.0", @@ -33897,7 +33965,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -33998,9 +34065,9 @@ } }, "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "requires": { "function-bind": "^1.1.2" } @@ -34012,9 +34079,9 @@ "dev": true }, "heap-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.3.0.tgz", - "integrity": "sha512-E5303mzwQ+4j/n2J0rDvEPBN7GKjhis10oHiYOgjxsmxYgqG++hz9NyLLOXttzH8as/DyiBHYpUrJTZWYaMo8Q==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/heap-js/-/heap-js-2.5.0.tgz", + "integrity": "sha512-kUGoI3p7u6B41z/dp33G6OaL7J4DRqRYwVmeIlwLClx7yaaAy7hoDExnuejTKtuDwfcatGmddHDEOjf6EyIxtQ==" }, "highlight.js": { "version": "11.5.1", @@ -34037,6 +34104,30 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -34115,8 +34206,7 @@ "http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "devOptional": true + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "http-errors": { "version": "2.0.0", @@ -34145,7 +34235,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "devOptional": true, "requires": { "quick-lru": "^5.1.1", "resolve-alpn": "^1.0.0" @@ -34191,12 +34280,6 @@ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", "dev": true }, - "immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true - }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -34419,7 +34502,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, "requires": { "get-intrinsic": "^1.2.0", "has": "^1.0.3", @@ -34432,15 +34514,6 @@ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -34501,7 +34574,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -34511,7 +34583,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -34527,7 +34598,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, "requires": { "has-bigints": "^1.0.1" } @@ -34545,7 +34615,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -34560,8 +34629,7 @@ "is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-ci": { "version": "2.0.0", @@ -34573,11 +34641,11 @@ } }, "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "requires": { - "has": "^1.0.3" + "hasown": "^2.0.2" } }, "is-data-descriptor": { @@ -34593,7 +34661,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -34679,8 +34746,7 @@ "is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" }, "is-natural-number": { "version": "4.0.1", @@ -34703,7 +34769,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -34733,7 +34798,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -34742,14 +34806,12 @@ "is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, "requires": { "call-bind": "^1.0.2" } @@ -34764,7 +34826,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -34779,7 +34840,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -34788,7 +34848,6 @@ "version": "1.1.10", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -34817,8 +34876,7 @@ "is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" }, "is-weakref": { "version": "1.0.2", @@ -34833,7 +34891,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -35368,7 +35425,8 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "26.0.0", @@ -35646,9 +35704,9 @@ } }, "jose": { - "version": "4.15.5", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", - "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==" + "version": "4.15.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.7.tgz", + "integrity": "sha512-L7ioP+JAuZe8v+T5+zVI9Tx8LtU8BL7NxkyDFVMv+Qr3JW0jSoYDedLtodaXwfqMpeCyx4WXFNyu9tJt4WvC1A==" }, "js-tokens": { "version": "4.0.0", @@ -35731,8 +35789,7 @@ "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "devOptional": true + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -35778,11 +35835,51 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optional": true, "requires": { "graceful-fs": "^4.1.6" } }, + "jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dev": true, + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "dependencies": { + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + } + } + }, "jsx-ast-utils": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", @@ -35851,6 +35948,27 @@ "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", "dev": true }, + "jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dev": true, + "requires": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "kerberos": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.1.0.tgz", @@ -35885,7 +36003,6 @@ "version": "4.5.2", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", - "devOptional": true, "requires": { "json-buffer": "3.0.1" } @@ -36034,12 +36151,48 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true + }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", "dev": true }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -36081,8 +36234,7 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "devOptional": true + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "lru-cache": { "version": "5.1.1", @@ -36095,13 +36247,12 @@ "lz-string": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" }, "macos-export-certificate-and-key": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.1.tgz", - "integrity": "sha512-J2g0dJRLG3DghmdCkbJnif/zPmSylj6ql//xBYff5allzNlHPnWxRoyho9XznBYLbPJw4jZlKjMO69jtV8VC7Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/macos-export-certificate-and-key/-/macos-export-certificate-and-key-1.1.2.tgz", + "integrity": "sha512-kd4ba3kVKZXy46p4tg3X19dmwaXjtz0La5It6Rt6PbtwP+YcQ0F7ab8MjcSHOvz9NSXmAU15qQG53OlBDAPDzQ==", "optional": true, "requires": { "bindings": "^1.5.0", @@ -36117,6 +36268,23 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + } + } + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -36315,8 +36483,7 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "devOptional": true + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "minimalistic-assert": { "version": "1.0.1", @@ -36399,25 +36566,24 @@ "devOptional": true }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.5.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", + "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", "dev": true, "requires": { "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.3", + "chokidar": "^3.5.3", "debug": "4.3.4", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -36433,6 +36599,23 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -36444,28 +36627,16 @@ } }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "js-yaml": { @@ -36542,16 +36713,24 @@ } }, "mocha-junit-reporter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.0.tgz", - "integrity": "sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.1.tgz", + "integrity": "sha512-iDn2tlKHn8Vh8o4nCzcUVW4q7iXp7cC4EB78N0cDHIobLymyHNwe0XG8HEHHjc3hJlXm0Vy6zcrxaIhnI2fWmw==", "dev": true, "requires": { "debug": "^4.3.4", "md5": "^2.3.0", - "mkdirp": "~1.0.4", + "mkdirp": "^3.0.0", "strip-ansi": "^6.0.1", "xml": "^1.0.1" + }, + "dependencies": { + "mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true + } } }, "mocha-multi": { @@ -36568,38 +36747,60 @@ } }, "mongodb": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.3.0.tgz", - "integrity": "sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", + "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", "requires": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^6.2.0", + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", "mongodb-connection-string-url": "^3.0.0" } }, "mongodb-build-info": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.1.tgz", - "integrity": "sha512-he4lTotY5AkGSc4Js9Dtqvx4W7x5JSNa9xtvR08y1tUyhglHG1tV+NnuUTrysXA0hNHMMvOd/Hh4Ez9Po84p1g==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/mongodb-build-info/-/mongodb-build-info-1.7.2.tgz", + "integrity": "sha512-eoLFZvCIjcwijYJdxvYupj1c+55VAVm0o4gBJjrcDxxmmpm+bC4Ix9ayZbyhQdVXDZAGDi03NA0GghXjBVXnxg==", "requires": { "mongodb-connection-string-url": "^3.0.0" } }, "mongodb-client-encryption": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.0.0.tgz", - "integrity": "sha512-GtqkqlSq19acX006/U1odA3l+gwhvABeoTUlvvgtvSs6qcN3qSHPnur3Z5N4oKOv6fZ7EtT8rIsWP2riI0+Eyg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-6.0.1.tgz", + "integrity": "sha512-u6pKu9plR7hQH6VtsfYonC9dwWAM3HFEpi+Xy3EJIdUyoH6dlFgaxX8TnKx/Ycfi2I1cxTXq2IbhSpg157vVgg==", "devOptional": true, "requires": { "bindings": "^1.5.0", "node-addon-api": "^4.3.0", - "prebuild-install": "^7.1.1" + "prebuild-install": "^7.1.2" + }, + "dependencies": { + "prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "devOptional": true, + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + } + } } }, "mongodb-cloud-info": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.0.tgz", - "integrity": "sha512-IueWuLvkG1xF9Ooxm3blKHVE8x5UL9BYKeCP+VYXNfEzmPruidW5D/5M35Ql5ZedzQhxbZ/RCA55OsuRC7RISw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", + "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", "requires": { "cross-fetch": "^3.1.6", "gce-ips": "^1.0.2", @@ -36607,9 +36808,9 @@ } }, "mongodb-connection-string-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", - "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", "requires": { "@types/whatwg-url": "^11.0.2", "whatwg-url": "^13.0.0" @@ -36640,70 +36841,56 @@ } }, "mongodb-data-service": { - "version": "22.17.3", - "resolved": "https://registry.npmjs.org/mongodb-data-service/-/mongodb-data-service-22.17.3.tgz", - "integrity": "sha512-zftI7NrToipZOXzO6noh8CsDtUdXLOmu6q8TFK6o1ehZysURz7/kmLIJyDMsMZ5jGwAYUtDwdOPON47TZa3Itw==", - "requires": { - "@mongodb-js/compass-logging": "^1.2.11", - "@mongodb-js/compass-utils": "^0.5.10", - "@mongodb-js/devtools-connect": "^2.4.2", - "@mongodb-js/oidc-plugin": "^0.3.0", - "@mongodb-js/ssh-tunnel": "^2.1.10", + "version": "22.21.1", + "resolved": "https://registry.npmjs.org/mongodb-data-service/-/mongodb-data-service-22.21.1.tgz", + "integrity": "sha512-zaelO1uF3VYqExUfsREgLp55EGLmhKsIRLxqufiGTLLgzV9jXmUMbPiAKxNuo5Fu0IOAwzV0D38RfZdB1yJVVQ==", + "requires": { + "@mongodb-js/compass-logging": "^1.3.1", + "@mongodb-js/compass-utils": "^0.6.5", + "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/ssh-tunnel": "^2.2.1", + "bson": "^6.7.0", "lodash": "^4.17.21", - "mongodb-build-info": "^1.7.0", + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2", "mongodb-client-encryption": "^6.0.0", - "mongodb-connection-string-url": "^2.6.0", - "mongodb-ns": "^2.4.0", - "socks": "^2.7.1", - "uuid": "^8.3.2" + "mongodb-connection-string-url": "^3.0.1", + "mongodb-ns": "^2.4.2" }, "dependencies": { - "@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "requires": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "requires": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", "requires": { - "punycode": "^2.1.1" + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "kerberos": "^2.1.0", + "lodash.merge": "^4.6.2", + "mongodb-client-encryption": "^6.0.0", + "mongodb-connection-string-url": "^3.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1", + "socks": "^2.7.3", + "system-ca": "^1.0.2" } }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "@mongodb-js/oidc-plugin": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "peer": true, "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" } } } }, "mongodb-download-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.4.1.tgz", - "integrity": "sha512-OC0EGXiYTwZNcLq2U7Hbt1MDSPQR57/Kput4+W0F2kwVOa0HwWW4oY6DS1gOLlIeVOsihRKKH9EPNnc/BxF7UA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.5.0.tgz", + "integrity": "sha512-zQP7t3aEpbWabn4ZlYapu8ODm7iRA0ON7hVFqxW2fSmY1kdCoYmKTW4LK+WfaokWOPGpLt4ZPtiWL54Bv1r87g==", "dev": true, "requires": { "debug": "^4.1.1", @@ -36713,23 +36900,23 @@ } }, "mongodb-log-writer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mongodb-log-writer/-/mongodb-log-writer-1.4.0.tgz", - "integrity": "sha512-hQrn8Xu58Z9uLmd2oncvu/b5KNxxKaW6MUrVRI/xObz/yzYNVWF3V4rgK9Ort72nOCmMD3PWOS+ZoZBtxgKibA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mongodb-log-writer/-/mongodb-log-writer-1.4.2.tgz", + "integrity": "sha512-ZQYBgW1IZtuRWsv9hF0mjpfDg6usMawkkWKnFb/goXosbW0YyxVA9OHt32TJfppGK/U2p7jQx4V9DxRFsFmmKw==", "requires": { "bson": "^4.5.1 || ^5.0.0 || ^6.0.0", "heap-js": "^2.3.0" } }, "mongodb-ns": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mongodb-ns/-/mongodb-ns-2.4.0.tgz", - "integrity": "sha512-pCutlP/AU0hcJ/f1h2h3nmn79/gXrQo6088QvPCbdx7SBDkAeGPH4AYu28DgqZzFvsn5mtt2RUpsFicYhjaHow==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mongodb-ns/-/mongodb-ns-2.4.2.tgz", + "integrity": "sha512-gYJjEYG4v4a1WSXgUf81OBoBRlj+Z1SlnQVO392fC/4a1CN7CLWDITajZWPFTPh/yRozYk6sHHtZwZmQhodBEA==" }, "mongodb-query-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/mongodb-query-parser/-/mongodb-query-parser-4.0.2.tgz", - "integrity": "sha512-GajCLw8/Ut0mlIW1msU36Pvyg/FRc0LPyp8aNzfafzNrDwz2ZOJmwtmNAkckuXG3Iqnj0ZZOouhIo4E4rjXcBQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mongodb-query-parser/-/mongodb-query-parser-4.1.3.tgz", + "integrity": "sha512-6V439TLqpuQ5c/vsUVuPxLbmkzFX+LrQKveWrlx0Q6HfbukGmgMtezpYNdCp0SwOaEWTnwJPKI4GQxQdyHGDLg==", "requires": { "debug": "^4.3.4", "ejson-shell-parser": "^2.0.0", @@ -36746,13 +36933,13 @@ } }, "mongodb-runner": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.5.2.tgz", - "integrity": "sha512-NU3Bq+OfqnmOHd5YzMGqojTl29rEcdD+y8+TtLOdMjxOf/2f0/oDq0aAQrsnvS/hD8cYdSzIGyDAYhM9Wiuhrw==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", + "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", "dev": true, "requires": { - "@mongodb-js/mongodb-downloader": "^0.2.10", - "@mongodb-js/saslprep": "^1.1.4", + "@mongodb-js/mongodb-downloader": "^0.3.2", + "@mongodb-js/saslprep": "^1.1.7", "debug": "^4.3.4", "mongodb": "^6.3.0", "mongodb-connection-string-url": "^3.0.0", @@ -36794,14 +36981,14 @@ } }, "mongodb-schema": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/mongodb-schema/-/mongodb-schema-12.1.1.tgz", - "integrity": "sha512-YNTorlzwXKAUhC1nNLN4cFANbt1G76Yk6OCCgeCl6ZiME1wMOceXxVjPEfYeZnkXUa6DQ846oEzu46v+6NJBcg==", + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/mongodb-schema/-/mongodb-schema-12.2.0.tgz", + "integrity": "sha512-YszO0B8yxeu2yD6KtjM5x5DjWi++gS+p74hEuoQKCmR/89aft1q2/FuBvV8gslgoT04lWbtLwI2eQNvklePLMw==", "requires": { - "bson": "^5.0.1", + "bson": "^6.7.0", "cli-table": "^0.3.4", "js-yaml": "^4.0.0", - "mongodb": "^5.0.1", + "mongodb": "^6.6.1", "mongodb-ns": "^2.4.0", "numeral": "^2.0.6", "progress": "^2.0.3", @@ -36810,28 +36997,12 @@ "yargs": "^17.6.2" }, "dependencies": { - "@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "optional": true, - "requires": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "optional": true }, - "bson": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", - "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", - "optional": true - }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -36852,53 +37023,6 @@ "argparse": "^2.0.1" } }, - "mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", - "optional": true, - "requires": { - "@mongodb-js/saslprep": "^1.1.0", - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - } - }, - "mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "optional": true, - "requires": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "optional": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "optional": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "optional": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, "yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -36929,9 +37053,9 @@ "dev": true }, "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true }, "ms": { @@ -36986,12 +37110,6 @@ "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -37174,9 +37292,9 @@ } }, "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "normalize-package-data": { "version": "2.5.0", @@ -37216,8 +37334,7 @@ "normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "devOptional": true + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, "npm-run-all": { "version": "4.1.5", @@ -37472,7 +37589,6 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -37481,8 +37597,7 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "devOptional": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -37497,7 +37612,6 @@ "version": "4.1.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -37604,11 +37718,11 @@ "dev": true }, "openid-client": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.3.tgz", - "integrity": "sha512-sVQOvjsT/sbSfYsQI/9liWQGVZH/Pp3rrtlGEwgk/bbHfrUDZ24DN57lAagIwFtuEu+FM9Ev7r85s8S/yPjimQ==", + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.5.tgz", + "integrity": "sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==", "requires": { - "jose": "^4.14.4", + "jose": "^4.15.5", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" @@ -37704,9 +37818,9 @@ } }, "os-dns-native": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/os-dns-native/-/os-dns-native-1.2.0.tgz", - "integrity": "sha512-pnq7NYCsuZixeIOFjerXIXXFNpqJyDqiIHTu9TzefKtu+8ReUROA9OB2VQE+qk3uYhkXtxe1tf8b4dqPINtStw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/os-dns-native/-/os-dns-native-1.2.1.tgz", + "integrity": "sha512-LbU43lWBxnZhy72Ngr+Vga0og5Q2+Ob8lvSHJkP2uYBkvdmAnK4CvaVaBhC1hk9AQV3YxAZ9fZWaJTuIyPEi+Q==", "optional": true, "requires": { "bindings": "^1.5.0", @@ -37738,8 +37852,7 @@ "p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "devOptional": true + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, "p-each-series": { "version": "2.2.0", @@ -37815,6 +37928,12 @@ "lines-and-columns": "^1.1.6" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, "parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -37927,8 +38046,7 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "devOptional": true + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" }, "performance-now": { "version": "2.1.0", @@ -37937,9 +38055,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "picomatch": { "version": "2.3.1", @@ -37952,6 +38070,11 @@ "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -38101,7 +38224,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "devOptional": true, + "optional": true, "requires": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -38154,8 +38277,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "devOptional": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "promise-fs": { "version": "2.1.1", @@ -38247,7 +38369,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "devOptional": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -38266,16 +38387,6 @@ "side-channel": "^1.0.4" } }, - "query-ast": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/query-ast/-/query-ast-1.0.5.tgz", - "integrity": "sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==", - "dev": true, - "requires": { - "invariant": "2.2.4", - "lodash": "^4.17.21" - } - }, "querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", @@ -38291,8 +38402,7 @@ "quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "devOptional": true + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, "raf": { "version": "3.4.1", @@ -38410,24 +38520,40 @@ "react-hotkeys-hook": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.4.1.tgz", - "integrity": "sha512-sClBMBioFEgFGYLTWWRKvhxcCx1DRznd+wkFHwQZspnRBkHTgruKIHptlK/U/2DPX8BhHoRGzpMVWUXMmdZlmw==" + "integrity": "sha512-sClBMBioFEgFGYLTWWRKvhxcCx1DRznd+wkFHwQZspnRBkHTgruKIHptlK/U/2DPX8BhHoRGzpMVWUXMmdZlmw==", + "requires": {} }, "react-intersection-observer": { "version": "8.34.0", "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-8.34.0.tgz", - "integrity": "sha512-TYKh52Zc0Uptp5/b4N91XydfSGKubEhgZRtcg1rhTKABXijc4Sdr1uTp5lJ8TN27jwUsdXxjHXtHa0kPj704sw==" + "integrity": "sha512-TYKh52Zc0Uptp5/b4N91XydfSGKubEhgZRtcg1rhTKABXijc4Sdr1uTp5lJ8TN27jwUsdXxjHXtHa0kPj704sw==", + "requires": {} }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-keyed-flatten-children": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-keyed-flatten-children/-/react-keyed-flatten-children-1.3.0.tgz", + "integrity": "sha512-qB7A6n+NHU0x88qTZGAJw6dsqwI941jcRPBB640c/CyWqjPQQ+YUmXOuzPziuHb7iqplM3xksWAbGYwkQT0tXA==", + "requires": { + "react-is": "^16.8.6" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } }, "react-shallow-renderer": { "version": "16.15.0", "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", - "dev": true, + "devOptional": true, "requires": { "object-assign": "^4.1.1", "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" @@ -38437,7 +38563,7 @@ "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", - "dev": true, + "devOptional": true, "requires": { "object-assign": "^4.1.1", "react-is": "^17.0.2", @@ -38456,6 +38582,14 @@ "prop-types": "^15.6.2" } }, + "react-virtual": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/react-virtual/-/react-virtual-2.10.4.tgz", + "integrity": "sha512-Ir6+oPQZTVHfa6+JL9M7cvMILstFZH/H3jqeYeKI4MSUX+rIruVwFC6nGVXw9wqAw8L0Kg2KvfXxI85OvYQdpQ==", + "requires": { + "@reach/observe-rect": "^1.1.0" + } + }, "react-window": { "version": "1.8.10", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz", @@ -38570,6 +38704,45 @@ "resolve": "^1.20.0" } }, + "redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "reflux": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/reflux/-/reflux-0.4.1.tgz", + "integrity": "sha512-xrAUNOKzNegiYHpj9Vv5eCdV3HZ1H0f9T5TXcTVk1dbOSMBL4ppUM+3Gvw1HCiLRfe+IAtj7k4DXe/r7XcswlQ==", + "requires": { + "eventemitter3": "^1.1.1", + "reflux-core": "^0.3.0" + }, + "dependencies": { + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha512-DOFqA1MF46fmZl2xtzXR3MPCRsXqgoFqdXcrCVYM3JNnfUeHTm/fh/v/iU7gBFpwkuBmoJPAm5GuhdDfSEJMJA==" + } + } + }, + "reflux-core": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/reflux-core/-/reflux-core-0.3.0.tgz", + "integrity": "sha512-mOOxvUQcNE3HvYXHt2SoqlVso5OtQL82zl60PfR1An57UU4ho30h0hMO6fh5hsDcfxywo74+TdForH+pfCZGeQ==", + "requires": { + "eventemitter3": "^1.1.1" + }, + "dependencies": { + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha512-DOFqA1MF46fmZl2xtzXR3MPCRsXqgoFqdXcrCVYM3JNnfUeHTm/fh/v/iU7gBFpwkuBmoJPAm5GuhdDfSEJMJA==" + } + } + }, "regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -38589,7 +38762,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -38648,11 +38820,11 @@ "integrity": "sha512-ysyw95gLBhMAzqIVrOHJ2yMrRQHAS+h97bS9r89Z7Ou10Jhl2k5KOsyjPqrxL+WfEanov0o5bAMVzQ7AKyENHA==" }, "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "requires": { - "is-core-module": "^2.11.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -38660,8 +38832,7 @@ "resolve-alpn": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "devOptional": true + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, "resolve-cwd": { "version": "3.0.0", @@ -38680,15 +38851,25 @@ } } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-mongodb-srv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.3.tgz", - "integrity": "sha512-TrD4ebxN+1wfGhTl1uEKPSReCK13OscqpatIFKabCivrfQSDeVB4GYxpbm5F7yryyniuCxiEDxyyJO3a0UPQjw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", + "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", "requires": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -38727,7 +38908,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "devOptional": true, "requires": { "lowercase-keys": "^2.0.0" } @@ -39074,17 +39254,6 @@ } } }, - "sass": { - "version": "1.63.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", - "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -39109,14 +39278,15 @@ "object-assign": "^4.1.1" } }, - "scss-parser": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.6.tgz", - "integrity": "sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==", + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { - "invariant": "2.2.4", - "lodash": "4.17.21" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, "seek-bzip": { @@ -39142,27 +39312,9 @@ "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" }, "semver-compare": { "version": "1.0.0", @@ -39264,7 +39416,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, "requires": { "define-data-property": "^1.0.1", "functions-have-names": "^1.2.3", @@ -39414,17 +39565,18 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", - "dev": true + "dev": true, + "requires": {} }, "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" } }, "sisteransi": { @@ -39997,15 +40149,62 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, + "stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dev": true, + "requires": { + "bl": "^5.0.0" + }, + "dependencies": { + "bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, + "requires": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, "stop-iteration-iterator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, "requires": { "internal-slot": "^1.0.4" } }, + "stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true + }, "stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -40184,7 +40383,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "optional": true, "requires": { "debug": "^4.1.0" } @@ -40193,7 +40391,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -40220,9 +40417,9 @@ "dev": true }, "system-ca": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-1.0.2.tgz", - "integrity": "sha512-/6CCJOKB5Fpi0x7/DCbV7uiFPgwGCeJsAaSondXS2DjLBv7ER2worVGvQWJqPM0kgOKO6auaCcSWpJKnrDmXjw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/system-ca/-/system-ca-1.0.3.tgz", + "integrity": "sha512-FHwdyDHM/J6SjHNVEp532J5rWsO0oPB/szZGsP/8I2s78mPLQhE0WwKTGi/RJulqTICekINsczg5q44n/1b+lQ==", "requires": { "macos-export-certificate-and-key": "^1.1.1", "win-export-certificate-and-key": "^1.1.1" @@ -40292,9 +40489,9 @@ "dev": true }, "tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -40451,9 +40648,9 @@ } }, "terser": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.0.tgz", - "integrity": "sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q==", + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -40471,16 +40668,16 @@ } }, "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "dependencies": { "jest-worker": { @@ -40494,21 +40691,10 @@ "supports-color": "^8.0.0" } }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -40659,9 +40845,9 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true }, "tough-cookie": { @@ -40720,15 +40906,24 @@ } }, "ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", "dev": true, "requires": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } } }, "ts-log": { @@ -40737,9 +40932,9 @@ "integrity": "sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==" }, "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -40772,9 +40967,9 @@ } }, "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "tsutils": { "version": "3.21.0", @@ -40935,8 +41130,7 @@ "undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "devOptional": true + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "union-value": { "version": "1.0.1", @@ -40958,11 +41152,16 @@ } } }, + "universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "optional": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unpipe": { "version": "1.0.0", @@ -41021,12 +41220,12 @@ "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" }, "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" } }, "uri-js": { @@ -41171,9 +41370,9 @@ } }, "vscode-languageserver-textdocument": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.10.tgz", - "integrity": "sha512-dPA6WqtAQJ/Iopm0Hrj11VvaKxsEcm62jpqyaYbY0xuvUffeWAn77f3VKr2SCsJphSyEw4Fjkjqm2gQ24KQfrA==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, "vscode-languageserver-types": { "version": "3.17.3", @@ -41213,9 +41412,9 @@ } }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -41238,65 +41437,54 @@ "dev": true }, "webpack": { - "version": "5.88.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", - "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } } }, "webpack-bundle-analyzer": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz", - "integrity": "sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", "dev": true, "requires": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", - "lodash": "^4.17.20", + "html-escaper": "^2.0.2", "opener": "^1.5.2", - "sirv": "^1.0.7", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", "ws": "^7.3.1" }, "dependencies": { @@ -41336,12 +41524,13 @@ } }, "webpack-merge": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", - "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "requires": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" } }, @@ -41389,7 +41578,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -41402,7 +41590,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, "requires": { "is-map": "^2.0.1", "is-set": "^2.0.1", @@ -41419,7 +41606,6 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.4", @@ -41435,14 +41621,22 @@ "dev": true }, "win-export-certificate-and-key": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.1.tgz", - "integrity": "sha512-wvF1DKlbt/PLOSdnKzIqv0Ipj+87n2VYOJFbkqBoN7l3l244reT7Lf6+Dnu86bYVWoVpq3ZZG417OLNHFnkP6A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/win-export-certificate-and-key/-/win-export-certificate-and-key-1.1.2.tgz", + "integrity": "sha512-3Su7Xdt9UR8pZicWQDcGSWNL6We/NzAGxe7AeQ1Z/zAeGHWlTKAh3HemGvIvxLRPsk4NW9D/QL3cL6SIvFcTvQ==", "optional": true, "requires": { "bindings": "^1.5.0", - "node-addon-api": "^4.3.0", + "node-addon-api": "^3.1.0", "node-forge": "^1.2.1" + }, + "dependencies": { + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "optional": true + } } }, "window-size": { @@ -41540,7 +41734,8 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true + "dev": true, + "requires": {} }, "xml": { "version": "1.0.1", @@ -41685,7 +41880,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "devOptional": true, "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" diff --git a/package.json b/package.json index afc608fdb..92d9fc087 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "create-vulnerability-tickets": "mongodb-sbom-tools generate-vulnerability-report --snyk-reports=.sbom/snyk-test-result.json --dependencies=.sbom/dependencies.json --create-jira-issues" }, "engines": { - "vscode": "^1.79.1", + "vscode": "^1.90.2", "node": ">=16.16.0", "npm": ">=8.19.4" }, @@ -1076,93 +1076,93 @@ } }, "dependencies": { - "@babel/parser": "^7.22.6", - "@babel/traverse": "^7.23.2", - "@mongodb-js/compass-components": "^1.21.2", + "@babel/parser": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@mongodb-js/compass-components": "^1.25.0", "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", - "@mongodb-js/mongodb-constants": "^0.8.9", + "@mongodb-js/mongodb-constants": "^0.10.2", "@mongosh/browser-runtime-electron": "^2.1.1", "@mongosh/i18n": "^2.1.1", "@mongosh/service-provider-server": "^2.1.1", "@mongosh/shell-api": "^2.1.1", - "@segment/analytics-node": "^1.1.4", - "bson": "^6.2.0", + "@segment/analytics-node": "^1.3.0", + "bson": "^6.7.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.4", - "dotenv": "^16.3.1", + "debug": "^4.3.5", + "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-cloud-info": "^2.1.0", - "mongodb-connection-string-url": "^3.0.0", - "mongodb-data-service": "^22.17.3", - "mongodb-log-writer": "^1.4.0", - "mongodb-query-parser": "^4.0.2", - "mongodb-schema": "^12.1.1", + "mongodb": "^6.7.0", + "mongodb-build-info": "^1.7.2", + "mongodb-cloud-info": "^2.1.2", + "mongodb-connection-string-url": "^3.0.1", + "mongodb-data-service": "^22.21.1", + "mongodb-log-writer": "^1.4.2", + "mongodb-query-parser": "^4.1.3", + "mongodb-schema": "^12.2.0", "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.3", + "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", "vscode-languageserver": "^8.1.0", - "vscode-languageserver-textdocument": "^1.0.10" + "vscode-languageserver-textdocument": "^1.0.11" }, "devDependencies": { - "@babel/preset-typescript": "^7.22.5", - "@mongodb-js/oidc-mock-provider": "^0.6.10", - "@mongodb-js/oidc-plugin": "^0.3.0", + "@babel/preset-typescript": "^7.24.7", + "@mongodb-js/oidc-mock-provider": "^0.9.1", + "@mongodb-js/oidc-plugin": "^0.4.0", "@mongodb-js/prettier-config-devtools": "^1.0.1", - "@mongodb-js/sbom-tools": "^0.5.4", - "@mongodb-js/signing-utils": "^0.3.1", - "@mongosh/service-provider-core": "^2.0.2", + "@mongodb-js/sbom-tools": "^0.7.0", + "@mongodb-js/signing-utils": "^0.3.4", + "@mongosh/service-provider-core": "^2.2.1", "@testing-library/react": "^12.1.5", - "@types/babel__core": "^7.20.1", - "@types/babel__traverse": "^7.20.1", - "@types/chai": "^4.3.5", - "@types/debug": "^4.1.8", + "@types/babel__core": "^7.20.5", + "@types/babel__traverse": "^7.20.6", + "@types/chai": "^4.3.16", + "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.2", + "@types/micromatch": "^4.0.7", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", - "@types/node": "^14.18.53", - "@types/react": "^17.0.62", - "@types/react-dom": "^17.0.20", + "@types/node": "^14.18.63", + "@types/react": "^17.0.80", + "@types/react-dom": "^17.0.25", "@types/sinon": "^9.0.11", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.79.1", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", - "@vscode/test-electron": "^2.3.8", - "@vscode/vsce": "^2.19.0", + "@types/vscode": "^1.90.0", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "@vscode/test-electron": "^2.4.0", + "@vscode/vsce": "^2.29.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", - "autoprefixer": "^10.4.16", + "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.3.7", - "chai-as-promised": "^7.1.1", + "chai": "^4.4.1", + "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", - "depcheck": "^1.4.3", + "depcheck": "^1.4.7", "duplicate-package-checker-webpack-plugin": "^3.0.0", "enzyme": "^3.11.0", - "eslint": "^8.44.0", + "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.1.0", + "eslint-plugin-mocha": "^10.4.3", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.2.0", - "mocha-junit-reporter": "^2.2.0", + "mocha": "^10.5.1", + "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", - "mongodb-client-encryption": "^6.0.0", - "mongodb-runner": "^5.5.2", + "mongodb-client-encryption": "^6.0.1", + "mongodb-runner": "^5.6.2", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -1175,13 +1175,13 @@ "sinon-chai": "^3.7.0", "stream-browserify": "^3.0.0", "ts-jest": "^26.5.6", - "ts-loader": "^9.4.4", - "ts-node": "^10.9.1", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", "typescript": "^4.9.5", - "webpack": "^5.88.1", - "webpack-bundle-analyzer": "^4.9.0", + "webpack": "^5.92.1", + "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^5.1.4", - "webpack-merge": "^5.9.0", + "webpack-merge": "^5.10.0", "xvfb-maybe": "^0.2.1" }, "precommit": [ diff --git a/src/connectionController.ts b/src/connectionController.ts index 1572fd834..4b4515b8a 100644 --- a/src/connectionController.ts +++ b/src/connectionController.ts @@ -413,8 +413,9 @@ export default class ConnectionController { this._statusView.hideMessage(); this._connectionAttempt = null; this._connectingConnectionId = null; - this.eventEmitter.emit(DataServiceEventTypes.CONNECTIONS_DID_CHANGE); } + + this.eventEmitter.emit(DataServiceEventTypes.CONNECTIONS_DID_CHANGE); } log.info('Successfully connected', { connectionId }); @@ -423,11 +424,10 @@ export default class ConnectionController { dataService.addReauthenticationHandler( this._reauthenticationHandler.bind(this) ); - this._activeDataService = dataService; + this.setActiveDataService(dataService); this._currentConnectionId = connectionId; this._connectionAttempt = null; this._connectingConnectionId = null; - this.eventEmitter.emit(DataServiceEventTypes.CONNECTIONS_DID_CHANGE); this.eventEmitter.emit(DataServiceEventTypes.ACTIVE_CONNECTION_CHANGED); // Send metrics to Segment @@ -466,7 +466,6 @@ export default class ConnectionController { ); if (removeConfirmationResponse !== 'Confirm') { - await this.disconnect(); throw new Error('Reauthentication declined by user'); } } @@ -574,43 +573,38 @@ export default class ConnectionController { this._currentConnectionId = null; this._disconnecting = true; + this._statusView.showMessage('Disconnecting from current connection...'); this.eventEmitter.emit(DataServiceEventTypes.CONNECTIONS_DID_CHANGE); this.eventEmitter.emit(DataServiceEventTypes.ACTIVE_CONNECTION_CHANGED); if (!this._activeDataService) { - void vscode.window.showErrorMessage( - 'Unable to disconnect: no active connection.' - ); - + log.error('Unable to disconnect: no active connection'); return false; } - this._statusView.showMessage('Disconnecting from current connection...'); + const originalDisconnect = this._activeDataService.disconnect.bind(this); + this._activeDataService = null; try { // Disconnect from the active connection. - await this._activeDataService.disconnect(); - void vscode.window.showInformationMessage('MongoDB disconnected.'); - this._activeDataService = null; - - void vscode.commands.executeCommand( - 'setContext', - 'mdb.connectedToMongoDB', - false - ); - void vscode.commands.executeCommand( - 'setContext', - 'mdb.isAtlasStreams', - false - ); + await originalDisconnect(); } catch (error) { - // Show an error, however we still reset the active connection to free up the extension. - void vscode.window.showErrorMessage( - 'An error occurred while disconnecting from the current connection.' - ); + log.error('Unable to disconnect', error); } + void vscode.commands.executeCommand( + 'setContext', + 'mdb.connectedToMongoDB', + false + ); + void vscode.commands.executeCommand( + 'setContext', + 'mdb.isAtlasStreams', + false + ); + void vscode.window.showInformationMessage('MongoDB disconnected.'); + this._disconnecting = false; this._statusView.hideMessage(); @@ -626,9 +620,7 @@ export default class ConnectionController { } delete this._connections[connectionId]; - await this._connectionStorage.removeConnection(connectionId); - this.eventEmitter.emit(DataServiceEventTypes.CONNECTIONS_DID_CHANGE); } @@ -989,9 +981,13 @@ export default class ConnectionController { this._connectingConnectionId = ''; } - // Exposed for testing. setActiveDataService(newDataService: DataService): void { this._activeDataService = newDataService; + + // Disconnect the extension if the MongoDB client is closed. + this._activeDataService?.once('close', () => { + void this.disconnect(); + }); } getConnectionQuickPicks(): ConnectionQuickPicks[] { diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index cd055dee8..bbfd3bfb2 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -38,13 +38,13 @@ type CloudInfo = { async function getHostnameForConnection( connectionStringData: ConnectionString -): Promise { +): Promise { if (connectionStringData.isSRV) { const uri = await resolveMongodbSrv(connectionStringData.toString()).catch( () => null ); if (!uri) { - return null; + return undefined; } connectionStringData = new ConnectionString(uri, { looseValidation: true, diff --git a/src/test/suite/connectionController.test.ts b/src/test/suite/connectionController.test.ts index ca06ae39e..50c1cf409 100644 --- a/src/test/suite/connectionController.test.ts +++ b/src/test/suite/connectionController.test.ts @@ -135,15 +135,6 @@ suite('Connection Controller Test Suite', function () { expect(successfullyRemovedMongoDBConnection).to.be.false; }); - test('"disconnect()" fails when there is no active connection', async () => { - const expectedMessage = 'Unable to disconnect: no active connection.'; - const successfullyDisconnected = - await testConnectionController.disconnect(); - - expect(showErrorMessageStub.firstCall.args[0]).to.equal(expectedMessage); - expect(successfullyDisconnected).to.be.false; - }); - test('when adding a new connection it disconnects from the current connection', async () => { const succesfullyConnected = await testConnectionController.addNewConnectionStringAndConnect( @@ -189,32 +180,44 @@ suite('Connection Controller Test Suite', function () { expect(wasSetToConnectingWhenDisconnecting).to.be.true; }); - test('"connect()" should fire 3 CONNECTIONS_DID_CHANGE event', (done) => { - let eventCounter = 0; + test('"connect()" should fire the connections did change event the expected number of types', async () => { + // The number of times we expect to re-render connections on the sidebar: + // - connection attempt started + // - connection attempt finished + const expectedTimesToFire = 2; + let connectionsDidChangeEventFiredCount = 0; + testConnectionController.addEventListener( DataServiceEventTypes.CONNECTIONS_DID_CHANGE, () => { - eventCounter++; - if (eventCounter === 3) { - done(); - } + connectionsDidChangeEventFiredCount++; } ); - void testConnectionController.addNewConnectionStringAndConnect( + await testConnectionController.addNewConnectionStringAndConnect( TEST_DATABASE_URI ); - }); - const expectedTimesToFire = 4; + testConnectionController.removeEventListener( + DataServiceEventTypes.CONNECTIONS_DID_CHANGE, + () => {} + ); - test(`"connect()" then "disconnect()" should fire the connections did change event ${expectedTimesToFire} times`, async () => { - let connectionEventFiredCount = 0; + expect(connectionsDidChangeEventFiredCount).to.equal(expectedTimesToFire); + }); + + test('"connect()" then "disconnect()" should fire the connections did change event the expected number of types', async () => { + // The number of times we expect to re-render connections on the sidebar: + // - connection attempt started + // - connection attempt finished + // - disconnect + const expectedTimesToFire = 3; + let connectionsDidChangeEventFiredCount = 0; testConnectionController.addEventListener( DataServiceEventTypes.CONNECTIONS_DID_CHANGE, () => { - connectionEventFiredCount++; + connectionsDidChangeEventFiredCount++; } ); @@ -222,9 +225,13 @@ suite('Connection Controller Test Suite', function () { TEST_DATABASE_URI ); await testConnectionController.disconnect(); - await sleep(100); - expect(connectionEventFiredCount).to.equal(expectedTimesToFire); + testConnectionController.removeEventListener( + DataServiceEventTypes.CONNECTIONS_DID_CHANGE, + () => {} + ); + + expect(connectionsDidChangeEventFiredCount).to.equal(expectedTimesToFire); }); test('when there are no existing connections in the store and the connection controller loads connections', async () => { @@ -874,7 +881,7 @@ suite('Connection Controller Test Suite', function () { secretStorageLocation: SecretStorageLocation.SecretStorage, connectionOptions: { connectionString: - 'mongodb://localhost:27017/?readPreference=primary&ssl=false', + 'mongodb://lena:secrer@localhost:27017/?readPreference=primary&ssl=false', }, }; await testConnectionController._connectionStorage._saveConnectionToStore( @@ -883,14 +890,12 @@ suite('Connection Controller Test Suite', function () { await testConnectionController.loadSavedConnections(); const connections = testConnectionController.getSavedConnections(); - expect(connections.length).to.equal(1); const newSavedConnectionInfoWithSecrets = await testConnectionController._connectionStorage._getConnectionInfoWithSecrets( connections[0] ); - expect(newSavedConnectionInfoWithSecrets).to.deep.equal(connectionInfo); }); @@ -1052,6 +1057,12 @@ suite('Connection Controller Test Suite', function () { ); await testConnectionController.loadSavedConnections(); + + testConnectionController.removeEventListener( + DataServiceEventTypes.CONNECTIONS_DID_CHANGE, + () => {} + ); + expect(isConnectionChanged).to.be.true; }); diff --git a/src/test/suite/editors/activeConnectionCodeLensProvider.test.ts b/src/test/suite/editors/activeConnectionCodeLensProvider.test.ts index fd3e2fdaa..827c928f7 100644 --- a/src/test/suite/editors/activeConnectionCodeLensProvider.test.ts +++ b/src/test/suite/editors/activeConnectionCodeLensProvider.test.ts @@ -75,6 +75,7 @@ suite('Active Connection CodeLens Provider Test Suite', () => { }, ]); const instanceStub = sandbox.stub(); + const onceStub = sandbox.stub(); instanceStub.resolves({ dataLake: {}, build: {}, @@ -84,10 +85,10 @@ suite('Active Connection CodeLens Provider Test Suite', () => { const activeDataServiceStub = { find: findStub, instance: instanceStub, - } as Pick as unknown as DataService; + once: onceStub, + } as unknown as DataService; testConnectionController.setActiveDataService(activeDataServiceStub); - testCodeLensProvider.setActiveTextEditor( vscode.window.activeTextEditor ); @@ -171,6 +172,7 @@ suite('Active Connection CodeLens Provider Test Suite', () => { }, ]); const instanceStub = sandbox.stub(); + const onceStub = sandbox.stub(); instanceStub.resolves({ dataLake: {}, build: {}, @@ -180,7 +182,9 @@ suite('Active Connection CodeLens Provider Test Suite', () => { const activeDataServiceStub = { find: findStub, instance: instanceStub, - } as Pick as unknown as DataService; + once: onceStub, + } as unknown as DataService; + testConnectionController.setActiveDataService(activeDataServiceStub); sandbox.replace( testConnectionController, diff --git a/src/test/suite/editors/collectionDocumentsProvider.test.ts b/src/test/suite/editors/collectionDocumentsProvider.test.ts index a44bd060b..eb844baa7 100644 --- a/src/test/suite/editors/collectionDocumentsProvider.test.ts +++ b/src/test/suite/editors/collectionDocumentsProvider.test.ts @@ -80,10 +80,12 @@ suite('Collection Documents Provider Test Suite', () => { test('provideTextDocumentContent parses uri and return documents in the form of a string from a find call', async () => { const findStub = sandbox.stub(); + const onceStub = sandbox.stub(); findStub.resolves([{ field: 'Declaration of Independence' }]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + once: onceStub, + } as unknown as DataService; testConnectionController.setActiveDataService(testDataService); @@ -121,10 +123,12 @@ suite('Collection Documents Provider Test Suite', () => { ]; const findStub = sandbox.stub(); + const onceStub = sandbox.stub(); findStub.resolves(mockDocuments); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + once: onceStub, + } as unknown as DataService; testConnectionController.setActiveDataService(testDataService); @@ -147,10 +151,12 @@ suite('Collection Documents Provider Test Suite', () => { test('provideTextDocumentContent sets hasMoreDocumentsToShow to false when there arent more documents', async () => { const findStub = sandbox.stub(); + const onceStub = sandbox.stub(); findStub.resolves([{ field: 'Apollo' }, { field: 'Gemini ' }]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + once: onceStub, + } as unknown as DataService; testConnectionController.setActiveDataService(testDataService); const operationId = testQueryStore.createNewOperation(); @@ -180,10 +186,10 @@ suite('Collection Documents Provider Test Suite', () => { }); test('provideTextDocumentContent shows a status bar item while it is running then hide it', async () => { - const mockActiveDataService = { find: () => Promise.resolve([]) } as Pick< - DataService, - 'find' - > as unknown as DataService; + const mockActiveDataService = { + find: () => Promise.resolve([]), + once: sandbox.stub(), + } as unknown as DataService; testConnectionController.setActiveDataService(mockActiveDataService); testCollectionViewProvider._statusView = testStatusView; diff --git a/src/test/suite/editors/playgroundController.test.ts b/src/test/suite/editors/playgroundController.test.ts index 95ee609aa..14df23617 100644 --- a/src/test/suite/editors/playgroundController.test.ts +++ b/src/test/suite/editors/playgroundController.test.ts @@ -116,7 +116,8 @@ suite('Playground Controller Test Suite', function () { url: 'mongodb://username@ldaphost:27017/?authMechanism=MONGODB-X509&readPreference=primary&appname=mongodb-vscode+0.0.0-dev.0&ssl=true&authSource=%24external&tlsAllowInvalidCertificates=true&tlsAllowInvalidHostnames=true&tlsCAFile=./path/to/ca&tlsCertificateKeyFile=./path/to/cert', options: { monitorCommands: true }, }), - } as DataService; + once: sandbox.stub(), + } as unknown as DataService; fakeConnectToServiceProvider = sandbox.fake.resolves(undefined); sandbox.replace( @@ -301,6 +302,7 @@ suite('Playground Controller Test Suite', function () { url: TEST_DATABASE_URI, options: {}, }), + once: sandbox.stub(), } as unknown as DataService) ); sandbox.replace( diff --git a/src/test/suite/explorer/schemaTreeItem.test.ts b/src/test/suite/explorer/schemaTreeItem.test.ts index 6c2605940..6e7a30754 100644 --- a/src/test/suite/explorer/schemaTreeItem.test.ts +++ b/src/test/suite/explorer/schemaTreeItem.test.ts @@ -92,7 +92,7 @@ suite('SchemaTreeItem Test Suite', function () { findStub.resolves([]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + } as unknown as DataService; const testSchemaTreeItem = getTestSchemaTreeItem({ dataService: testDataService, @@ -123,7 +123,7 @@ suite('SchemaTreeItem Test Suite', function () { findStub.resolves([mockDocWithTwentyFields]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + } as unknown as DataService; const testSchemaTreeItem = getTestSchemaTreeItem({ dataService: testDataService, isExpanded: true, @@ -154,7 +154,7 @@ suite('SchemaTreeItem Test Suite', function () { findStub.resolves([mockDocWithThirtyFields]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + } as unknown as DataService; const testSchemaTreeItem = getTestSchemaTreeItem({ dataService: testDataService, isExpanded: true, @@ -173,7 +173,7 @@ suite('SchemaTreeItem Test Suite', function () { findStub.resolves('invalid schema to parse' as unknown as Document[]); const testDataService = { find: findStub, - } as Pick as unknown as DataService; + } as unknown as DataService; const testSchemaTreeItem = getTestSchemaTreeItem({ dataService: testDataService, diff --git a/src/test/suite/mdbExtensionController.test.ts b/src/test/suite/mdbExtensionController.test.ts index 96f0d8d1a..9fc872a19 100644 --- a/src/test/suite/mdbExtensionController.test.ts +++ b/src/test/suite/mdbExtensionController.test.ts @@ -1234,7 +1234,7 @@ suite('MDBExtensionController Test Suite', function () { namespaceUsed = namespace; return Promise.resolve([mockDocument]); }, - } as Pick as unknown as DataService; + } as unknown as DataService; const documentTreeItem = getTestDocumentTreeItem({ dataService: dataServiceStub, }); diff --git a/src/test/suite/oidc.test.ts b/src/test/suite/oidc.test.ts index bd5b520ca..054aa5b39 100644 --- a/src/test/suite/oidc.test.ts +++ b/src/test/suite/oidc.test.ts @@ -14,6 +14,7 @@ import { StorageController } from '../../storage'; import { TelemetryService } from '../../telemetry'; import ConnectionController from '../../connectionController'; import { StatusView } from '../../views'; +import { waitFor } from './waitFor'; import { MongoCluster } from 'mongodb-runner'; import type { MongoClusterOptions } from 'mongodb-runner'; @@ -380,14 +381,16 @@ suite('OIDC Tests', function () { }; }; - expect( + const isConnected = await testConnectionController.addNewConnectionStringAndConnect( connectionString - ) - ).to.be.true; + ); + + expect(isConnected).to.be.true; + afterReauth = true; - // Trigger a command on data service for reauthentication + // Trigger a command on data service for reauthentication. while (reAuthCalled === false) { await testConnectionController .getActiveDataService() @@ -398,6 +401,9 @@ suite('OIDC Tests', function () { } await reAuthPromise; + await waitFor(() => { + return testConnectionController.isCurrentlyConnected() === false; + }, 100); // Because we declined the auth in showInformationMessage above expect(tokenFetchCalls).to.equal(1); diff --git a/src/test/suite/stubs.ts b/src/test/suite/stubs.ts index ada97c86e..bb1f09df2 100644 --- a/src/test/suite/stubs.ts +++ b/src/test/suite/stubs.ts @@ -37,12 +37,17 @@ class ExtensionContextStub implements vscode.ExtensionContext { _secrets: Record = {}; secrets; extension; + languageModelAccessInformation: vscode.LanguageModelAccessInformation; asAbsolutePath(relativePath: string): string { return relativePath; } constructor() { + this.languageModelAccessInformation = { + onDidChange: (): any => {}, + canSendRequest: () => undefined, + }; this.globalStoragePath = ''; this.logPath = ''; this.subscriptions = []; diff --git a/src/test/suite/telemetry/connectionTelemetry.test.ts b/src/test/suite/telemetry/connectionTelemetry.test.ts index c1b37f5e7..d393cf597 100644 --- a/src/test/suite/telemetry/connectionTelemetry.test.ts +++ b/src/test/suite/telemetry/connectionTelemetry.test.ts @@ -4,7 +4,7 @@ import { expect } from 'chai'; import sinon from 'sinon'; import type { DataService } from 'mongodb-data-service'; -import getCloudInfoModule from 'mongodb-cloud-info'; +import * as getCloudInfoModule from 'mongodb-cloud-info'; import { ConnectionTypes } from '../../../connectionController'; import { getConnectionTelemetryProperties } from '../../../telemetry/connectionTelemetry'; @@ -35,12 +35,15 @@ suite('ConnectionTelemetry Controller Test Suite', function () { dataServiceStub = { getConnectionString: getConnectionStringStub, instance: instanceStub, - } as Pick< - DataService, - 'getConnectionString' | 'instance' - > as unknown as DataService; - - sandbox.stub(getCloudInfoModule, 'getCloudInfo').resolves({}); + } as unknown as DataService; + + sandbox.stub(getCloudInfoModule, 'getCloudInfo').callsFake(() => + Promise.resolve({ + isAws: false, + isGcp: false, + isAzure: false, + }) + ); }); after(() => { diff --git a/src/test/suite/telemetry/telemetryService.test.ts b/src/test/suite/telemetry/telemetryService.test.ts index eac8ee584..42f1c1659 100644 --- a/src/test/suite/telemetry/telemetryService.test.ts +++ b/src/test/suite/telemetry/telemetryService.test.ts @@ -44,7 +44,7 @@ suite('Telemetry Controller Test Suite', () => { } as unknown as Awaited>); dataServiceStub = { instance: instanceStub, - } as Pick as unknown as DataService; + } as unknown as DataService; fakeSegmentAnalyticsTrack = sandbox.fake(); sandbox.replace( @@ -632,7 +632,7 @@ suite('Telemetry Controller Test Suite', () => { find: () => { return Promise.resolve([mockDocument]); }, - } as Pick as unknown as DataService; + } as unknown as DataService; const documentItem = new DocumentTreeItem({ document: mockDocument, namespace: 'waffle.house', diff --git a/src/test/suite/views/webviewController.test.ts b/src/test/suite/views/webviewController.test.ts index 3672f4566..675a484bf 100644 --- a/src/test/suite/views/webviewController.test.ts +++ b/src/test/suite/views/webviewController.test.ts @@ -17,17 +17,7 @@ import WebviewController, { getWebviewContent, } from '../../../views/webviewController'; import * as linkHelper from '../../../utils/linkHelper'; - -function waitFor(condition: () => boolean, timeout = 10) { - return new Promise((resolve) => { - const testInterval = setInterval(() => { - if (condition()) { - clearInterval(testInterval); - resolve(); - } - }, timeout); - }); -} +import { waitFor } from '../waitFor'; suite('Webview Test Suite', () => { const sandbox = sinon.createSandbox(); diff --git a/src/test/suite/waitFor.ts b/src/test/suite/waitFor.ts new file mode 100644 index 000000000..de97395d9 --- /dev/null +++ b/src/test/suite/waitFor.ts @@ -0,0 +1,10 @@ +export function waitFor(condition: () => boolean, timeout = 10) { + return new Promise((resolve) => { + const testInterval = setInterval(() => { + if (condition()) { + clearInterval(testInterval); + resolve(); + } + }, timeout); + }); +} diff --git a/src/views/webview-app/use-connection-form.ts b/src/views/webview-app/use-connection-form.ts index cb150e879..c0edd7989 100644 --- a/src/views/webview-app/use-connection-form.ts +++ b/src/views/webview-app/use-connection-form.ts @@ -145,7 +145,9 @@ export default function useConnectionForm() { } }; window.addEventListener('message', handleConnectResultResponse); - () => window.removeEventListener('message', handleConnectResultResponse); + return () => { + window.removeEventListener('message', handleConnectResultResponse); + }; }, [initialConnectionInfo]); useEffect(() => { @@ -165,7 +167,9 @@ export default function useConnectionForm() { } }; window.addEventListener('message', handleConnectResultResponse); - () => window.removeEventListener('message', handleConnectResultResponse); + return () => { + window.removeEventListener('message', handleConnectResultResponse); + }; }, []); return { diff --git a/syntaxes/mongodbInjection.tmLanguage.json b/syntaxes/mongodbInjection.tmLanguage.json index 83c0403a4..8d2add5c7 100644 --- a/syntaxes/mongodbInjection.tmLanguage.json +++ b/syntaxes/mongodbInjection.tmLanguage.json @@ -1278,6 +1278,15 @@ } } }, + { + "name": "meta.object.member.mongodb", + "match": "\\$toHashedIndexKey\\b", + "captures": { + "0": { + "name": "keyword.other.$toHashedIndexKey.mongodb" + } + } + }, { "name": "meta.object.member.mongodb", "match": "\\$toLower\\b", From f2af6268e614e05e585723c4e59a9707afa5dca4 Mon Sep 17 00:00:00 2001 From: Basit <1305718+mabaasit@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:48:14 +0200 Subject: [PATCH 26/33] chore(deps): bump mongosh VSCODE-548 (#752) * bump mongosh and fix types * bump dev dep --- package-lock.json | 772 ++++++++++++++++++++-------------------------- package.json | 11 +- 2 files changed, 332 insertions(+), 451 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28c67a923..78d723169 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,10 +15,10 @@ "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "@mongosh/browser-runtime-electron": "^2.1.1", - "@mongosh/i18n": "^2.1.1", - "@mongosh/service-provider-server": "^2.1.1", - "@mongosh/shell-api": "^2.1.1", + "@mongosh/browser-runtime-electron": "^2.2.10", + "@mongosh/i18n": "^2.2.10", + "@mongosh/service-provider-server": "^2.2.10", + "@mongosh/shell-api": "^2.2.10", "@segment/analytics-node": "^1.3.0", "bson": "^6.7.0", "bson-transpilers": "^2.2.0", @@ -51,7 +51,7 @@ "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.7.0", "@mongodb-js/signing-utils": "^0.3.4", - "@mongosh/service-provider-core": "^2.2.1", + "@mongosh/service-provider-core": "^2.2.10", "@testing-library/react": "^12.1.5", "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.6", @@ -66,6 +66,7 @@ "@types/react": "^17.0.80", "@types/react-dom": "^17.0.25", "@types/sinon": "^9.0.11", + "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", "@types/vscode": "^1.90.0", "@typescript-eslint/eslint-plugin": "^5.62.0", @@ -1668,11 +1669,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", + "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1699,11 +1700,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1713,11 +1714,11 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -4045,29 +4046,6 @@ "node": ">=12" } }, - "node_modules/@mongodb-js/devtools-connect": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.6.3.tgz", - "integrity": "sha512-oGM/HQ8GJmcSVKcnVz+uNy3m1WFz2a7XqcEa/JJcl+imKDPHritkNVUsPIA9fYMRduuOT9f7ko8uWTVLgcw/qA==", - "dependencies": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", - "lodash.merge": "^4.6.2", - "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.3", - "system-ca": "^1.0.2" - }, - "optionalDependencies": { - "kerberos": "^2.1.0", - "mongodb-client-encryption": "^6.0.0", - "os-dns-native": "^1.2.0", - "resolve-mongodb-srv": "^1.1.1" - }, - "peerDependencies": { - "@mongodb-js/oidc-plugin": "^0.4.0", - "mongodb": "^5.8.1 || ^6.0.0", - "mongodb-log-writer": "^1.4.2" - } - }, "node_modules/@mongodb-js/mongodb-constants": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", @@ -4151,6 +4129,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.4.0.tgz", "integrity": "sha512-tinXSz6O2AmgMAgorXUcCJtDhayghkmsXVVTd5UiXhzSA/NNVtlleZXSVkG6tr46WXGzLISgVX+lUzzcEIiwJQ==", + "dev": true, "dependencies": { "abort-controller": "^3.0.0", "express": "^4.18.2", @@ -4221,29 +4200,28 @@ } }, "node_modules/@mongosh/arg-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.1.1.tgz", - "integrity": "sha512-D0+FiUc9lH/LWkyXLM2s1WXI9pzfX6tvafAOwY9Lk73zUITfGzPtmup2tOyH4nI6H2jgVEMFg0GdBnAb2i/m/g==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.10.tgz", + "integrity": "sha512-QvXziAmACrFty7id5I0s3ZOetIc1wWhjtpytGMtchEiusTQOO+NJy74UMrxK+NGxKPDRL0MroRIo05/LEfPkJg==", "dependencies": { - "@mongosh/errors": "2.1.1", - "@mongosh/i18n": "2.1.1", - "mongodb-connection-string-url": "^3.0.0" + "@mongosh/errors": "2.2.10", + "@mongosh/i18n": "2.2.10", + "mongodb-connection-string-url": "^3.0.1" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/async-rewriter2": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.1.1.tgz", - "integrity": "sha512-fm5s5uiH5oTVpvXZPgovjl/X3ZiL/lKDi2Plj0s1bOAPeWTQ6qaiPD1f/fbrEI2iVU+JyDk8clVMPV4duaOjvw==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.10.tgz", + "integrity": "sha512-ssY+WxY/oOHPZAIjrYzUYhCr1K2towzshxQpYw3nk5JyjTdvN4gc0xnrWMNLJonEOD/ADTdlneFshQhuh/V1vQ==", "dependencies": { "@babel/core": "^7.22.8", "@babel/plugin-transform-destructuring": "^7.22.5", "@babel/plugin-transform-parameters": "^7.22.5", "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5", - "@types/babel__core": "^7.20.1" + "@babel/types": "^7.22.5" }, "bin": { "async-rewrite": "bin/async-rewrite.js" @@ -4253,117 +4231,71 @@ } }, "node_modules/@mongosh/autocomplete": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.1.1.tgz", - "integrity": "sha512-va1IXrQJ+3OcXbKIdQlBk0LeSgfTYdUbmc8vr/AwnTh+yZP+wd0viHE3l6KzO62H2d3aIfEcthfGReeRuISVHA==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.10.tgz", + "integrity": "sha512-iLrZ1vfA67jKwEWtSKGYAZ7QM5beYFo4AsmiV+KCXwtcZref3dX1OgcjBvRW8dRvSonz8/7RnN9r8QtsTyw2xw==", "dependencies": { - "@mongodb-js/mongodb-constants": "^0.7.1", - "@mongosh/shell-api": "2.1.1", + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.2.10", "semver": "^7.5.4" }, "engines": { "node": ">=14.15.1" } }, - "node_modules/@mongosh/autocomplete/node_modules/@mongodb-js/mongodb-constants": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.7.2.tgz", - "integrity": "sha512-ElaVCCQo80vQTX865RXbJoITaB6kHJmOWqv0ANO5I/S9nP5LaIEfA2QQuBmE4cHOmb3ZGfzLfyCCfwbeSBwE6w==", - "dependencies": { - "dedent": "^1.5.1", - "semver": "^7.5.4" - } - }, "node_modules/@mongosh/browser-runtime-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.1.1.tgz", - "integrity": "sha512-DPmV+N6xvIaWUJt/F3ysJJFhnsj+Z1Pd3mgt/+9PnP55cpWiKpOQPwnvFa0Ma0wGIlWArx5Xb9z490Fg4cBNBg==", - "dependencies": { - "@mongosh/autocomplete": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/shell-api": "2.1.1", - "@mongosh/shell-evaluator": "2.1.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/browser-runtime-core/node_modules/@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.10.tgz", + "integrity": "sha512-tN2TwbA/ANuZllWBQaZPYKjGS4M+F8UbPkHS7b08DeixbJB457Dh2HNDXztmADuLPht82DurRxx6nS0suNFNXQ==", "dependencies": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1" + "@mongosh/autocomplete": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/shell-api": "2.2.10", + "@mongosh/shell-evaluator": "2.2.10" }, "engines": { "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.0.0" } }, "node_modules/@mongosh/browser-runtime-electron": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.1.1.tgz", - "integrity": "sha512-VNWW+5OVCk8fyWCeDT2saA5klCXzXk1VjhQrlshnWWm3WBGYhI5qSe0bohTbD8ZL9jfKbAdMQP89TPWlGpBZHQ==", - "dependencies": { - "@mongosh/browser-runtime-core": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/types": "2.1.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/browser-runtime-electron/node_modules/@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.10.tgz", + "integrity": "sha512-LmI/VVIrchb51vfTKcFZ/Q4xVzQuHnaU5/LdhRwBaAKaxEp02QwQ0IskOUg6MmU1MwDXFstwhn74nn6ZZeBhWg==", "dependencies": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1" + "@mongosh/browser-runtime-core": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/types": "2.2.10" }, "engines": { "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.0.0" } }, "node_modules/@mongosh/errors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.1.1.tgz", - "integrity": "sha512-Dw0qb+h6QiO8/bhuyTBK0aANMamuQjpcjdA35H+L78CS4c5iog6rSd3x0RISivhRsvGgGxE+JLcOuUyQsu2v4Q==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", + "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/history": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.1.1.tgz", - "integrity": "sha512-PFfyq3jGAoxTld/T8CrZpardch1IWtEAJnyOcVVgL+pdspmrowhIPBd8HOyOM5C2wjCjDmqhNtBLaJ5iuOMmPg==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.10.tgz", + "integrity": "sha512-EmMKvsytTXq/1tAwxZUvl+6+gCrarWdEDB9mO9vTCFneOgB0ao2jpo7KA9Jc63r8RYhDH78dtjFsSuFeox3AiA==", "dependencies": { - "mongodb-connection-string-url": "^3.0.0", - "mongodb-redact": "^0.2.2" + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^0.2.3" }, "engines": { "node": ">=14.15.1" } }, "node_modules/@mongosh/i18n": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.1.1.tgz", - "integrity": "sha512-i6ff4kdtHSfErGkYrEj8lSh/LBFIiSD3wecppy1FUMuDHBPfqbL42cGNV771yoyNUM7FlYb3CiXMXFDmqma2Vw==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.10.tgz", + "integrity": "sha512-TxyFOhdXqCN0AXGcWziPzZ+YBf8KthnZIbOVSyA+C1a0jynfMf+XBnLnNpwvKfGZUeQ1VyZkrKLPopG7e2nuIA==", "dependencies": { - "@mongosh/errors": "2.1.1", - "mustache": "^4.0.0" + "@mongosh/errors": "2.2.10" }, "engines": { "node": ">=14.15.1" @@ -4373,7 +4305,6 @@ "version": "2.2.10", "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", - "dev": true, "dependencies": { "@aws-sdk/credential-providers": "^3.525.0", "@mongosh/errors": "2.2.10", @@ -4388,127 +4319,140 @@ "mongodb-client-encryption": "^6.0.0" } }, - "node_modules/@mongosh/service-provider-core/node_modules/@mongosh/errors": { + "node_modules/@mongosh/service-provider-server": { "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", - "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.10.tgz", + "integrity": "sha512-7WxxKZgXNdW7f6vUCmqqWPexPOFqy/n155rFeyWhRVBI5mdbb/Sb5vsdqo1+6AyDpCXsLdl8CldsqmOfGKG36A==", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/oidc-plugin": "^1.0.2", + "@mongosh/errors": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/types": "2.2.10", + "aws4": "^1.12.0", + "mongodb": "^6.7.0", + "mongodb-connection-string-url": "^3.0.1", + "socks": "^2.8.3" + }, "engines": { "node": ">=14.15.1" + }, + "optionalDependencies": { + "kerberos": "^2.1.0", + "mongodb-client-encryption": "^6.0.0" } }, - "node_modules/@mongosh/service-provider-server": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.1.1.tgz", - "integrity": "sha512-pAnz8VdBBEqCUTLztPELSIrWXxC5K9acdSosTg31vYK0fbg7nx5Q55amPXLRxNlXPa3wFHYGt1R9hCD5PwSA+A==", - "dependencies": { - "@mongodb-js/devtools-connect": "^2.4.3", - "@mongodb-js/oidc-plugin": "^0.3.0", - "@mongosh/errors": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/types": "2.1.1", - "@types/sinon-chai": "^3.2.4", - "aws4": "^1.11.0", - "mongodb": "^6.3.0", + "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "dependencies": { + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "lodash.merge": "^4.6.2", "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.15.1" + "socks": "^2.7.3", + "system-ca": "^1.0.2" }, "optionalDependencies": { "kerberos": "^2.1.0", - "mongodb-client-encryption": "^6.0.0" + "mongodb-client-encryption": "^6.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1" + }, + "peerDependencies": { + "@mongodb-js/oidc-plugin": "^1.0.0", + "mongodb": "^5.8.1 || ^6.0.0", + "mongodb-log-writer": "^1.4.2" } }, "node_modules/@mongosh/service-provider-server/node_modules/@mongodb-js/oidc-plugin": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.1.tgz", - "integrity": "sha512-oEM7/AVyjH8C63WM4Q0JAFVA/Q77ZzlFXJCWPn/rIbDk3a4uVLFC9L8OlH8D0bawdI1fpVii2tsDo6msDtoovQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", "dependencies": { - "abort-controller": "^3.0.0", "express": "^4.18.2", "open": "^9.1.0", - "openid-client": "^5.4.0" + "openid-client": "^5.6.4" }, "engines": { - "node": ">= 14.18.0" + "node": ">= 16.20.1" } }, - "node_modules/@mongosh/service-provider-server/node_modules/@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "node_modules/@mongosh/shell-api": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.10.tgz", + "integrity": "sha512-Cgcb0U5wqzmTmwAmMkSqhZ3fR4PjqNJ2px61i/9JzWAgIEDSbv9Xni3mcfDRQd/qjLHCEUlAPFgEBu7Cpk0qBQ==", "dependencies": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1" + "@mongosh/arg-parser": "2.2.10", + "@mongosh/errors": "2.2.10", + "@mongosh/history": "2.2.10", + "@mongosh/i18n": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "mongodb-redact": "^0.2.3" }, "engines": { "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.0.0" } }, - "node_modules/@mongosh/shell-api": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.1.1.tgz", - "integrity": "sha512-uOEgd4bNah1QVeN6Sqxq+tCHmxlecul0AzL5829Axv3Aa1cZnERZMgbIPyo4JoMB0wTtsgjsJHngBBaDUdkuUQ==", + "node_modules/@mongosh/shell-evaluator": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.10.tgz", + "integrity": "sha512-9v/p5WDu+Ur7+jhXajkBOvpINcRORA1UpdMOV4sBGQ623VbmoDd7xFeFPoi0uWzV50qW5yNRlh3+dvsG/jdKmQ==", "dependencies": { - "@mongosh/arg-parser": "2.1.1", - "@mongosh/errors": "2.1.1", - "@mongosh/history": "2.1.1", - "@mongosh/i18n": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "mongodb-redact": "^0.2.2" + "@mongosh/async-rewriter2": "2.2.10", + "@mongosh/history": "2.2.10", + "@mongosh/shell-api": "2.2.10" }, "engines": { "node": ">=14.15.1" } }, - "node_modules/@mongosh/shell-api/node_modules/@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "node_modules/@mongosh/types": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.10.tgz", + "integrity": "sha512-BfCcmbC3givNCgYZxf6aUJy+/nHg2By6Hs9gZ/WMGgiedMuL5fRE18dGlwy3Aog7Jc6tVkBCMtOpYgjVnUPoxQ==", "dependencies": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1" + "@mongodb-js/devtools-connect": "^3.0.1" }, "engines": { "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.0.0" } }, - "node_modules/@mongosh/shell-evaluator": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.1.1.tgz", - "integrity": "sha512-h3OGG8r2dGt7xRuRwVVDcE8bMgzHe2XROdln8Cps/6Hb5mEDkg1JPT5HlJLmbk5j5IuEnr95dAxAzt/l5+461g==", + "node_modules/@mongosh/types/node_modules/@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", "dependencies": { - "@mongosh/async-rewriter2": "2.1.1", - "@mongosh/history": "2.1.1", - "@mongosh/shell-api": "2.1.1" + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "lodash.merge": "^4.6.2", + "mongodb-connection-string-url": "^3.0.0", + "socks": "^2.7.3", + "system-ca": "^1.0.2" }, - "engines": { - "node": ">=14.15.1" + "optionalDependencies": { + "kerberos": "^2.1.0", + "mongodb-client-encryption": "^6.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1" + }, + "peerDependencies": { + "@mongodb-js/oidc-plugin": "^1.0.0", + "mongodb": "^5.8.1 || ^6.0.0", + "mongodb-log-writer": "^1.4.2" } }, - "node_modules/@mongosh/types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.1.1.tgz", - "integrity": "sha512-YcaHfurVlVvlKBMYXkV+JYg24urEJa4cmp/cMF/fqoBi6F+MC6n/2BlG4eqwWyZ3KtUzqCCgocBebt7e61yHKA==", + "node_modules/@mongosh/types/node_modules/@mongodb-js/oidc-plugin": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "peer": true, "dependencies": { - "@mongodb-js/devtools-connect": "^2.4.3" + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" }, "engines": { - "node": ">=14.15.1" + "node": ">= 16.20.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -5698,6 +5642,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -5710,6 +5655,7 @@ "version": "7.6.4", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, "dependencies": { "@babel/types": "^7.0.0" } @@ -5718,6 +5664,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -5727,6 +5674,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, "dependencies": { "@babel/types": "^7.20.7" } @@ -5751,7 +5699,8 @@ "node_modules/@types/chai": { "version": "4.3.16", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "dev": true }, "node_modules/@types/debug": { "version": "4.1.12", @@ -6012,14 +5961,16 @@ "version": "9.0.11", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz", "integrity": "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==", + "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinon-chai": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", - "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", + "dev": true, "dependencies": { "@types/chai": "*", "@types/sinon": "*" @@ -6028,7 +5979,8 @@ "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "dev": true }, "node_modules/@types/ssh2": { "version": "1.11.19", @@ -7089,6 +7041,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, "dependencies": { "event-target-shim": "^5.0.0" }, @@ -9488,19 +9441,6 @@ "node": ">=0.10.0" } }, - "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, "node_modules/deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", @@ -11546,6 +11486,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, "engines": { "node": ">=6" } @@ -17096,9 +17037,9 @@ } }, "node_modules/mongodb-redact": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.2.tgz", - "integrity": "sha512-tmgDpSBymFtKggsLzpa0vDYaqh2wEXOswBZtJkXvbPKP0ThfPwoFYXtOukactU6WZsC4RYmpSPM4P6582FR/Xw==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.3.tgz", + "integrity": "sha512-a6ZPWlC9yf6F/n6ylKyyTO2PXZeD6nPKWwBmAIlOtOH4v82DIfsgO4Bpml10/YSwFxF1+VY8NHohmxofzpB4Yw==", "dependencies": { "lodash": "^4.17.15" } @@ -17296,14 +17237,6 @@ "object-assign": "^4.1.0" } }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "bin": { - "mustache": "bin/mustache" - } - }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -20858,9 +20791,9 @@ } }, "node_modules/socks": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz", - "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" @@ -24735,11 +24668,11 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", + "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-modules-commonjs": { @@ -24754,19 +24687,19 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" } }, "@babel/plugin-transform-typescript": { @@ -26772,22 +26705,6 @@ } } }, - "@mongodb-js/devtools-connect": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-2.6.3.tgz", - "integrity": "sha512-oGM/HQ8GJmcSVKcnVz+uNy3m1WFz2a7XqcEa/JJcl+imKDPHritkNVUsPIA9fYMRduuOT9f7ko8uWTVLgcw/qA==", - "requires": { - "@mongodb-js/oidc-http-server-pages": "1.1.1", - "kerberos": "^2.1.0", - "lodash.merge": "^4.6.2", - "mongodb-client-encryption": "^6.0.0", - "mongodb-connection-string-url": "^3.0.0", - "os-dns-native": "^1.2.0", - "resolve-mongodb-srv": "^1.1.1", - "socks": "^2.7.3", - "system-ca": "^1.0.2" - } - }, "@mongodb-js/mongodb-constants": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.10.2.tgz", @@ -26861,6 +26778,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.4.0.tgz", "integrity": "sha512-tinXSz6O2AmgMAgorXUcCJtDhayghkmsXVVTd5UiXhzSA/NNVtlleZXSVkG6tr46WXGzLISgVX+lUzzcEIiwJQ==", + "dev": true, "requires": { "abort-controller": "^3.0.0", "express": "^4.18.2", @@ -26923,128 +26841,84 @@ } }, "@mongosh/arg-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.1.1.tgz", - "integrity": "sha512-D0+FiUc9lH/LWkyXLM2s1WXI9pzfX6tvafAOwY9Lk73zUITfGzPtmup2tOyH4nI6H2jgVEMFg0GdBnAb2i/m/g==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.2.10.tgz", + "integrity": "sha512-QvXziAmACrFty7id5I0s3ZOetIc1wWhjtpytGMtchEiusTQOO+NJy74UMrxK+NGxKPDRL0MroRIo05/LEfPkJg==", "requires": { - "@mongosh/errors": "2.1.1", - "@mongosh/i18n": "2.1.1", - "mongodb-connection-string-url": "^3.0.0" + "@mongosh/errors": "2.2.10", + "@mongosh/i18n": "2.2.10", + "mongodb-connection-string-url": "^3.0.1" } }, "@mongosh/async-rewriter2": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.1.1.tgz", - "integrity": "sha512-fm5s5uiH5oTVpvXZPgovjl/X3ZiL/lKDi2Plj0s1bOAPeWTQ6qaiPD1f/fbrEI2iVU+JyDk8clVMPV4duaOjvw==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.2.10.tgz", + "integrity": "sha512-ssY+WxY/oOHPZAIjrYzUYhCr1K2towzshxQpYw3nk5JyjTdvN4gc0xnrWMNLJonEOD/ADTdlneFshQhuh/V1vQ==", "requires": { "@babel/core": "^7.22.8", "@babel/plugin-transform-destructuring": "^7.22.5", "@babel/plugin-transform-parameters": "^7.22.5", "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5", - "@types/babel__core": "^7.20.1" + "@babel/types": "^7.22.5" } }, "@mongosh/autocomplete": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.1.1.tgz", - "integrity": "sha512-va1IXrQJ+3OcXbKIdQlBk0LeSgfTYdUbmc8vr/AwnTh+yZP+wd0viHE3l6KzO62H2d3aIfEcthfGReeRuISVHA==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.2.10.tgz", + "integrity": "sha512-iLrZ1vfA67jKwEWtSKGYAZ7QM5beYFo4AsmiV+KCXwtcZref3dX1OgcjBvRW8dRvSonz8/7RnN9r8QtsTyw2xw==", "requires": { - "@mongodb-js/mongodb-constants": "^0.7.1", - "@mongosh/shell-api": "2.1.1", + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.2.10", "semver": "^7.5.4" - }, - "dependencies": { - "@mongodb-js/mongodb-constants": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-constants/-/mongodb-constants-0.7.2.tgz", - "integrity": "sha512-ElaVCCQo80vQTX865RXbJoITaB6kHJmOWqv0ANO5I/S9nP5LaIEfA2QQuBmE4cHOmb3ZGfzLfyCCfwbeSBwE6w==", - "requires": { - "dedent": "^1.5.1", - "semver": "^7.5.4" - } - } } }, "@mongosh/browser-runtime-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.1.1.tgz", - "integrity": "sha512-DPmV+N6xvIaWUJt/F3ysJJFhnsj+Z1Pd3mgt/+9PnP55cpWiKpOQPwnvFa0Ma0wGIlWArx5Xb9z490Fg4cBNBg==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.2.10.tgz", + "integrity": "sha512-tN2TwbA/ANuZllWBQaZPYKjGS4M+F8UbPkHS7b08DeixbJB457Dh2HNDXztmADuLPht82DurRxx6nS0suNFNXQ==", "requires": { - "@mongosh/autocomplete": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/shell-api": "2.1.1", - "@mongosh/shell-evaluator": "2.1.1" - }, - "dependencies": { - "@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", - "requires": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-client-encryption": "^6.0.0" - } - } + "@mongosh/autocomplete": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/shell-api": "2.2.10", + "@mongosh/shell-evaluator": "2.2.10" } }, "@mongosh/browser-runtime-electron": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.1.1.tgz", - "integrity": "sha512-VNWW+5OVCk8fyWCeDT2saA5klCXzXk1VjhQrlshnWWm3WBGYhI5qSe0bohTbD8ZL9jfKbAdMQP89TPWlGpBZHQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-electron/-/browser-runtime-electron-2.2.10.tgz", + "integrity": "sha512-LmI/VVIrchb51vfTKcFZ/Q4xVzQuHnaU5/LdhRwBaAKaxEp02QwQ0IskOUg6MmU1MwDXFstwhn74nn6ZZeBhWg==", "requires": { - "@mongosh/browser-runtime-core": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/types": "2.1.1" - }, - "dependencies": { - "@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", - "requires": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-client-encryption": "^6.0.0" - } - } + "@mongosh/browser-runtime-core": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/types": "2.2.10" } }, "@mongosh/errors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.1.1.tgz", - "integrity": "sha512-Dw0qb+h6QiO8/bhuyTBK0aANMamuQjpcjdA35H+L78CS4c5iog6rSd3x0RISivhRsvGgGxE+JLcOuUyQsu2v4Q==" + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", + "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==" }, "@mongosh/history": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.1.1.tgz", - "integrity": "sha512-PFfyq3jGAoxTld/T8CrZpardch1IWtEAJnyOcVVgL+pdspmrowhIPBd8HOyOM5C2wjCjDmqhNtBLaJ5iuOMmPg==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.2.10.tgz", + "integrity": "sha512-EmMKvsytTXq/1tAwxZUvl+6+gCrarWdEDB9mO9vTCFneOgB0ao2jpo7KA9Jc63r8RYhDH78dtjFsSuFeox3AiA==", "requires": { - "mongodb-connection-string-url": "^3.0.0", - "mongodb-redact": "^0.2.2" + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^0.2.3" } }, "@mongosh/i18n": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.1.1.tgz", - "integrity": "sha512-i6ff4kdtHSfErGkYrEj8lSh/LBFIiSD3wecppy1FUMuDHBPfqbL42cGNV771yoyNUM7FlYb3CiXMXFDmqma2Vw==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.2.10.tgz", + "integrity": "sha512-TxyFOhdXqCN0AXGcWziPzZ+YBf8KthnZIbOVSyA+C1a0jynfMf+XBnLnNpwvKfGZUeQ1VyZkrKLPopG7e2nuIA==", "requires": { - "@mongosh/errors": "2.1.1", - "mustache": "^4.0.0" + "@mongosh/errors": "2.2.10" } }, "@mongosh/service-provider-core": { "version": "2.2.10", "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.2.10.tgz", "integrity": "sha512-XB+G24WjTIYXnHoToJhDJMwMV7pCcgCwgme0MiE6lzcYs5HwlHhk9tzBwv0+i+3NcCb5SMqU38iUMuGG6jKJdQ==", - "dev": true, "requires": { "@aws-sdk/credential-providers": "^3.525.0", "@mongosh/errors": "2.2.10", @@ -27052,105 +26926,112 @@ "mongodb": "^6.7.0", "mongodb-build-info": "^1.7.2", "mongodb-client-encryption": "^6.0.0" - }, - "dependencies": { - "@mongosh/errors": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.2.10.tgz", - "integrity": "sha512-jR8dv9MYYRwr+Yri/KI6HAuob0zdVBQOrMvjc+ygBbTIkL3wh1iOrjZKZuYUsjei1FDxLA8NywftAoHDchq2Tg==", - "dev": true - } } }, "@mongosh/service-provider-server": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.1.1.tgz", - "integrity": "sha512-pAnz8VdBBEqCUTLztPELSIrWXxC5K9acdSosTg31vYK0fbg7nx5Q55amPXLRxNlXPa3wFHYGt1R9hCD5PwSA+A==", - "requires": { - "@mongodb-js/devtools-connect": "^2.4.3", - "@mongodb-js/oidc-plugin": "^0.3.0", - "@mongosh/errors": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "@mongosh/types": "2.1.1", - "@types/sinon-chai": "^3.2.4", - "aws4": "^1.11.0", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-server/-/service-provider-server-2.2.10.tgz", + "integrity": "sha512-7WxxKZgXNdW7f6vUCmqqWPexPOFqy/n155rFeyWhRVBI5mdbb/Sb5vsdqo1+6AyDpCXsLdl8CldsqmOfGKG36A==", + "requires": { + "@mongodb-js/devtools-connect": "^3.0.1", + "@mongodb-js/oidc-plugin": "^1.0.2", + "@mongosh/errors": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "@mongosh/types": "2.2.10", + "aws4": "^1.12.0", "kerberos": "^2.1.0", - "mongodb": "^6.3.0", + "mongodb": "^6.7.0", "mongodb-client-encryption": "^6.0.0", - "mongodb-connection-string-url": "^3.0.0", - "socks": "^2.7.1" + "mongodb-connection-string-url": "^3.0.1", + "socks": "^2.8.3" }, "dependencies": { - "@mongodb-js/oidc-plugin": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-0.3.1.tgz", - "integrity": "sha512-oEM7/AVyjH8C63WM4Q0JAFVA/Q77ZzlFXJCWPn/rIbDk3a4uVLFC9L8OlH8D0bawdI1fpVii2tsDo6msDtoovQ==", + "@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", "requires": { - "abort-controller": "^3.0.0", - "express": "^4.18.2", - "open": "^9.1.0", - "openid-client": "^5.4.0" + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "kerberos": "^2.1.0", + "lodash.merge": "^4.6.2", + "mongodb-client-encryption": "^6.0.0", + "mongodb-connection-string-url": "^3.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1", + "socks": "^2.7.3", + "system-ca": "^1.0.2" } }, - "@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", + "@mongodb-js/oidc-plugin": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", "requires": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-client-encryption": "^6.0.0" + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" } } } }, "@mongosh/shell-api": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.1.1.tgz", - "integrity": "sha512-uOEgd4bNah1QVeN6Sqxq+tCHmxlecul0AzL5829Axv3Aa1cZnERZMgbIPyo4JoMB0wTtsgjsJHngBBaDUdkuUQ==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.2.10.tgz", + "integrity": "sha512-Cgcb0U5wqzmTmwAmMkSqhZ3fR4PjqNJ2px61i/9JzWAgIEDSbv9Xni3mcfDRQd/qjLHCEUlAPFgEBu7Cpk0qBQ==", "requires": { - "@mongosh/arg-parser": "2.1.1", - "@mongosh/errors": "2.1.1", - "@mongosh/history": "2.1.1", - "@mongosh/i18n": "2.1.1", - "@mongosh/service-provider-core": "2.1.1", - "mongodb-redact": "^0.2.2" - }, - "dependencies": { - "@mongosh/service-provider-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.1.1.tgz", - "integrity": "sha512-7UMymGS3sQopiR0WJetEp1//7ga10okdEg9c4fOvwjU22k4G8X+/ngnrcZLcTvPnASkYjMjq4puiem+QZY3mVQ==", - "requires": { - "@aws-sdk/credential-providers": "^3.347.1", - "@mongosh/errors": "2.1.1", - "bson": "^6.2.0", - "mongodb": "^6.3.0", - "mongodb-build-info": "^1.7.1", - "mongodb-client-encryption": "^6.0.0" - } - } + "@mongosh/arg-parser": "2.2.10", + "@mongosh/errors": "2.2.10", + "@mongosh/history": "2.2.10", + "@mongosh/i18n": "2.2.10", + "@mongosh/service-provider-core": "2.2.10", + "mongodb-redact": "^0.2.3" } }, "@mongosh/shell-evaluator": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.1.1.tgz", - "integrity": "sha512-h3OGG8r2dGt7xRuRwVVDcE8bMgzHe2XROdln8Cps/6Hb5mEDkg1JPT5HlJLmbk5j5IuEnr95dAxAzt/l5+461g==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.2.10.tgz", + "integrity": "sha512-9v/p5WDu+Ur7+jhXajkBOvpINcRORA1UpdMOV4sBGQ623VbmoDd7xFeFPoi0uWzV50qW5yNRlh3+dvsG/jdKmQ==", "requires": { - "@mongosh/async-rewriter2": "2.1.1", - "@mongosh/history": "2.1.1", - "@mongosh/shell-api": "2.1.1" + "@mongosh/async-rewriter2": "2.2.10", + "@mongosh/history": "2.2.10", + "@mongosh/shell-api": "2.2.10" } }, "@mongosh/types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.1.1.tgz", - "integrity": "sha512-YcaHfurVlVvlKBMYXkV+JYg24urEJa4cmp/cMF/fqoBi6F+MC6n/2BlG4eqwWyZ3KtUzqCCgocBebt7e61yHKA==", + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.2.10.tgz", + "integrity": "sha512-BfCcmbC3givNCgYZxf6aUJy+/nHg2By6Hs9gZ/WMGgiedMuL5fRE18dGlwy3Aog7Jc6tVkBCMtOpYgjVnUPoxQ==", "requires": { - "@mongodb-js/devtools-connect": "^2.4.3" + "@mongodb-js/devtools-connect": "^3.0.1" + }, + "dependencies": { + "@mongodb-js/devtools-connect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mongodb-js/devtools-connect/-/devtools-connect-3.0.1.tgz", + "integrity": "sha512-xbk/eGHPQTQz4VSpGb5oRqSSbzipcFDODrAc4YtYFrb0980buOAopO71NozCbQoVnoiO1pYVIqcnrZMHkdaJzg==", + "requires": { + "@mongodb-js/oidc-http-server-pages": "1.1.1", + "kerberos": "^2.1.0", + "lodash.merge": "^4.6.2", + "mongodb-client-encryption": "^6.0.0", + "mongodb-connection-string-url": "^3.0.0", + "os-dns-native": "^1.2.0", + "resolve-mongodb-srv": "^1.1.1", + "socks": "^2.7.3", + "system-ca": "^1.0.2" + } + }, + "@mongodb-js/oidc-plugin": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/oidc-plugin/-/oidc-plugin-1.0.2.tgz", + "integrity": "sha512-hwTbkmJ31RPB5ksA6pLepnaQOBz6iurE+uH89B1IIJdxVuiO0Qz+OqpTN8vk8LZzcVDb/WbNoxqxogCWwMqFKw==", + "peer": true, + "requires": { + "express": "^4.18.2", + "open": "^9.1.0", + "openid-client": "^5.6.4" + } + } } }, "@nodelib/fs.scandir": { @@ -28069,6 +27950,7 @@ "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, "requires": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", @@ -28081,6 +27963,7 @@ "version": "7.6.4", "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, "requires": { "@babel/types": "^7.0.0" } @@ -28089,6 +27972,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, "requires": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" @@ -28098,6 +27982,7 @@ "version": "7.20.6", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, "requires": { "@babel/types": "^7.20.7" } @@ -28122,7 +28007,8 @@ "@types/chai": { "version": "4.3.16", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==" + "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "dev": true }, "@types/debug": { "version": "4.1.12", @@ -28381,14 +28267,16 @@ "version": "9.0.11", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz", "integrity": "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==", + "dev": true, "requires": { "@types/sinonjs__fake-timers": "*" } }, "@types/sinon-chai": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.9.tgz", - "integrity": "sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", + "dev": true, "requires": { "@types/chai": "*", "@types/sinon": "*" @@ -28397,7 +28285,8 @@ "@types/sinonjs__fake-timers": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "dev": true }, "@types/ssh2": { "version": "1.11.19", @@ -29185,6 +29074,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, "requires": { "event-target-shim": "^5.0.0" } @@ -31043,12 +30933,6 @@ } } }, - "dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", - "requires": {} - }, "deep-eql": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", @@ -32599,7 +32483,8 @@ "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true }, "eventemitter3": { "version": "4.0.7", @@ -36925,9 +36810,9 @@ } }, "mongodb-redact": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.2.tgz", - "integrity": "sha512-tmgDpSBymFtKggsLzpa0vDYaqh2wEXOswBZtJkXvbPKP0ThfPwoFYXtOukactU6WZsC4RYmpSPM4P6582FR/Xw==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-0.2.3.tgz", + "integrity": "sha512-a6ZPWlC9yf6F/n6ylKyyTO2PXZeD6nPKWwBmAIlOtOH4v82DIfsgO4Bpml10/YSwFxF1+VY8NHohmxofzpB4Yw==", "requires": { "lodash": "^4.17.15" } @@ -37093,11 +36978,6 @@ "object-assign": "^4.1.0" } }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" - }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -39843,9 +39723,9 @@ } }, "socks": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.3.tgz", - "integrity": "sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "requires": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" diff --git a/package.json b/package.json index 92d9fc087..dd40df552 100644 --- a/package.json +++ b/package.json @@ -1082,10 +1082,10 @@ "@mongodb-js/connection-form": "^1.22.2", "@mongodb-js/connection-info": "^0.1.2", "@mongodb-js/mongodb-constants": "^0.10.2", - "@mongosh/browser-runtime-electron": "^2.1.1", - "@mongosh/i18n": "^2.1.1", - "@mongosh/service-provider-server": "^2.1.1", - "@mongosh/shell-api": "^2.1.1", + "@mongosh/browser-runtime-electron": "^2.2.10", + "@mongosh/i18n": "^2.2.10", + "@mongosh/service-provider-server": "^2.2.10", + "@mongosh/shell-api": "^2.2.10", "@segment/analytics-node": "^1.3.0", "bson": "^6.7.0", "bson-transpilers": "^2.2.0", @@ -1118,7 +1118,7 @@ "@mongodb-js/prettier-config-devtools": "^1.0.1", "@mongodb-js/sbom-tools": "^0.7.0", "@mongodb-js/signing-utils": "^0.3.4", - "@mongosh/service-provider-core": "^2.2.1", + "@mongosh/service-provider-core": "^2.2.10", "@testing-library/react": "^12.1.5", "@types/babel__core": "^7.20.5", "@types/babel__traverse": "^7.20.6", @@ -1133,6 +1133,7 @@ "@types/react": "^17.0.80", "@types/react-dom": "^17.0.25", "@types/sinon": "^9.0.11", + "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", "@types/vscode": "^1.90.0", "@typescript-eslint/eslint-plugin": "^5.62.0", From be91967bbc254aadf535f8fd0d80dcfe1907a366 Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Wed, 10 Jul 2024 18:40:09 +0200 Subject: [PATCH 27/33] fix: remove changelog from the bundle VSCODE-551 (#758) --- .vscodeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.vscodeignore b/.vscodeignore index edb276427..1d62e6ae0 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -18,3 +18,4 @@ webpack.test.config.js playgrounds/** resources .sbom/** +CHANGELOG.md From a504f72eeaf44cf9df3bcca35fe3e87fc7363444 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 Jul 2024 03:04:10 +0000 Subject: [PATCH 28/33] Update changelog (#759) Co-authored-by: mcasimir <334881+mcasimir@users.noreply.github.com> --- CHANGELOG.md | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc003b029..af0aab317 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## [v1.6.1](https://github.com/mongodb-js/vscode/releases/tag/untagged-7a1aaadb94bbf00b9776) - null + +Edit the release notes before publishing. + + ## [v1.6.0](https://github.com/mongodb-js/vscode/releases/tag/v1.6.0) - 2024-04-23 ## What's Changed @@ -440,18 +445,3 @@ To dig deeper please feel free to follow the links mentioned below: - Fixed indexes expanded state caching in the connection explorer panel tree view -## [v0.1.1](https://github.com/mongodb-js/vscode/releases/tag/v0.1.1) - 2020-08-10 - -### Added - -- Added a search for documents playground shortcut in the tree explorer view -- Added a copy field name right click action in a collection's schema in the tree explorer view -- Added a document count for a collection in the tree view (with hover tooltip for the full count) -- Added the ability to change the current connection when in an open playground file by using the codelens on the first line of the playground - -### Changed - -- Allow connecting to a new connection while already connecting to another connection -- Allow removing a new connection while it is connecting - - From 8b93760a3afc0511e5fb79051c33ba3b5546929e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 17:30:43 +0000 Subject: [PATCH 29/33] Update changelog (#761) Co-authored-by: alenakhineika <16307679+alenakhineika@users.noreply.github.com> --- CHANGELOG.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af0aab317..a1c14c2be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,13 @@ # Change Log -## [v1.6.1](https://github.com/mongodb-js/vscode/releases/tag/untagged-7a1aaadb94bbf00b9776) - null +## [v1.6.1](https://github.com/mongodb-js/vscode/releases/tag/v1.6.1) - 2024-07-15 -Edit the release notes before publishing. +## What's Changed +* fix: disconnect extension when server is closed VSCODE-536 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/734 +* chore(deps): bump mongosh VSCODE-548 by @mabaasit in https://github.com/mongodb-js/vscode/pull/752 +* fix: remove changelog from the bundle VSCODE-551 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/758 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.6.0...v1.6.1 ## [v1.6.0](https://github.com/mongodb-js/vscode/releases/tag/v1.6.0) - 2024-04-23 From b13dbcb0fd41aac59ee77fb8b34bc4fb23e1df68 Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Fri, 26 Jul 2024 16:31:23 +0200 Subject: [PATCH 30/33] feat(telemetry): report host_id for atlas COMPASS-8092 (#763) * feat(telemetry): report host_id for atlas in VSCode COMPASS-8092 * test: add atlas host test and clean up --- src/telemetry/connectionTelemetry.ts | 16 +-- .../telemetry/connectionTelemetry.test.ts | 113 +++++++++++++++--- 2 files changed, 107 insertions(+), 22 deletions(-) diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index bbfd3bfb2..68f09794e 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -14,6 +14,7 @@ const { version } = require('../../package.json'); export type NewConnectionTelemetryEventProperties = { auth_strategy?: string; is_atlas?: boolean; + atlas_host_id?: string | null; is_localhost?: boolean; is_data_lake?: boolean; is_enterprise?: boolean; @@ -55,12 +56,7 @@ async function getHostnameForConnection( return hostname; } -async function getCloudInfoFromDataService( - dataService: DataService -): Promise { - const hostname = await getHostnameForConnection( - dataService.getConnectionString() - ); +async function getCloudInfoFromHostname(hostname?: string): Promise { const cloudInfo: { isAws?: boolean; isAzure?: boolean; @@ -109,16 +105,20 @@ export async function getConnectionTelemetryProperties( const authMechanism = connectionString.searchParams.get('authMechanism'); const username = connectionString.username ? 'DEFAULT' : 'NONE'; const authStrategy = authMechanism ?? username; + const hostname = await getHostnameForConnection(connectionString); const [instance, cloudInfo] = await Promise.all([ dataService.instance(), - getCloudInfoFromDataService(dataService), + getCloudInfoFromHostname(hostname), ]); + const isAtlas = mongoDBBuildInfo.isAtlas(connectionString.toString()); + const atlasHostId = isAtlas ? hostname : null; preparedProperties = { ...preparedProperties, auth_strategy: authStrategy, - is_atlas: mongoDBBuildInfo.isAtlas(connectionString.toString()), + is_atlas: isAtlas, + atlas_host_id: atlasHostId, is_localhost: mongoDBBuildInfo.isLocalhost(connectionString.toString()), is_data_lake: instance.dataLake.isDataLake, is_enterprise: instance.build.isEnterprise, diff --git a/src/test/suite/telemetry/connectionTelemetry.test.ts b/src/test/suite/telemetry/connectionTelemetry.test.ts index d393cf597..6c598364b 100644 --- a/src/test/suite/telemetry/connectionTelemetry.test.ts +++ b/src/test/suite/telemetry/connectionTelemetry.test.ts @@ -1,8 +1,9 @@ -import { before, after, beforeEach, afterEach } from 'mocha'; +import { before, beforeEach, afterEach } from 'mocha'; import { connect } from 'mongodb-data-service'; import { expect } from 'chai'; import sinon from 'sinon'; import type { DataService } from 'mongodb-data-service'; +import mongoDBBuildInfo from 'mongodb-build-info'; import * as getCloudInfoModule from 'mongodb-cloud-info'; @@ -13,16 +14,14 @@ import { TEST_DATABASE_URI } from '../dbTestHelper'; suite('ConnectionTelemetry Controller Test Suite', function () { suite('with mock data service', function () { this.timeout(8000); - let dataServiceStub: DataService; const sandbox = sinon.createSandbox(); + let dataServiceStub; + let getConnectionStringStub; + let isAtlasStub; before(() => { - const getConnectionStringStub = sandbox.stub(); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - username: 'authMechanism', - } as unknown as ReturnType); + getConnectionStringStub = sandbox.stub(); + isAtlasStub = sinon.stub(mongoDBBuildInfo, 'isAtlas'); const instanceStub = sandbox.stub(); instanceStub.resolves({ @@ -46,11 +45,51 @@ suite('ConnectionTelemetry Controller Test Suite', function () { ); }); - after(() => { + afterEach(() => { sandbox.restore(); }); + test('it returns atlas_host_id hostname for atlas clusters', async () => { + isAtlasStub.returns(true); + getConnectionStringStub.returns({ + hosts: ['test-data-sets-a011bb.test.net'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + + expect(instanceTelemetry.is_atlas).to.equal(true); + expect(instanceTelemetry.atlas_host_id).to.equal( + 'test-data-sets-a011bb.test.net' + ); + }); + + test('it returns atlas_host_id null for non atlas clusters', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + + expect(instanceTelemetry.is_atlas).to.equal(false); + expect(instanceTelemetry.atlas_host_id).to.equal(null); + }); + test('it returns is_used_connect_screen true when the connection type is form', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_FORM @@ -62,6 +101,12 @@ suite('ConnectionTelemetry Controller Test Suite', function () { }); test('it returns is_used_command_palette true when the connection type is string', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING @@ -73,6 +118,12 @@ suite('ConnectionTelemetry Controller Test Suite', function () { }); test('it returns is_used_saved_connection true when the connection type is id', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_ID @@ -83,7 +134,13 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_used_saved_connection).to.equal(true); }); - test('it has is_localhost false for a remote connection', async () => { + test('it returns is_localhost false for a remote connection', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING @@ -92,22 +149,50 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_localhost).to.equal(false); }); - test('it has a default is atlas false', async () => { + test('it returns DEFAULT when auth mechanism undefined and username is specified', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + username: 'Artishok', + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); - expect(instanceTelemetry.is_atlas).to.equal(false); + expect(instanceTelemetry.auth_strategy).to.equal('DEFAULT'); }); - test('it has a default driver auth mechanism undefined', async () => { + test('it returns NONE when auth mechanism undefined and username undefined', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => null }, + } as unknown as ReturnType); + const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_STRING ); - expect(instanceTelemetry.auth_strategy).to.equal('DEFAULT'); + expect(instanceTelemetry.auth_strategy).to.equal('NONE'); + }); + + test('it returns authMechanism when specified', async () => { + isAtlasStub.returns(false); + getConnectionStringStub.returns({ + hosts: ['localhost:27088'], + searchParams: { get: () => 'SCRAM-SHA-1' }, + } as unknown as ReturnType); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + + expect(instanceTelemetry.auth_strategy).to.equal('SCRAM-SHA-1'); }); }); From 20fceb31b2591e27b568ae1cfa17840026989465 Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Mon, 29 Jul 2024 18:28:02 +0200 Subject: [PATCH 31/33] feat(telemetry): update new connection telemetry VSCODE-560 (#764) * feat(telemetry): update new connection telemetry VSCODE-560 * refactor: remove server_os * refactor: rename to atlas_hostname * docs: add comment --- package-lock.json | 977 +++++++++++++----- package.json | 26 +- src/telemetry/connectionTelemetry.ts | 131 ++- .../telemetry/connectionTelemetry.test.ts | 455 ++++++-- 4 files changed, 1178 insertions(+), 411 deletions(-) diff --git a/package-lock.json b/package-lock.json index 78d723169..377eb20f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,15 +20,15 @@ "@mongosh/service-provider-server": "^2.2.10", "@mongosh/shell-api": "^2.2.10", "@segment/analytics-node": "^1.3.0", - "bson": "^6.7.0", + "bson": "^6.8.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.5", + "debug": "^4.3.6", "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2", - "mongodb-cloud-info": "^2.1.2", + "mongodb-cloud-info": "^2.1.3", "mongodb-connection-string-url": "^3.0.1", "mongodb-data-service": "^22.21.1", "mongodb-log-writer": "^1.4.2", @@ -59,7 +59,7 @@ "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.7", + "@types/micromatch": "^4.0.9", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", @@ -68,15 +68,15 @@ "@types/sinon": "^9.0.11", "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.90.0", + "@types/vscode": "^1.91.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "@vscode/test-electron": "^2.4.0", - "@vscode/vsce": "^2.29.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.31.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.4.1", + "chai": "^4.5.0", "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", @@ -85,18 +85,18 @@ "enzyme": "^3.11.0", "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.4.3", + "eslint-plugin-mocha": "^10.5.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.5.1", + "mocha": "^10.7.0", "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.1", - "mongodb-runner": "^5.6.2", + "mongodb-runner": "^5.6.4", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", @@ -121,7 +121,7 @@ "engines": { "node": ">=16.16.0", "npm": ">=8.19.4", - "vscode": "^1.90.2" + "vscode": "^1.91.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2287,6 +2287,102 @@ "deprecated": "Use @eslint/object-schema instead", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4055,9 +4151,9 @@ } }, "node_modules/@mongodb-js/mongodb-downloader": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", - "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.3.tgz", + "integrity": "sha512-PIu8qF6J02lQsxfq8vdcfvueb8H5mrB43UaOl1E4AQMrOhm403imAZYKH61qe+7J7WzlVFck0zGI/7brHLHcNQ==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -4150,9 +4246,9 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -4668,6 +4764,16 @@ "nv": "bin/nv" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.25", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", @@ -5833,9 +5939,9 @@ } }, "node_modules/@types/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.9.tgz", + "integrity": "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==", "dev": true, "dependencies": { "@types/braces": "*" @@ -6018,9 +6124,9 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", - "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", + "version": "1.91.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.91.0.tgz", + "integrity": "sha512-PgPr+bUODjG3y+ozWUCyzttqR9EHny9sPAfJagddQjDwdtf66y2sDKJMnFZRuzBA2YtBGASqJGPil8VDUPvO6A==", "dev": true }, "node_modules/@types/webidl-conversions": { @@ -6255,13 +6361,13 @@ "dev": true }, "node_modules/@vscode/test-electron": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", - "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.1.tgz", + "integrity": "sha512-Gc6EdaLANdktQ1t+zozoBVRynfIsMKMc94Svu1QreOBC8y76x4tvaK32TljrLi1LI2+PK58sDVbL7ALdqf3VRQ==", "dev": true, "dependencies": { "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", "ora": "^7.0.1", "semver": "^7.6.2" @@ -6341,9 +6447,9 @@ } }, "node_modules/@vscode/test-electron/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "dependencies": { "agent-base": "^7.0.2", @@ -6465,9 +6571,9 @@ } }, "node_modules/@vscode/vsce": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", - "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", + "version": "2.31.1", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.31.1.tgz", + "integrity": "sha512-LwEQFKXV21C4/brvGPH/9+7ZOUM5cbK7oJ4fVmy0YG75NIy1HV8eMSoBZrl+u23NxpAhor62Cu1aI+JFtCtjSg==", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -6478,7 +6584,7 @@ "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", - "glob": "^7.0.6", + "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "leven": "^3.1.0", @@ -6488,7 +6594,7 @@ "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", - "tmp": "^0.2.1", + "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", @@ -6652,6 +6758,15 @@ "node": ">=4" } }, + "node_modules/@vscode/vsce/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@vscode/vsce/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -6699,6 +6814,44 @@ "node": ">=0.8.0" } }, + "node_modules/@vscode/vsce/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@vscode/vsce/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6708,6 +6861,15 @@ "node": ">=4" } }, + "node_modules/@vscode/vsce/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@vscode/vsce/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -7159,9 +7321,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -8111,9 +8273,9 @@ } }, "node_modules/bson": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", - "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", "engines": { "node": ">=16.20.1" } @@ -8393,9 +8555,9 @@ } }, "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -8404,7 +8566,7 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -8422,6 +8584,15 @@ "chai": ">= 2.1.2 < 6" } }, + "node_modules/chai/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9260,9 +9431,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dependencies": { "ms": "2.1.2" }, @@ -9889,9 +10060,9 @@ "optional": true }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -11104,9 +11275,9 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", - "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz", + "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -12272,6 +12443,34 @@ "node": ">=0.10.0" } }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", @@ -14667,6 +14866,24 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", @@ -16544,31 +16761,31 @@ "devOptional": true }, "node_modules/mocha": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", - "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -16634,29 +16851,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -16721,9 +16915,9 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -16786,19 +16980,10 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/mongodb": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", - "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz", + "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==", "dependencies": { "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.7.0", @@ -16890,9 +17075,9 @@ } }, "node_modules/mongodb-cloud-info": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", - "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.3.tgz", + "integrity": "sha512-SxvjPZ+4CsPhe0Now9aLpiSHmQGwm1jYu5hshBMkq3hAKnLrBuOwK/3TovY4SQl6h6Utqkx2rBHqLbO9incEZA==", "dependencies": { "cross-fetch": "^3.1.6", "gce-ips": "^1.0.2", @@ -17045,15 +17230,15 @@ } }, "node_modules/mongodb-runner": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", - "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.4.tgz", + "integrity": "sha512-pwWsei3btwq9omPLjNaERmSxwt72/OzQx1O468XBuUfhmlTJ+Ta+CIUYOX8vP3K0vSS6E/NUQBG/3ctEoLqOCA==", "dev": true, "dependencies": { - "@mongodb-js/mongodb-downloader": "^0.3.2", - "@mongodb-js/saslprep": "^1.1.7", + "@mongodb-js/mongodb-downloader": "^0.3.3", + "@mongodb-js/saslprep": "^1.1.8", "debug": "^4.3.4", - "mongodb": "^6.3.0", + "mongodb": "^6.8.0", "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, @@ -18269,6 +18454,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -18427,6 +18618,40 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -20206,9 +20431,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -21299,6 +21524,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -21392,6 +21632,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -21851,15 +22104,6 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -21954,15 +22198,12 @@ } }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/tmpl": { @@ -23147,9 +23388,9 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -23169,6 +23410,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -25149,6 +25408,71 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -26714,9 +27038,9 @@ } }, "@mongodb-js/mongodb-downloader": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.2.tgz", - "integrity": "sha512-bhMfxzaBy31RveAu7qqON3nVXRHYmxJXyC3lZI+mK+4DhagKZdGHJpMkLmHQRt+wAxMR6ldI9YlcWjHSqceIsQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.3.tgz", + "integrity": "sha512-PIu8qF6J02lQsxfq8vdcfvueb8H5mrB43UaOl1E4AQMrOhm403imAZYKH61qe+7J7WzlVFck0zGI/7brHLHcNQ==", "dev": true, "requires": { "debug": "^4.3.4", @@ -26794,9 +27118,9 @@ "requires": {} }, "@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", "requires": { "sparse-bitfield": "^3.0.3" } @@ -27194,6 +27518,13 @@ "yargs": "^16.2.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@polka/url": { "version": "1.0.0-next.25", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", @@ -28140,9 +28471,9 @@ } }, "@types/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.9.tgz", + "integrity": "sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==", "dev": true, "requires": { "@types/braces": "*" @@ -28326,9 +28657,9 @@ "dev": true }, "@types/vscode": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.90.0.tgz", - "integrity": "sha512-oT+ZJL7qHS9Z8bs0+WKf/kQ27qWYR3trsXpq46YDjFqBsMLG4ygGGjPaJ2tyrH0wJzjOEmDyg9PDJBBhWg9pkQ==", + "version": "1.91.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.91.0.tgz", + "integrity": "sha512-PgPr+bUODjG3y+ozWUCyzttqR9EHny9sPAfJagddQjDwdtf66y2sDKJMnFZRuzBA2YtBGASqJGPil8VDUPvO6A==", "dev": true }, "@types/webidl-conversions": { @@ -28474,13 +28805,13 @@ "dev": true }, "@vscode/test-electron": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.0.tgz", - "integrity": "sha512-yojuDFEjohx6Jb+x949JRNtSn6Wk2FAh4MldLE3ck9cfvCqzwxF32QsNy1T9Oe4oT+ZfFcg0uPUCajJzOmPlTA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.4.1.tgz", + "integrity": "sha512-Gc6EdaLANdktQ1t+zozoBVRynfIsMKMc94Svu1QreOBC8y76x4tvaK32TljrLi1LI2+PK58sDVbL7ALdqf3VRQ==", "dev": true, "requires": { "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", "ora": "^7.0.1", "semver": "^7.6.2" @@ -28533,9 +28864,9 @@ } }, "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "requires": { "agent-base": "^7.0.2", @@ -28614,9 +28945,9 @@ } }, "@vscode/vsce": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.29.0.tgz", - "integrity": "sha512-63+aEO8SpjE6qKiIh2Cqy/P9zC7+USElGwpEdkyPp89xIBDBr5IqeNS3zkD3mp3wZqbvHIpJsCCNu74WQirYCg==", + "version": "2.31.1", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.31.1.tgz", + "integrity": "sha512-LwEQFKXV21C4/brvGPH/9+7ZOUM5cbK7oJ4fVmy0YG75NIy1HV8eMSoBZrl+u23NxpAhor62Cu1aI+JFtCtjSg==", "dev": true, "requires": { "@azure/identity": "^4.1.0", @@ -28627,7 +28958,7 @@ "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", - "glob": "^7.0.6", + "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "keytar": "^7.7.0", @@ -28638,7 +28969,7 @@ "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", - "tmp": "^0.2.1", + "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", @@ -28655,6 +28986,15 @@ "color-convert": "^1.9.0" } }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -28693,12 +29033,43 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, + "glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "dependencies": { + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -29160,9 +29531,9 @@ "requires": {} }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-escapes": { @@ -29904,9 +30275,9 @@ } }, "bson": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.7.0.tgz", - "integrity": "sha512-w2IquM5mYzYZv6rs3uN2DZTOBe2a0zXLj53TGDqwF4l6Sz/XsISrisXOJihArF9+BZ6Cq/GjVht7Sjfmri7ytQ==" + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==" }, "bson-transpilers": { "version": "2.2.0", @@ -30097,9 +30468,9 @@ } }, "chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -30108,7 +30479,15 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" + }, + "dependencies": { + "type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true + } } }, "chai-as-promised": { @@ -30797,9 +31176,9 @@ "dev": true }, "debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "requires": { "ms": "2.1.2" }, @@ -31253,9 +31632,9 @@ "optional": true }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "diff-sequences": { @@ -32304,9 +32683,9 @@ "requires": {} }, "eslint-plugin-mocha": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.4.3.tgz", - "integrity": "sha512-emc4TVjq5Ht0/upR+psftuz6IBG5q279p+1dSRDeHf+NS9aaerBi3lXKo1SEzwC29hFIW21gO89CEWSvRsi8IQ==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz", + "integrity": "sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -33122,6 +33501,24 @@ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, + "foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "fork-ts-checker-webpack-plugin": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz", @@ -34905,6 +35302,16 @@ "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", @@ -36451,31 +36858,31 @@ "devOptional": true }, "mocha": { - "version": "10.5.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.1.tgz", - "integrity": "sha512-eq5tEnaz2kM9ade8cuGJBMh5fBb9Ih/TB+ddlmPR+wLQmwLhUwa0ovqDlg7OTfKquW0BI7NUcNWX7DH8sC+3gw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { "argparse": { @@ -36484,23 +36891,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -36543,9 +36933,9 @@ } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -36588,12 +36978,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true } } }, @@ -36632,9 +37016,9 @@ } }, "mongodb": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", - "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.8.0.tgz", + "integrity": "sha512-HGQ9NWDle5WvwMnrvUxsFYPd3JEbqD3RgABHBQRuoCEND0qzhsd0iH5ypHsf1eJ+sXmvmyKpP+FLOKY8Il7jMw==", "requires": { "@mongodb-js/saslprep": "^1.1.5", "bson": "^6.7.0", @@ -36683,9 +37067,9 @@ } }, "mongodb-cloud-info": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.2.tgz", - "integrity": "sha512-t5i0Q/PrUE2ZfFMWEJFyCSDPSmeTKKiwGIkMEpBeNH0Qv0gnVzp6hJ8EWGzcdhLnk7kgHj0x5O7V5oy+emGoAg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mongodb-cloud-info/-/mongodb-cloud-info-2.1.3.tgz", + "integrity": "sha512-SxvjPZ+4CsPhe0Now9aLpiSHmQGwm1jYu5hshBMkq3hAKnLrBuOwK/3TovY4SQl6h6Utqkx2rBHqLbO9incEZA==", "requires": { "cross-fetch": "^3.1.6", "gce-ips": "^1.0.2", @@ -36818,15 +37202,15 @@ } }, "mongodb-runner": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.2.tgz", - "integrity": "sha512-6XF3iGXswbJy8TC4VgYPVxnrMiUTJ7iaehE+Hiox2sZL2y3b6aNKkrD3Rt2w6nO0JKnwlR/mukyXbMlz2Zmuvw==", + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.4.tgz", + "integrity": "sha512-pwWsei3btwq9omPLjNaERmSxwt72/OzQx1O468XBuUfhmlTJ+Ta+CIUYOX8vP3K0vSS6E/NUQBG/3ctEoLqOCA==", "dev": true, "requires": { - "@mongodb-js/mongodb-downloader": "^0.3.2", - "@mongodb-js/saslprep": "^1.1.7", + "@mongodb-js/mongodb-downloader": "^0.3.3", + "@mongodb-js/saslprep": "^1.1.8", "debug": "^4.3.4", - "mongodb": "^6.3.0", + "mongodb": "^6.8.0", "mongodb-connection-string-url": "^3.0.0", "yargs": "^17.7.2" }, @@ -37770,6 +38154,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -37894,6 +38284,30 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "dependencies": { + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -39257,9 +39671,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -40143,6 +40557,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -40212,6 +40637,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -40571,15 +41005,6 @@ "supports-color": "^8.0.0" } }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -40654,13 +41079,10 @@ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==" }, "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true }, "tmpl": { "version": "1.0.5", @@ -41557,9 +41979,9 @@ "dev": true }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -41573,6 +41995,17 @@ "strip-ansi": "^6.0.0" } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index dd40df552..d1c2d4cd8 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "create-vulnerability-tickets": "mongodb-sbom-tools generate-vulnerability-report --snyk-reports=.sbom/snyk-test-result.json --dependencies=.sbom/dependencies.json --create-jira-issues" }, "engines": { - "vscode": "^1.90.2", + "vscode": "^1.91.1", "node": ">=16.16.0", "npm": ">=8.19.4" }, @@ -1087,15 +1087,15 @@ "@mongosh/service-provider-server": "^2.2.10", "@mongosh/shell-api": "^2.2.10", "@segment/analytics-node": "^1.3.0", - "bson": "^6.7.0", + "bson": "^6.8.0", "bson-transpilers": "^2.2.0", - "debug": "^4.3.5", + "debug": "^4.3.6", "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.7", - "mongodb": "^6.7.0", + "mongodb": "^6.8.0", "mongodb-build-info": "^1.7.2", - "mongodb-cloud-info": "^2.1.2", + "mongodb-cloud-info": "^2.1.3", "mongodb-connection-string-url": "^3.0.1", "mongodb-data-service": "^22.21.1", "mongodb-log-writer": "^1.4.2", @@ -1126,7 +1126,7 @@ "@types/debug": "^4.1.12", "@types/glob": "^7.2.0", "@types/jest": "^26.0.24", - "@types/micromatch": "^4.0.7", + "@types/micromatch": "^4.0.9", "@types/mkdirp": "^2.0.0", "@types/mocha": "^8.2.3", "@types/node": "^14.18.63", @@ -1135,15 +1135,15 @@ "@types/sinon": "^9.0.11", "@types/sinon-chai": "^3.2.12", "@types/uuid": "^8.3.4", - "@types/vscode": "^1.90.0", + "@types/vscode": "^1.91.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "@vscode/test-electron": "^2.4.0", - "@vscode/vsce": "^2.29.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.31.1", "@wojtekmaj/enzyme-adapter-react-17": "^0.8.0", "autoprefixer": "^10.4.19", "buffer": "^6.0.3", - "chai": "^4.4.1", + "chai": "^4.5.0", "chai-as-promised": "^7.1.2", "cross-env": "^7.0.3", "crypto-browserify": "^3.12.0", @@ -1152,18 +1152,18 @@ "enzyme": "^3.11.0", "eslint": "^8.57.0", "eslint-config-mongodb-js": "^5.0.3", - "eslint-plugin-mocha": "^10.4.3", + "eslint-plugin-mocha": "^10.5.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "glob": "^7.2.3", "jest": "^26.6.3", "jest-junit": "^12.3.0", "jest-transform-stub": "^2.0.0", "mkdirp": "^1.0.4", - "mocha": "^10.5.1", + "mocha": "^10.7.0", "mocha-junit-reporter": "^2.2.1", "mocha-multi": "^1.1.7", "mongodb-client-encryption": "^6.0.1", - "mongodb-runner": "^5.6.2", + "mongodb-runner": "^5.6.4", "node-fetch": "^2.7.0", "node-loader": "^0.6.0", "npm-run-all": "^4.1.5", diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index 68f09794e..58cf32dc5 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -6,6 +6,7 @@ import resolveMongodbSrv from 'resolve-mongodb-srv'; import { ConnectionTypes } from '../connectionController'; import { createLogger } from '../logging'; import ConnectionString from 'mongodb-connection-string-url'; +import type { TopologyType } from 'mongodb'; const log = createLogger('connection telemetry helper'); // eslint-disable-next-line @typescript-eslint/no-var-requires @@ -14,38 +15,40 @@ const { version } = require('../../package.json'); export type NewConnectionTelemetryEventProperties = { auth_strategy?: string; is_atlas?: boolean; - atlas_host_id?: string | null; - is_localhost?: boolean; + is_local_atlas?: boolean; + atlas_hostname?: string | null; is_data_lake?: boolean; is_enterprise?: boolean; - is_public_cloud?: boolean; dl_version?: string | null; - public_cloud_name?: string | null; is_genuine?: boolean; non_genuine_server_name?: string | null; server_version?: string; server_arch?: string; - server_os?: string; + server_os_family?: string; is_used_connect_screen?: boolean; is_used_command_palette?: boolean; is_used_saved_connection?: boolean; vscode_mdb_extension_version?: string; -}; + topology_type?: TopologyType; +} & HostInformation; -type CloudInfo = { - isPublicCloud?: boolean; - publicCloudName?: string | null; +export type HostInformation = { + is_localhost?: boolean; + is_atlas_url?: boolean; + is_do_url?: boolean; // Is digital ocean url. + is_public_cloud?: boolean; + public_cloud_name?: string; }; async function getHostnameForConnection( connectionStringData: ConnectionString -): Promise { +): Promise { if (connectionStringData.isSRV) { const uri = await resolveMongodbSrv(connectionStringData.toString()).catch( () => null ); if (!uri) { - return undefined; + return null; } connectionStringData = new ConnectionString(uri, { looseValidation: true, @@ -56,35 +59,71 @@ async function getHostnameForConnection( return hostname; } -async function getCloudInfoFromHostname(hostname?: string): Promise { - const cloudInfo: { - isAws?: boolean; - isAzure?: boolean; - isGcp?: boolean; - } = await getCloudInfo(hostname); +async function getPublicCloudInfo(host: string): Promise<{ + public_cloud_name?: string; + is_public_cloud?: boolean; +}> { + try { + const { isAws, isAzure, isGcp } = await getCloudInfo(host); + let publicCloudName; + + if (isAws) { + publicCloudName = 'AWS'; + } else if (isAzure) { + publicCloudName = 'Azure'; + } else if (isGcp) { + publicCloudName = 'GCP'; + } + + if (publicCloudName === undefined) { + return { is_public_cloud: false }; + } + + return { + is_public_cloud: true, + public_cloud_name: publicCloudName, + }; + } catch (err) { + return {}; + } +} - if (cloudInfo.isAws) { +async function getHostInformation( + host: string | null +): Promise { + if (!host) { return { - isPublicCloud: true, - publicCloudName: 'aws', + is_do_url: false, + is_atlas_url: false, + is_localhost: false, }; } - if (cloudInfo.isGcp) { + + if (mongoDBBuildInfo.isLocalhost(host)) { return { - isPublicCloud: true, - publicCloudName: 'gcp', + is_public_cloud: false, + is_do_url: false, + is_atlas_url: false, + is_localhost: true, }; } - if (cloudInfo.isAzure) { + + if (mongoDBBuildInfo.isDigitalOcean(host)) { return { - isPublicCloud: true, - publicCloudName: 'azure', + is_localhost: false, + is_public_cloud: false, + is_atlas_url: false, + is_do_url: true, }; } + const publicCloudInfo = await getPublicCloudInfo(host); + return { - isPublicCloud: false, - publicCloudName: null, + is_localhost: false, + is_do_url: false, + is_atlas_url: mongoDBBuildInfo.isAtlas(host), + ...publicCloudInfo, }; } @@ -105,31 +144,27 @@ export async function getConnectionTelemetryProperties( const authMechanism = connectionString.searchParams.get('authMechanism'); const username = connectionString.username ? 'DEFAULT' : 'NONE'; const authStrategy = authMechanism ?? username; - const hostname = await getHostnameForConnection(connectionString); - - const [instance, cloudInfo] = await Promise.all([ - dataService.instance(), - getCloudInfoFromHostname(hostname), - ]); - const isAtlas = mongoDBBuildInfo.isAtlas(connectionString.toString()); - const atlasHostId = isAtlas ? hostname : null; + const resolvedHostname = await getHostnameForConnection(connectionString); + const { dataLake, genuineMongoDB, host, build, isAtlas, isLocalAtlas } = + await dataService.instance(); + const atlasHostname = isAtlas ? resolvedHostname : null; preparedProperties = { ...preparedProperties, + ...(await getHostInformation(resolvedHostname)), auth_strategy: authStrategy, is_atlas: isAtlas, - atlas_host_id: atlasHostId, - is_localhost: mongoDBBuildInfo.isLocalhost(connectionString.toString()), - is_data_lake: instance.dataLake.isDataLake, - is_enterprise: instance.build.isEnterprise, - is_public_cloud: cloudInfo.isPublicCloud, - dl_version: instance.dataLake.version, - public_cloud_name: cloudInfo.publicCloudName, - is_genuine: instance.genuineMongoDB.isGenuine, - non_genuine_server_name: instance.genuineMongoDB.dbType, - server_version: instance.build.version, - server_arch: instance.host.arch, - server_os: instance.host.os, + atlas_hostname: atlasHostname, + is_local_atlas: isLocalAtlas, + is_data_lake: dataLake.isDataLake, + dl_version: dataLake.version, + is_enterprise: build.isEnterprise, + is_genuine: genuineMongoDB.isGenuine, + non_genuine_server_name: genuineMongoDB.dbType, + server_version: build.version, + server_arch: host.arch, + server_os_family: host.os_family, + topology_type: dataService.getCurrentTopologyType(), }; } catch (error) { log.error('Getting connection telemetry properties failed', error); diff --git a/src/test/suite/telemetry/connectionTelemetry.test.ts b/src/test/suite/telemetry/connectionTelemetry.test.ts index 6c598364b..47d51dde6 100644 --- a/src/test/suite/telemetry/connectionTelemetry.test.ts +++ b/src/test/suite/telemetry/connectionTelemetry.test.ts @@ -3,76 +3,114 @@ import { connect } from 'mongodb-data-service'; import { expect } from 'chai'; import sinon from 'sinon'; import type { DataService } from 'mongodb-data-service'; -import mongoDBBuildInfo from 'mongodb-build-info'; - -import * as getCloudInfoModule from 'mongodb-cloud-info'; import { ConnectionTypes } from '../../../connectionController'; import { getConnectionTelemetryProperties } from '../../../telemetry/connectionTelemetry'; import { TEST_DATABASE_URI } from '../dbTestHelper'; +import ConnectionString from 'mongodb-connection-string-url'; + suite('ConnectionTelemetry Controller Test Suite', function () { suite('with mock data service', function () { this.timeout(8000); const sandbox = sinon.createSandbox(); let dataServiceStub; let getConnectionStringStub; - let isAtlasStub; + let instanceStub; before(() => { getConnectionStringStub = sandbox.stub(); - isAtlasStub = sinon.stub(mongoDBBuildInfo, 'isAtlas'); - - const instanceStub = sandbox.stub(); - instanceStub.resolves({ - dataLake: {}, - build: {}, - genuineMongoDB: {}, - host: {}, - } as unknown as Awaited>); - + instanceStub = sandbox.stub(); dataServiceStub = { + getCurrentTopologyType: sandbox.stub(), getConnectionString: getConnectionStringStub, instance: instanceStub, } as unknown as DataService; - - sandbox.stub(getCloudInfoModule, 'getCloudInfo').callsFake(() => - Promise.resolve({ - isAws: false, - isGcp: false, - isAzure: false, - }) - ); }); afterEach(() => { sandbox.restore(); }); - test('it returns atlas_host_id hostname for atlas clusters', async () => { - isAtlasStub.returns(true); - getConnectionStringStub.returns({ - hosts: ['test-data-sets-a011bb.test.net'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks public cloud info', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://13.64.151.161') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, ConnectionTypes.CONNECTION_FORM ); - expect(instanceTelemetry.is_atlas).to.equal(true); - expect(instanceTelemetry.atlas_host_id).to.equal( - 'test-data-sets-a011bb.test.net' + expect(instanceTelemetry.is_public_cloud).to.equal(true); + expect(instanceTelemetry.public_cloud_name).to.equal('Azure'); + }); + + test('it tracks non public cloud info', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM ); + + expect(instanceTelemetry.is_public_cloud).to.equal(false); }); - test('it returns atlas_host_id null for non atlas clusters', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks atlas local dev', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: false, + isLocalAtlas: true, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -80,15 +118,97 @@ suite('ConnectionTelemetry Controller Test Suite', function () { ); expect(instanceTelemetry.is_atlas).to.equal(false); - expect(instanceTelemetry.atlas_host_id).to.equal(null); + expect(instanceTelemetry.atlas_hostname).to.equal(null); + expect(instanceTelemetry.is_atlas_url).to.equal(false); + expect(instanceTelemetry.is_local_atlas).to.equal(true); + }); + + test('it tracks atlas', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + isAtlas: true, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://test-data-sets-a011bb.mongodb.net') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_FORM + ); + + expect(instanceTelemetry.is_atlas).to.equal(true); + expect(instanceTelemetry.atlas_hostname).to.equal( + 'test-data-sets-a011bb.mongodb.net' + ); + expect(instanceTelemetry.is_atlas_url).to.equal(true); + expect(instanceTelemetry.is_local_atlas).to.equal(false); + }); + + test('it tracks digital ocean', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + + expect(instanceTelemetry.is_localhost).to.equal(false); + expect(instanceTelemetry.is_atlas_url).to.equal(false); + expect(instanceTelemetry.is_do_url).to.equal(true); + expect(instanceTelemetry.is_genuine).to.equal(true); }); - test('it returns is_used_connect_screen true when the connection type is form', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks is_used_connect_screen true when the connection type is form', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -100,12 +220,25 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_used_saved_connection).to.equal(false); }); - test('it returns is_used_command_palette true when the connection type is string', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks is_used_command_palette true when the connection type is string', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -117,12 +250,25 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_used_saved_connection).to.equal(false); }); - test('it returns is_used_saved_connection true when the connection type is id', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks is_used_saved_connection true when the connection type is id', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -134,12 +280,25 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_used_saved_connection).to.equal(true); }); - test('it returns is_localhost false for a remote connection', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + test('it tracks is_localhost false for a remote connection', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -149,13 +308,125 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_localhost).to.equal(false); }); + test('it tracks is_localhost true for a local connection', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + + expect(instanceTelemetry.is_localhost).to.equal(true); + }); + + test('it tracks server info for ubuntu', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: '1.2.3', + }, + genuineMongoDB: { + dbType: 'mongo_2', + isGenuine: true, + }, + host: { + arch: 'debian', + os_family: 'ubuntu', + }, + build: { + isEnterprise: false, + version: '4.3.9', + }, + isAtlas: false, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://127.0.0.1') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + + expect(instanceTelemetry.server_version).to.equal('4.3.9'); + expect(instanceTelemetry.server_arch).to.equal('debian'); + expect(instanceTelemetry.server_os_family).to.equal('ubuntu'); + }); + + test('it tracks server info for mac', async () => { + instanceStub.resolves({ + dataLake: { + isDataLake: true, + version: '1.2.3', + }, + genuineMongoDB: { + dbType: 'mongo', + isGenuine: false, + }, + host: { + arch: 'darwin', + os_family: 'mac', + }, + build: { + isEnterprise: true, + version: '4.3.2', + }, + isAtlas: false, + isLocalAtlas: false, + featureCompatibilityVersion: null, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://127.0.0.1') + ); + + const instanceTelemetry = await getConnectionTelemetryProperties( + dataServiceStub, + ConnectionTypes.CONNECTION_STRING + ); + + expect(instanceTelemetry.server_version).to.equal('4.3.2'); + expect(instanceTelemetry.server_arch).to.equal('darwin'); + expect(instanceTelemetry.server_os_family).to.equal('mac'); + }); + test('it returns DEFAULT when auth mechanism undefined and username is specified', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - username: 'Artishok', - } as unknown as ReturnType); + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://artishok:pass@localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -166,11 +437,24 @@ suite('ConnectionTelemetry Controller Test Suite', function () { }); test('it returns NONE when auth mechanism undefined and username undefined', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => null }, - } as unknown as ReturnType); + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString('mongodb://localhost:27017') + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -181,11 +465,26 @@ suite('ConnectionTelemetry Controller Test Suite', function () { }); test('it returns authMechanism when specified', async () => { - isAtlasStub.returns(false); - getConnectionStringStub.returns({ - hosts: ['localhost:27088'], - searchParams: { get: () => 'SCRAM-SHA-1' }, - } as unknown as ReturnType); + instanceStub.resolves({ + dataLake: { + isDataLake: false, + version: 'na', + }, + genuineMongoDB: { + dbType: 'na', + isGenuine: true, + }, + host: {}, + build: { + isEnterprise: false, + version: 'na', + }, + }); + getConnectionStringStub.returns( + new ConnectionString( + 'mongodb://foo:bar@localhost:27017/?authSource=source&authMechanism=SCRAM-SHA-1' + ) + ); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, From 3acde059a9b744c6fa551344dff826bc2ffa7c39 Mon Sep 17 00:00:00 2001 From: Alena Khineika Date: Thu, 1 Aug 2024 13:43:31 +0200 Subject: [PATCH 32/33] refactor(telemetry): use resolved srv from topology VSCODE-563 (#765) --- package-lock.json | 11 ++- package.json | 1 - src/telemetry/connectionTelemetry.ts | 27 ++----- .../telemetry/connectionTelemetry.test.ts | 80 ++++++++++++++++++- 4 files changed, 95 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 377eb20f4..566ca0dc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,6 @@ "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", @@ -19768,6 +19767,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", + "optional": true, "dependencies": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -19779,6 +19779,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "optional": true, "dependencies": { "punycode": "^2.1.1" }, @@ -19790,6 +19791,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "optional": true, "engines": { "node": ">=12" } @@ -19798,6 +19800,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "optional": true, "dependencies": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" @@ -39164,6 +39167,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/resolve-mongodb-srv/-/resolve-mongodb-srv-1.1.5.tgz", "integrity": "sha512-flu1XTSLDJHvTnWu2aJh2w9jgGPcNYJn2obMkuzXiyWSz0MLXu9IRCjvirJ4zRoCPHJJPt3uLQVNJTrzFRWd1w==", + "optional": true, "requires": { "whatwg-url": "^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0" }, @@ -39172,6 +39176,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "optional": true, "requires": { "punycode": "^2.1.1" } @@ -39179,12 +39184,14 @@ "webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "optional": true }, "whatwg-url": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "optional": true, "requires": { "tr46": "^3.0.0", "webidl-conversions": "^7.0.0" diff --git a/package.json b/package.json index d1c2d4cd8..82c58dec3 100644 --- a/package.json +++ b/package.json @@ -1104,7 +1104,6 @@ "numeral": "^2.0.6", "react": "^17.0.2", "react-dom": "^17.0.2", - "resolve-mongodb-srv": "^1.1.5", "ts-log": "^2.2.5", "uuid": "^8.3.2", "vscode-languageclient": "^8.1.0", diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index 58cf32dc5..24617ce6e 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -1,11 +1,8 @@ import type { DataService } from 'mongodb-data-service'; -import { getCloudInfo } from 'mongodb-cloud-info'; import mongoDBBuildInfo from 'mongodb-build-info'; -import resolveMongodbSrv from 'resolve-mongodb-srv'; import { ConnectionTypes } from '../connectionController'; import { createLogger } from '../logging'; -import ConnectionString from 'mongodb-connection-string-url'; import type { TopologyType } from 'mongodb'; const log = createLogger('connection telemetry helper'); @@ -40,22 +37,10 @@ export type HostInformation = { public_cloud_name?: string; }; -async function getHostnameForConnection( - connectionStringData: ConnectionString -): Promise { - if (connectionStringData.isSRV) { - const uri = await resolveMongodbSrv(connectionStringData.toString()).catch( - () => null - ); - if (!uri) { - return null; - } - connectionStringData = new ConnectionString(uri, { - looseValidation: true, - }); - } - - const [hostname] = (connectionStringData.hosts[0] ?? '').split(':'); +function getHostnameForConnection(dataService: DataService): string | null { + const lastSeenTopology = dataService.getLastSeenTopology(); + const resolvedHost = lastSeenTopology?.servers.values().next().value.address; + const [hostname] = (resolvedHost ?? '').split(':'); return hostname; } @@ -64,6 +49,7 @@ async function getPublicCloudInfo(host: string): Promise<{ is_public_cloud?: boolean; }> { try { + const { getCloudInfo } = await import('mongodb-cloud-info'); const { isAws, isAzure, isGcp } = await getCloudInfo(host); let publicCloudName; @@ -84,6 +70,7 @@ async function getPublicCloudInfo(host: string): Promise<{ public_cloud_name: publicCloudName, }; } catch (err) { + // Cannot resolve dns used by mongodb-cloud-info in the browser environment. return {}; } } @@ -144,7 +131,7 @@ export async function getConnectionTelemetryProperties( const authMechanism = connectionString.searchParams.get('authMechanism'); const username = connectionString.username ? 'DEFAULT' : 'NONE'; const authStrategy = authMechanism ?? username; - const resolvedHostname = await getHostnameForConnection(connectionString); + const resolvedHostname = getHostnameForConnection(dataService); const { dataLake, genuineMongoDB, host, build, isAtlas, isLocalAtlas } = await dataService.instance(); const atlasHostname = isAtlas ? resolvedHostname : null; diff --git a/src/test/suite/telemetry/connectionTelemetry.test.ts b/src/test/suite/telemetry/connectionTelemetry.test.ts index 47d51dde6..bddf1763e 100644 --- a/src/test/suite/telemetry/connectionTelemetry.test.ts +++ b/src/test/suite/telemetry/connectionTelemetry.test.ts @@ -16,14 +16,17 @@ suite('ConnectionTelemetry Controller Test Suite', function () { const sandbox = sinon.createSandbox(); let dataServiceStub; let getConnectionStringStub; + let getLastSeenTopology; let instanceStub; before(() => { getConnectionStringStub = sandbox.stub(); + getLastSeenTopology = sandbox.stub(); instanceStub = sandbox.stub(); dataServiceStub = { getCurrentTopologyType: sandbox.stub(), getConnectionString: getConnectionStringStub, + getLastSeenTopology: getLastSeenTopology, instance: instanceStub, } as unknown as DataService; }); @@ -51,6 +54,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://13.64.151.161') ); + getLastSeenTopology.returns({ + servers: new Map().set('13.64.151.161', { + address: '13.64.151.161', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -80,6 +88,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -111,6 +124,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -145,6 +163,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://test-data-sets-a011bb.mongodb.net') ); + getLastSeenTopology.returns({ + servers: new Map().set('test-data-sets-00-02-a011bb.mongodb.net', { + address: 'test-data-sets-00-02-a011bb.mongodb.net', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -153,7 +176,7 @@ suite('ConnectionTelemetry Controller Test Suite', function () { expect(instanceTelemetry.is_atlas).to.equal(true); expect(instanceTelemetry.atlas_hostname).to.equal( - 'test-data-sets-a011bb.mongodb.net' + 'test-data-sets-00-02-a011bb.mongodb.net' ); expect(instanceTelemetry.is_atlas_url).to.equal(true); expect(instanceTelemetry.is_local_atlas).to.equal(false); @@ -178,6 +201,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('example.mongo.ondigitalocean.com:27017', { + address: 'example.mongo.ondigitalocean.com:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -209,6 +237,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -239,6 +272,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -269,6 +307,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -299,6 +342,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://example.mongo.ondigitalocean.com:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('example.mongo.ondigitalocean.com:27017', { + address: 'example.mongo.ondigitalocean.com:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -327,6 +375,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -361,6 +414,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://127.0.0.1') ); + getLastSeenTopology.returns({ + servers: new Map().set('127.0.0.1', { + address: '127.0.0.1', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -397,6 +455,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://127.0.0.1') ); + getLastSeenTopology.returns({ + servers: new Map().set('127.0.0.1', { + address: '127.0.0.1', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -427,6 +490,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://artishok:pass@localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -455,6 +523,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { getConnectionStringStub.returns( new ConnectionString('mongodb://localhost:27017') ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, @@ -485,6 +558,11 @@ suite('ConnectionTelemetry Controller Test Suite', function () { 'mongodb://foo:bar@localhost:27017/?authSource=source&authMechanism=SCRAM-SHA-1' ) ); + getLastSeenTopology.returns({ + servers: new Map().set('localhost:27017', { + address: 'localhost:27017', + }), + }); const instanceTelemetry = await getConnectionTelemetryProperties( dataServiceStub, From 03c360c33287b5bfd3538820788cc1e41ad73c7b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:54:49 +0000 Subject: [PATCH 33/33] Update changelog (#766) Co-authored-by: alenakhineika <16307679+alenakhineika@users.noreply.github.com> --- CHANGELOG.md | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1c14c2be..597a75947 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## [v1.7.0](https://github.com/mongodb-js/vscode/releases/tag/v1.7.0) - 2024-08-01 + +## What's Changed +* feat(telemetry): update connection telemetry VSCODE-560 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/764 +* refactor(telemetry): use resolved srv from topology VSCODE-563 by @alenakhineika in https://github.com/mongodb-js/vscode/pull/765 + +**Full Changelog**: https://github.com/mongodb-js/vscode/compare/v1.6.1...v1.7.0 + + ## [v1.6.1](https://github.com/mongodb-js/vscode/releases/tag/v1.6.1) - 2024-07-15 ## What's Changed @@ -437,16 +446,3 @@ To dig deeper please feel free to follow the links mentioned below: - Added a tooltip to fields in a collection's schema to show types found in the sampling for that field [#179](https://github.com/mongodb-js/vscode/pull/179) -## [v0.2.0](https://github.com/mongodb-js/vscode/releases/tag/v0.2.0) - 2020-10-01 - -### Added -- Added a Playgrounds panel that displays `.mongodb` playground files in the current VSCode workspace -- Added a setting to configure which folders and files are excluded from the playgrounds panel file searching -- Added a help and resources panel to the explorer with links to documentation and feedback portals -- Added a button to the indexes folder in the tree view which creates a playground prefilled with an index creation script -### Changed -- Updated our mongosh dependency to 0.4.2 to bring more functionality to playgrounds -### Fixed -- Fixed indexes expanded state caching in the connection explorer panel tree view - -