From 12f2be14ab71e785017a5d1bfca8f2f0f78ec8bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Aug 2021 17:25:24 +0000 Subject: [PATCH 01/33] build(deps): bump react-hook-form from 7.14.1 to 7.14.2 in /client (#191) Bumps [react-hook-form](https://github.com/react-hook-form/react-hook-form) from 7.14.1 to 7.14.2. - [Release notes](https://github.com/react-hook-form/react-hook-form/releases) - [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md) - [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.14.1...v7.14.2) --- updated-dependencies: - dependency-name: react-hook-form dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index c0b479f68..9c9ae1829 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -16814,9 +16814,9 @@ } }, "react-hook-form": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.14.1.tgz", - "integrity": "sha512-NcKsxUokZhvpKBdxjnpIn/9v6IlmML63I3PI5aWlnI75ptswYvQeIaaOK8fMohr9Z2HZeeiYBjYDlv+ooffI4Q==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.14.2.tgz", + "integrity": "sha512-32uvgKkaE/0vOncfnJdwQhfahhocPpcb5c7F4j9Eq7dOnqS2Hg8h70Bmt6KXb6veLSWJultc1+ik9QSfqXFmLA==" }, "react-icons": { "version": "4.2.0", diff --git a/client/package.json b/client/package.json index c9191c74e..e6cbd4bce 100644 --- a/client/package.json +++ b/client/package.json @@ -26,7 +26,7 @@ "react-ga": "^3.3.0", "react-google-recaptcha": "^2.1.0", "react-helmet": "6.1.0", - "react-hook-form": "^7.14.1", + "react-hook-form": "^7.14.2", "react-icons": "^4.2.0", "react-query": "^3.21.1", "react-router-dom": "^5.2.1", From 1bce5eabd7762cfb6448b37752a2a72eec417d5b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Sep 2021 02:51:39 +0000 Subject: [PATCH 02/33] build(deps-dev): bump eslint-plugin-prettier in /server (#188) --- server/package-lock.json | 6 +++--- server/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 84db95ed0..68b817e68 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -5640,9 +5640,9 @@ "dev": true }, "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" diff --git a/server/package.json b/server/package.json index b1e63ce55..0deaa3bdd 100644 --- a/server/package.json +++ b/server/package.json @@ -70,7 +70,7 @@ "cz-conventional-changelog": "^3.3.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "^3.4.1", + "eslint-plugin-prettier": "^4.0.0", "jest": "^27.1.0", "lint-staged": "^11.1.2", "neat-csv": "^6.0.1", From d9224b9e76f8338fd4792d54e0513ee7536c4838 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Sep 2021 02:51:46 +0000 Subject: [PATCH 03/33] build(deps-dev): bump eslint-plugin-prettier in /client (#190) --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 9c9ae1829..1f6c7e859 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -7963,9 +7963,9 @@ } }, "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" diff --git a/client/package.json b/client/package.json index e6cbd4bce..0a9d87c83 100644 --- a/client/package.json +++ b/client/package.json @@ -72,7 +72,7 @@ "babel-eslint": "^10.1.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "^3.4.1", + "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.25.1", "lint-staged": "^11.1.2", "prettier": "^2.2.1", From 27b6ccfa76f41217405351a9b2aa6ee82a86070c Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Wed, 1 Sep 2021 14:25:43 +0800 Subject: [PATCH 04/33] docs(readme): leave DBeaver to last, not needed to start (#193) --- README.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4a0713bc3..dc77392dd 100644 --- a/README.md +++ b/README.md @@ -60,17 +60,12 @@ Optionally [VSCode](https://code.visualstudio.com/) with extension `ESLint` * Spin up MySQL by running `docker-compose up` -* Download a database GUI like [DBeaver](https://dbeaver.io/download/) and connect to the local MySQL server - - Create database by executing the following in `DBeaver`: - ```sql - CREATE DATABASE askgov; - ``` - * Execute `npm run seq-cli db:migrate` to create the tables * Execute `npm run seq-cli db:seed:all` to seed the database with a sample dataset +* Download a database GUI like [DBeaver](https://dbeaver.io/download/) and connect to the local MySQL server at `127.0.0.1:3006`, using the username and password in `.env` + * Check that your Database ER Diagram looks like this: ![image](https://user-images.githubusercontent.com/20250559/130938844-60255d06-d07d-4c84-ad3f-0c13be7dcb67.png) From 594b3244c4d4b0db6e66da77aa4e3c931636fc2e Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Wed, 1 Sep 2021 14:49:37 +0800 Subject: [PATCH 05/33] refactor(answers): type controllers as ControllerHandler (#185) * refactor(answers): type controllers as controllerHandler * docs(answers): add jsdoc and update readme --- README.md | 1 + .../src/modules/answers/answers.controller.ts | 74 +++++++++++--- server/src/modules/answers/answers.routes.ts | 42 +++++--- server/src/modules/answers/answers.service.ts | 96 ++++++++++++------- 4 files changed, 151 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index dc77392dd..e0f26a50b 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,7 @@ Optionally [VSCode](https://code.visualstudio.com/) with extension `ESLint` - `GET /posts/answers/:id` - `POST /posts/answers/:id` +- `PUT /posts/answers/:id` - `DELETE /posts/answers/:id` #### Tags diff --git a/server/src/modules/answers/answers.controller.ts b/server/src/modules/answers/answers.controller.ts index 305bd1689..81b1c095f 100644 --- a/server/src/modules/answers/answers.controller.ts +++ b/server/src/modules/answers/answers.controller.ts @@ -1,9 +1,10 @@ import { validationResult } from 'express-validator' import { AnswersService } from './answers.service' import { AuthService } from '../auth/auth.service' -import { Request, Response } from 'express' import { createLogger } from '../../bootstrap/logging' import { StatusCodes } from 'http-status-codes' +import { ControllerHandler } from '../../types/response-handler' +import { Message } from '../../types/message-type' const logger = createLogger(module) @@ -22,9 +23,25 @@ export class AnswersController { this.authService = authService } - getAnswers = async (req: Request, res: Response): Promise => { + /** + * Lists all answers to a post + * @param postId id of the post + * @returns 200 with array of answers + * @returns 500 if database error occurs + */ + listAnswers: ControllerHandler< + { id: string }, + | { + body: string + username: string + userId: string + agencyLogo: string + }[] + | undefined + | Message + > = async (req, res) => { try { - const answers = await this.answersService.retrieveAll(req.params.id) + const answers = await this.answersService.listAnswers(req.params.id) return res.status(StatusCodes.OK).json(answers) } catch (error) { logger.error({ @@ -41,7 +58,22 @@ export class AnswersController { } } - addAnswer = async (req: Request, res: Response): Promise => { + /** + * Create an answer attached to a post + * @param postId id of post to attach to + * @body text answer text + * @returns 200 with new answer id + * @returns 400 if invalid request + * @returns 401 if user not signed in + * @returns 403 if user is not authorized to answer question + * @returns 500 if database error + */ + createAnswer: ControllerHandler< + { id: string }, + string | Message, + { text: string }, + undefined + > = async (req, res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res @@ -89,10 +121,20 @@ export class AnswersController { } } - updateAnswer = async ( - req: Request, - res: Response, - ): Promise => { + /** + * Update an answer + * @param id id of answer to update + * @body text answer text + * @returns 200 with number of rows changed in answer database + * @returns 400 if invalid request + * @returns 500 if database error + */ + updateAnswer: ControllerHandler< + { id: string }, + number | Message, + { text: string }, + undefined + > = async (req, res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res @@ -101,7 +143,7 @@ export class AnswersController { } try { // Update Answer in the database - const data = await this.answersService.update({ + const data = await this.answersService.updateAnswer({ body: req.body.text, id: req.params.id, }) @@ -121,9 +163,19 @@ export class AnswersController { } } - deleteAnswer = async (req: Request, res: Response): Promise => { + /** + * Delete an answer. Currently not used as a post delete + * will archive the post and will not touch the answer. + * @param id of answer to delete + * @returns 200 on successful delete + * @returns 500 on database error + */ + deleteAnswer: ControllerHandler<{ id: string }, Message> = async ( + req, + res, + ) => { try { - await this.answersService.remove(req.params.id) + await this.answersService.deleteAnswer(req.params.id) return res.status(StatusCodes.OK).end() } catch (error) { logger.error({ diff --git a/server/src/modules/answers/answers.routes.ts b/server/src/modules/answers/answers.routes.ts index a04ae01c7..cb7aefb0d 100644 --- a/server/src/modules/answers/answers.routes.ts +++ b/server/src/modules/answers/answers.routes.ts @@ -13,28 +13,39 @@ export const routeAnswers = ({ }): express.Router => { const router = express.Router() const { authenticate } = authMiddleware + /** - * @route GET /api/posts/answers/:id - * @desc fetch all answers of a post - * @access Private + * Lists all answers to a post + * @route GET /api/posts/answers/:id + * @returns 200 with array of answers + * @returns 500 if database error occurs + * @access Public */ - router.get('/:id', controller.getAnswers) + router.get('/:id', controller.listAnswers) /** - * @route POST /api/posts/answers/:id - * @desc add an answer to a post - * @access Private + * Create an answer attached to a post + * @route POST /api/posts/answers/:id + * @returns 200 with new answer id + * @returns 400 if invalid request + * @returns 401 if user not signed in + * @returns 403 if user is not authorized to answer question + * @returns 500 if database error + * @access Private */ router.post( '/:id', [authenticate, check('text', 'Answer is required').not().isEmpty()], - controller.addAnswer, + controller.createAnswer, ) /** - * @route PUT /api/posts/answers/:id - * @desc update answer to a post - * @access Private + * Update an answer + * @route PUT /api/posts/answers/:id + * @returns 200 with number of rows changed in answer database + * @returns 400 if invalid request + * @returns 500 if database error + * @access Private */ router.put( '/:id', @@ -47,9 +58,12 @@ export const routeAnswers = ({ ) /** - * @route DELETE /api/posts/answers/:id - * @desc delete an answer to a post - * @access Private + * Delete an answer. Currently not used as a post delete + * will archive the post and will not touch the answer. + * @route DELETE /api/posts/answers/:id + * @returns 200 on successful delete + * @returns 500 on database error + * @access Private */ router.delete('/:id', [authenticate, checkOwnership], controller.deleteAnswer) return router diff --git a/server/src/modules/answers/answers.service.ts b/server/src/modules/answers/answers.service.ts index 5b6c702e5..52d144417 100644 --- a/server/src/modules/answers/answers.service.ts +++ b/server/src/modules/answers/answers.service.ts @@ -27,43 +27,12 @@ type AnswerJSON = Pick & { } } export class AnswersService { - createAnswer = async ({ - postId, - body, - userId, - }: Pick< - AnswerWithRelations, - 'body' | 'postId' | 'userId' - >): Promise => { - const answer = await AnswerModel.create({ - postId: postId, - body: body, - userId: userId, - }) - await PostModel.update( - { status: PostStatus.PUBLIC }, - { where: { id: postId } }, - ) - return answer.id - } - - update = async (updatedAnswer: { - id: string - body: string - }): Promise => { - const res = await AnswerModel.update( - { body: updatedAnswer.body }, - { where: { id: updatedAnswer.id } }, - ) - const changedRows = res[0] - return changedRows - } - - remove = async (id: string): Promise => { - await AnswerModel.destroy({ where: { id: id } }) - } - - retrieveAll = async ( + /** + * Returns all answers to a post + * @param postId id of the post + * @returns an array of answers + */ + listAnswers = async ( postId: string, ): Promise< | { @@ -107,4 +76,57 @@ export class AnswersService { }) } } + + /** + * Create an answer attached to a post + * @param postId id of post to attach to + * @param body answer text + * @param userId id of user that submitted the answer + * @returns id of new answer if it is successfully created + */ + createAnswer = async ({ + postId, + body, + userId, + }: Pick< + AnswerWithRelations, + 'body' | 'postId' | 'userId' + >): Promise => { + const answer = await AnswerModel.create({ + postId: postId, + body: body, + userId: userId, + }) + await PostModel.update( + { status: PostStatus.PUBLIC }, + { where: { id: postId } }, + ) + return answer.id + } + + /** Update a answer + * @param id of answer to update + * @param body answer text to change to + * @returns number of rows changed in answer database + */ + updateAnswer = async (updatedAnswer: { + id: string + body: string + }): Promise => { + const res = await AnswerModel.update( + { body: updatedAnswer.body }, + { where: { id: updatedAnswer.id } }, + ) + const changedRows = res[0] + return changedRows + } + + /** + * Delete an answer. Currently not used as a post delete + * will archive the post and will not touch the answer. + * @param id of answer to delete + */ + deleteAnswer = async (id: string): Promise => { + await AnswerModel.destroy({ where: { id: id } }) + } } From f93eafcc897f3ab76ed5695a01377eb4ec0ce94c Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Wed, 1 Sep 2021 16:13:29 +0800 Subject: [PATCH 06/33] fix(search): have agency-specific results from agency page (#192) If a user is searching from an agency page, the user expects to see results specific to that agency, so pass this to the SearchResults component so that the appropriate posts are fetched for searching --- .../SearchBox/SearchBox.component.jsx | 5 ++++- .../SearchResults/SearchResults.component.jsx | 17 +++++++++++------ client/src/routes.js | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index 197ba8b9d..71d54a5ad 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -79,7 +79,10 @@ const SearchBox = ({ placeholder, value, handleSubmit }) => { if (!handleSubmit) { handleSubmit = (data) => { sendSearchEventToAnalytics(data[name]) - history.push(`/questions?search=${data[name]}`) + history.push( + `/questions?search=${data[name]}` + + (agencyShortName ? `&agency=${agencyShortName}` : ''), + ) } } diff --git a/client/src/pages/SearchResults/SearchResults.component.jsx b/client/src/pages/SearchResults/SearchResults.component.jsx index 6bbbe77c9..43f782d99 100644 --- a/client/src/pages/SearchResults/SearchResults.component.jsx +++ b/client/src/pages/SearchResults/SearchResults.component.jsx @@ -8,18 +8,23 @@ import PostItem from '../../components/PostItem/PostItem.component' import SearchBox from '../../components/SearchBox/SearchBox.component' import { Spacer } from '@chakra-ui/react' import Spinner from '../../components/Spinner/Spinner.component' -import { listPosts, LIST_POSTS_QUERY_KEY } from '../../services/PostService' +import { + listPosts, + LIST_POSTS_FOR_SEARCH_QUERY_KEY, +} from '../../services/PostService' import './SearchResults.styles.scss' import { sortByCreatedAt } from '../../util/date' const SearchResults = () => { - const { data, isLoading } = useQuery([LIST_POSTS_QUERY_KEY], () => - listPosts(), + const { search } = useLocation() + const searchParams = new URLSearchParams(search) + const searchQuery = searchParams.get('search') ?? '' + const agency = searchParams.get('agency') + const { data, isLoading } = useQuery( + [LIST_POSTS_FOR_SEARCH_QUERY_KEY, agency], + listPosts(undefined, agency), ) - let searchQuery = - new URLSearchParams(useLocation().search).get('search') ?? '' - const foundPosts = new Fuse(data?.posts ?? [], { keys: ['title', 'description'], }) diff --git a/client/src/routes.js b/client/src/routes.js index 3cd796896..76c92620f 100644 --- a/client/src/routes.js +++ b/client/src/routes.js @@ -22,7 +22,7 @@ const HomePageComponent = withPageTitle({ const SearchResultsComponent = withPageTitle({ component: SearchResults, - title: 'All Questions - AskGov', + title: 'Search Results - AskGov', }) const LoginComponent = withPageTitle({ From f00cf2f9270ed0fa2383c3ea2677021d0b8c31b5 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Wed, 1 Sep 2021 17:50:49 +0800 Subject: [PATCH 07/33] chore(header/footer): rename help center to AskGov (#198) --- client/src/components/Footer/Footer.component.tsx | 4 ++-- client/src/pages/Login/Login.component.jsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/components/Footer/Footer.component.tsx b/client/src/components/Footer/Footer.component.tsx index bb477e3a2..ae2cfca4e 100644 --- a/client/src/components/Footer/Footer.component.tsx +++ b/client/src/components/Footer/Footer.component.tsx @@ -34,9 +34,9 @@ const Footer = (): JSX.Element => { direction={{ base: 'column', md: 'row' }} spacing={{ base: '4px', md: '16px' }} > - Help Center + AskGov - The Q&A Platform for Government Related Services + Answers from the Singapore Government {

AskGov

-

Official Government Help Center

+

Answers from the Singapore Government

From cb24ec9933ea07dd4a5efd7de6deb40e023c96a9 Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Wed, 1 Sep 2021 14:57:33 +0800 Subject: [PATCH 08/33] refactor(search): refine SearchBox hooks, add `showSearchIcon` flag - refine default handleSubmit flag to just push history; regardless of specified hook, GA event will be sent - add handleAbandon hook, capturing when a search is abandoned - allow search icon to be disabled by setting `showSearchIcon` to false --- .../SearchBox/SearchBox.component.jsx | 47 +++++++++++++------ 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index 71d54a5ad..b4eab147c 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -13,7 +13,14 @@ import { } from '../../services/PostService' import './SearchBox.styles.scss' -const SearchBox = ({ placeholder, value, handleSubmit }) => { +const SearchBox = ({ + placeholder, + value, + inputRef, + handleSubmit = undefined, + handleAbandon = (_inputValue) => {}, + showSearchIcon = true, +}) => { /* Use LIST_POSTS_FOR_SEARCH_QUERY_KEY instead of LIST_POSTS_QUERY_KEY Because the queries using LIST_POST_QUERY_KEY may be filtered by tags. @@ -77,13 +84,21 @@ const SearchBox = ({ placeholder, value, handleSubmit }) => { placeholder = placeholder ?? 'How can we help you?' value = value ?? '' if (!handleSubmit) { - handleSubmit = (data) => { - sendSearchEventToAnalytics(data[name]) + handleSubmit = (data) => history.push( `/questions?search=${data[name]}` + (agencyShortName ? `&agency=${agencyShortName}` : ''), ) - } + } + + const onSubmit = (data) => { + sendSearchEventToAnalytics(data[name]) + handleSubmit(data) + } + + const onAbandon = (inputValue) => { + sendAbandonedSearchEventToAnalytics(inputValue) + handleAbandon(inputValue) } const itemToString = (item) => (item ? item.title : '') @@ -94,7 +109,7 @@ const SearchBox = ({ placeholder, value, handleSubmit }) => { return (
-
+ history.push(`/questions/${selection.id}`)} itemToString={itemToString} @@ -109,20 +124,22 @@ const SearchBox = ({ placeholder, value, handleSubmit }) => { }) => (
sendAbandonedSearchEventToAnalytics(inputValue)} + onBlur={() => onAbandon(inputValue)} > - } - h="100%" - w="24px" - ml="19px" - mr="20px" - /> + {showSearchIcon ? ( + } + h="100%" + w="24px" + ml="19px" + mr="20px" + /> + ) : null} Date: Wed, 1 Sep 2021 16:51:30 +0800 Subject: [PATCH 09/33] fix(search): retain search results even on abandon --- .../src/components/SearchBox/SearchBox.component.jsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index b4eab147c..d9590a0ba 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -107,11 +107,21 @@ const SearchBox = ({ keys: ['title', 'description'], }) + const stateReducer = (_state, changes) => { + return [ + Downshift.stateChangeTypes.blurInput, + Downshift.stateChangeTypes.mouseUp, + ].includes(changes.type) + ? { isOpen: false } // no-changes + : changes + } + return (
history.push(`/questions/${selection.id}`)} + stateReducer={stateReducer} itemToString={itemToString} > {({ From 2f8484d62f102d860d083e3efe9068613b53feae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Sep 2021 17:21:32 +0000 Subject: [PATCH 10/33] build(deps-dev): bump @types/node from 16.7.7 to 16.7.10 in /server (#200) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.7.7 to 16.7.10. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" 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> --- server/package-lock.json | 6 +++--- server/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 68b817e68..a7581d5d9 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -3377,9 +3377,9 @@ } }, "@types/node": { - "version": "16.7.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", - "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==", + "version": "16.7.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz", + "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA==", "dev": true }, "@types/nodemailer": { diff --git a/server/package.json b/server/package.json index 0deaa3bdd..387c6257d 100644 --- a/server/package.json +++ b/server/package.json @@ -58,7 +58,7 @@ "@types/minimatch": "^3.0.4", "@types/morgan": "^1.9.2", "@types/multer": "^1.4.7", - "@types/node": "^16.7.7", + "@types/node": "^16.7.10", "@types/nodemailer": "^6.4.1", "@types/passport": "^1.0.6", "@types/supertest": "^2.0.11", From 3da6baac5588c8c1476d7ab535cd54b56c83f8d9 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 10:54:39 +0800 Subject: [PATCH 11/33] reaf(tags): type controllers as ControllerHandler (#197) --- README.md | 4 +- server/src/modules/tags/tags.controller.ts | 105 ++++++++++++------ server/src/modules/tags/tags.routes.ts | 39 +++++-- server/src/modules/tags/tags.service.ts | 122 ++++++++++++--------- 4 files changed, 171 insertions(+), 99 deletions(-) diff --git a/README.md b/README.md index e0f26a50b..19ebc2fd1 100644 --- a/README.md +++ b/README.md @@ -170,4 +170,6 @@ Optionally [VSCode](https://code.visualstudio.com/) with extension `ESLint` #### Tags - `GET /tags` -- `GET /tags/:tag_name` +- `GET /tags/user` +- `GET /tags/agency/:agencyId` +- `GET /tags/:tagname` diff --git a/server/src/modules/tags/tags.controller.ts b/server/src/modules/tags/tags.controller.ts index 06f850c13..9833c0252 100644 --- a/server/src/modules/tags/tags.controller.ts +++ b/server/src/modules/tags/tags.controller.ts @@ -1,6 +1,8 @@ import { Request, Response } from 'express' import { StatusCodes } from 'http-status-codes' import { createLogger } from '../../bootstrap/logging' +import { Tag } from '../../models' +import { Message } from '../../types/message-type' import { ControllerHandler } from '../../types/response-handler' import { AuthService } from '../auth/auth.service' import { TagsService } from './tags.service' @@ -20,15 +22,24 @@ export class TagsController { this.authService = authService this.tagsService = tagsService } - getTags = async (_req: Request, res: Response): Promise => { + + /** + * List all tags in the descending order of number of posts with them + * @returns 200 with tags + * @returns 500 if database error + */ + listTags: ControllerHandler = async ( + req, + res, + ) => { try { - const data = await this.tagsService.retrieveAll() + const data = await this.tagsService.listTags() return res.status(StatusCodes.OK).json(data) } catch (error) { logger.error({ message: 'Error while retrieving all tags', meta: { - function: 'getTags', + function: 'listTags', }, error, }) @@ -38,7 +49,16 @@ export class TagsController { } } - getTagsUsedByUser: ControllerHandler = async (req, res) => { + /** + * Lists all tags that user is allowed to tag a post with + * @returns 200 with tags + * @returns 401 if user is not logged in + * @returns 500 if database error + */ + listTagsUsedByUser: ControllerHandler = async ( + req, + res, + ) => { const userId = await this.authService.getUserIdFromToken( req.header('x-auth-token') ?? '', ) @@ -49,30 +69,41 @@ export class TagsController { } try { - const result = await this.tagsService.retrieveUsedByUser(userId) + const result = await this.tagsService.listTagsUsedByUser(userId) return res.json(result) - } catch (err) { - if (err instanceof Error) { - return res - .status(StatusCodes.INTERNAL_SERVER_ERROR) - .json({ message: err.message }) - } else { - return res - .status(StatusCodes.INTERNAL_SERVER_ERROR) - .json({ message: 'Server Error' }) - } + } catch (error) { + logger.error({ + message: 'Error while retrieving tags used by user', + meta: { + function: 'listTagsUsedByUser', + }, + error, + }) + return res + .status(StatusCodes.INTERNAL_SERVER_ERROR) + .json({ message: 'Server Error' }) } } - getSingleTag = async (req: Request, res: Response): Promise => { + /** + * List all tags that have appeared in a post with the agency tag + * @param agencyId id of agency + * @returns 200 with list of tags + * @returns 400 with database error + */ + listTagsUsedByAgency: ControllerHandler< + { agencyId: string }, + Tag[] | Message + > = async (req, res) => { + const { agencyId } = req.params try { - const data = await this.tagsService.retrieveOne(req.params.tagname) - return res.status(StatusCodes.OK).json(data) + const result = await this.tagsService.listTagsUsedByAgency(agencyId) + return res.json(result) } catch (error) { logger.error({ - message: 'Error while retrieving single tag', + message: 'Error while retrieving tags used by agency', meta: { - function: 'getSingleTag', + function: 'listTagsUsedByAgency', }, error, }) @@ -82,24 +113,30 @@ export class TagsController { } } - getTagsUsedByAgency: ControllerHandler<{ agencyId: string }> = async ( + /** + * Get a single tag by name + * @param tagname name of tag + * @returns 200 with tag + * @returns 500 if database error + */ + getSingleTag: ControllerHandler<{ tagname: string }, Tag | Message> = async ( req, res, ) => { - const { agencyId } = req.params try { - const result = await this.tagsService.retrieveUsedByAgency(agencyId) - return res.json(result) - } catch (err) { - if (err instanceof Error) { - return res - .status(StatusCodes.BAD_REQUEST) - .json({ message: err.message }) - } else { - return res - .status(StatusCodes.INTERNAL_SERVER_ERROR) - .json({ message: 'Server Error' }) - } + const data = await this.tagsService.getSingleTag(req.params.tagname) + return res.status(StatusCodes.OK).json(data) + } catch (error) { + logger.error({ + message: 'Error while retrieving single tag', + meta: { + function: 'getSingleTag', + }, + error, + }) + return res + .status(StatusCodes.INTERNAL_SERVER_ERROR) + .json({ message: 'Server Error' }) } } } diff --git a/server/src/modules/tags/tags.routes.ts b/server/src/modules/tags/tags.routes.ts index c9a41cdea..8767c575b 100644 --- a/server/src/modules/tags/tags.routes.ts +++ b/server/src/modules/tags/tags.routes.ts @@ -11,26 +11,43 @@ export const routeTags = ({ }): express.Router => { const router = express.Router() /** - * @route GET /api/tags - * @desc fetch all tags + * List all tags in the descending order of number of posts with them + * @route GET /api/tags + * @returns 200 with tags + * @returns 500 if database error + * @access public */ - router.get('/', controller.getTags) + router.get('/', controller.listTags) /** - * @route GET /api/tags/user - * @desc fetch tags that user can use + * Lists all tags that user is allowed to tag a post with + * @route GET /api/tags/user + * @returns 200 with tags + * @returns 401 if user is not logged in + * @returns 500 if database error + * @access private */ - router.get('/user', authMiddleware.authenticate, controller.getTagsUsedByUser) + router.get( + '/user', + authMiddleware.authenticate, + controller.listTagsUsedByUser, + ) /** - * @route GET /api/tags - * @desc fetch all tags + * List all tags that have appeared in a post with the agency tag + * @route GET /api/tags/agency/:agencyId + * @returns 200 with list of tags + * @returns 400 with database error + * @access public */ - router.get('/agency/:agencyId', controller.getTagsUsedByAgency) + router.get('/agency/:agencyId', controller.listTagsUsedByAgency) /** - * @route GET /api/tags/:tagname - * @desc fetch a single tag + * Get a single tag by name + * @route GET /api/tags/:tagname + * @returns 200 with tag + * @returns 500 if database error + * @access public */ router.get('/:tagname', controller.getSingleTag) diff --git a/server/src/modules/tags/tags.service.ts b/server/src/modules/tags/tags.service.ts index eea06e523..981a3ebc9 100644 --- a/server/src/modules/tags/tags.service.ts +++ b/server/src/modules/tags/tags.service.ts @@ -21,7 +21,11 @@ export class TagsService { 'postsCount', ] - retrieveAll = async (): Promise => { + /** + * List all tags in the descending order of number of posts with them + * @returns list of tags + */ + listTags = async (): Promise => { const tags = await TagModel.findAll({ attributes: [ 'id', @@ -36,63 +40,14 @@ export class TagsService { order: [[Sequelize.literal('postsCount'), 'DESC']], }) if (!tags) { - return Array() + return [] } else { return tags } } - retrieveUsedByAgency = async (agencyId: string): Promise => { - const agency = await AgencyModel.findByPk(agencyId) - // error case if agency is not found - if (!agency) return [] - - const postsWithAgencyTag = await PostModel.findAll({ - where: { - // TODO: clarify whether we need to get Posts that have been deleted/archived - status: PostStatus.PUBLIC, - }, - include: { - model: TagModel, - where: { tagname: agency.shortname }, - }, - }) - - const postIds = postsWithAgencyTag.map((post) => post.id) - - const posts = (await PostModel.findAll({ - where: { id: postIds }, - include: TagModel, - })) as PostWithRelations[] - - const combinedTags = posts.reduce( - (acc, post) => acc.concat(post.tags), - [], - ) - - return uniqBy(combinedTags, (tag: Tag) => tag.id) - } - - retrieveOne = async (tagName: string): Promise => { - const tag = await TagModel.findOne({ - where: { tagname: tagName }, - attributes: [ - 'id', - 'tagname', - 'description', - 'createdAt', - this.postsCountLiteral, - ], - }) - if (!tag) { - throw new Error('Tag not found') - } else { - return tag - } - } - /** - * Gets the list of tags that user is allowed to tag a post with in the following order: + * Lists all tags that user is allowed to tag a post with in the following order: * 1) Agency tags that user is allowed to add * 2) Topic tags that user is allowed to add in descending order * of number of occurrences in existing posts @@ -100,7 +55,7 @@ export class TagsService { * @param userId id of the user * @returns list of tags */ - retrieveUsedByUser = async (userId: string): Promise => { + listTagsUsedByUser = async (userId: string): Promise => { const userAgencyTags = await TagModel.findAll({ where: { tagType: TagType.AGENCY, @@ -158,4 +113,65 @@ export class TagsService { return combinedTags } + + /** + * List all tags that have appeared in a post with the agency tag + * If there is no posts with both the agency tag and topic tag, + * topic tag will not be shown even if the tag belongs to the agency. + * @param agencyId id of agency + * @returns list of tags + */ + listTagsUsedByAgency = async (agencyId: string): Promise => { + const agency = await AgencyModel.findByPk(agencyId) + // If agency is not found, there are no tags used by it + if (!agency) return [] + + const postsWithAgencyTag = await PostModel.findAll({ + where: { + // TODO: clarify whether we need to get Posts that have been deleted/archived + status: PostStatus.PUBLIC, + }, + include: { + model: TagModel, + where: { tagname: agency.shortname }, + }, + }) + + const postIds = postsWithAgencyTag.map((post) => post.id) + + const posts = (await PostModel.findAll({ + where: { id: postIds }, + include: TagModel, + })) as PostWithRelations[] + + const combinedTags = posts.reduce( + (acc, post) => acc.concat(post.tags), + [], + ) + + return uniqBy(combinedTags, (tag: Tag) => tag.id) + } + + /** + * Get a single tag by name + * @param tagName name of tag + * @returns tag + */ + getSingleTag = async (tagName: string): Promise => { + const tag = await TagModel.findOne({ + where: { tagname: tagName }, + attributes: [ + 'id', + 'tagname', + 'description', + 'createdAt', + this.postsCountLiteral, + ], + }) + if (!tag) { + throw new Error('Tag not found') + } else { + return tag + } + } } From 65ecd5ddb7920b2af19e87cfbdd06ad5e4efb6d1 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 10:55:05 +0800 Subject: [PATCH 12/33] refactor(auth): type controllers as ControllerHandler (#194) * reaf(auth): type controllers as controllerHandler * chore: update readme --- README.md | 7 +++- server/src/modules/auth/auth.controller.ts | 47 +++++++++++++++++----- server/src/modules/auth/auth.routes.ts | 30 +++++++++----- server/src/modules/auth/auth.service.ts | 38 +++++++++++++++++ 4 files changed, 101 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 19ebc2fd1..ddaeca356 100644 --- a/README.md +++ b/README.md @@ -144,10 +144,13 @@ Optionally [VSCode](https://code.visualstudio.com/) with extension `ESLint` - `GET /agencies?` - `GET /agencies/:agencyId` +#### Auth +- `GET /auth` +- `GET /auth/verifyotp` +- `GET /auth/sendotp` + #### Users -- `GET /auth` -- `POST /auth` - `POST /users/:id` - `GET /users/:id` diff --git a/server/src/modules/auth/auth.controller.ts b/server/src/modules/auth/auth.controller.ts index 041ea0dcb..e78e17683 100644 --- a/server/src/modules/auth/auth.controller.ts +++ b/server/src/modules/auth/auth.controller.ts @@ -36,7 +36,13 @@ export class AuthController { this.userService = userService } - loadUser: ControllerHandler = async ( + /** + * Fetch logged in user details + * @returns 200 with user details + * @returns 401 if user not signed in + * @returns 500 if database error + */ + loadUser: ControllerHandler = async ( req, res, ) => { @@ -47,7 +53,6 @@ export class AuthController { } try { - // eslint-disable-next-line @typescript-eslint/no-explicit-any const user = await this.userService.loadUser(req.user?.id) return res.status(StatusCodes.OK).json(user) } catch (error) { @@ -65,10 +70,20 @@ export class AuthController { } } - handleSendLoginOtp = async ( - req: Request, - res: Response, - ): Promise => { + /** + * Send login otp to specified email + * @body email email of the user and to send the OTP to + * @returns 200 if OTP sent + * @returns 400 if email is invalid + * @returns 400 if email does not belong to a user + * @returns 500 if OTP failed to send + */ + handleSendLoginOtp: ControllerHandler< + undefined, + Message, + { email: string }, + undefined + > = async (req, res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res @@ -115,10 +130,22 @@ export class AuthController { return res.sendStatus(StatusCodes.OK) } - handleVerifyLoginOtp = async ( - req: Request, - res: Response, - ): Promise => { + /** + * Verify jwt received by the user and set the JWT + * @body email email of user + * @body otp otp of user + * @returns 200 with JWT if successful login + * @returns 400 if validation of body fails + * @returns 401 if no otp was sent for user + * @returns 401 if wrong otp + * @returns 500 if database error + */ + handleVerifyLoginOtp: ControllerHandler< + undefined, + { token?: string; newParticipant: boolean; displayname?: string } | Message, + { email: string; otp: string }, + undefined + > = async (req, res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res diff --git a/server/src/modules/auth/auth.routes.ts b/server/src/modules/auth/auth.routes.ts index 0ca2b1faa..1ef12b624 100644 --- a/server/src/modules/auth/auth.routes.ts +++ b/server/src/modules/auth/auth.routes.ts @@ -13,16 +13,24 @@ export const routeAuth = ({ const router = express.Router() /** - * @route GET /api/auth - * @desc fetch logged in user details - * @access Private + * Fetch logged in user details + * @route GET /api/auth + * @returns 200 with user details + * @returns 401 if user not signed in + * @returns 500 if database error + * @access Private */ router.get('/', middleware.authenticate, controller.loadUser) /** - * @route POST /api/auth/verifyotp - * @desc verify the otp received by user - * @access Private + * Verify jwt received by the user and set the JWT + * @route POST /api/auth/verifyotp + * @returns 200 with JWT if successful login + * @returns 400 if validation of body fails + * @returns 401 if no otp was sent for user + * @returns 401 if wrong otp + * @returns 500 if database error + * @access Private */ router.post( '/verifyotp', @@ -40,9 +48,13 @@ export const routeAuth = ({ ) /** - * @route POST /api/auth/sendotp - * @desc send the otp to the specified email - * @access Private + * Send login otp to specified email + * @route POST /api/auth/sendotp + * @returns 200 if OTP sent + * @returns 400 if email is invalid + * @returns 400 if email does not belong to a user + * @returns 500 if OTP failed to send + * @access Private */ router.post( '/sendotp', diff --git a/server/src/modules/auth/auth.service.ts b/server/src/modules/auth/auth.service.ts index 90f01ddc1..8a49c64db 100644 --- a/server/src/modules/auth/auth.service.ts +++ b/server/src/modules/auth/auth.service.ts @@ -36,6 +36,11 @@ export class AuthService { this.jwtSecret = jwtSecret } + /** + * Verify JSON Web Token (JWT) and get user Id from token + * @param token the JWT containing user + * @returns userId if it is verified and found, else null + */ getUserIdFromToken = async (token: string): Promise => { if (!token) return null @@ -54,6 +59,11 @@ export class AuthService { }) } + /** + * Get the user from userId only if user has validated email + * @param userId userId of the user to retrieve + * @returns user with the userId + */ getOfficerUser = async (userId: string): Promise => { if (!userId) { throw new Error('User must be signed in') @@ -68,6 +78,11 @@ export class AuthService { return user } + /** + * Get the user from username only if user has validated email + * @param username username of the user to retrieve + * @returns user with the username + */ checkIfWhitelistedOfficer = async (username: string): Promise => { if (!username) { throw new Error('username must be provided') @@ -85,6 +100,12 @@ export class AuthService { } } + /** + * Check if a user has permission to answer a post + * @param userId of user + * @param postId of post + * @returns true if user has permission to answer post + */ hasPermissionToAnswer = async ( userId: string, postId: string, @@ -104,6 +125,12 @@ export class AuthService { }) } + /** + * Get all tags that user does not have permission to add + * @param userId of user + * @param tagList list of tags + * @returns subset of tagList that user is not allowed to add + */ getDisallowedTagsForUser = async ( userId: string, tagList: Tag[], @@ -119,6 +146,12 @@ export class AuthService { }) } + /** + * Check if a user is able to view the post + * @param post post to be viewed + * @param token JWT of the user + * @returns true if user can view post + */ verifyUserCanViewPost = async ( post: PostWithRelations, token: string, @@ -144,5 +177,10 @@ export class AuthService { } } + /** + * Check if user has an validated email + * @param email email of user + * @returns true if user has validated email + */ isOfficerEmail = (email: string): boolean => this.emailValidator.match(email) } From 466efca1060430901b7f03ab94d984c601c91ad4 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 10:55:19 +0800 Subject: [PATCH 13/33] refactor(post): type controllers as ControllerHandler (#177) * refactor(post): type controllers as controllerHandler * docs(post): add docs to controller --- server/src/modules/post/post.controller.ts | 51 ++++++++++++++++------ server/src/modules/post/post.service.ts | 2 +- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/server/src/modules/post/post.controller.ts b/server/src/modules/post/post.controller.ts index dbf4e5de8..c021e7c0c 100644 --- a/server/src/modules/post/post.controller.ts +++ b/server/src/modules/post/post.controller.ts @@ -1,4 +1,3 @@ -import { Request, Response, RequestHandler } from 'express' import { validationResult } from 'express-validator' import { SortType } from '../../types/sort-type' import { createValidationErrMessage } from '../../util/validation-error' @@ -31,14 +30,18 @@ export class PostController { /** * Lists all post + * @query sort Sort by popularity or recent + * @query tags Tags to filter by + * @query size Number of posts to return + * @query page If size is given, specify which page to return * @return 200 with posts and totalItem for pagination * @return 422 if invalid tags are used in request * @return 500 when database error occurs */ listPosts: ControllerHandler< - unknown, + undefined, { posts: Post[]; totalItems: number } | Message, - unknown, + undefined, { page?: number size?: number @@ -77,6 +80,11 @@ export class PostController { /** * Lists all post answerable by the agency user + * @query sort Sort by popularity or recent + * @query withAnswers If false, show only posts without answers + * @query tags Tags to filter by + * @query size Number of posts to return + * @query page If size is given, specify which page to return * @return 200 with posts and totalItem for pagination * @return 400 if `withAnswers`, `sort` or `tags` query is not given * @return 401 if userID is invalid @@ -84,9 +92,9 @@ export class PostController { * @return 500 when database error occurs */ listAnswerablePosts: ControllerHandler< - Record, + undefined, { posts: Post[]; totalItems: number } | Message, - Record, + undefined, { withAnswers: boolean sort?: string @@ -155,7 +163,10 @@ export class PostController { * @return 403 if user does not have permission to access post * @return 500 for database error */ - getSinglePost = async (req: Request, res: Response): Promise => { + getSinglePost: ControllerHandler<{ id: string }, Post | Message> = async ( + req, + res, + ) => { let post try { post = await this.postService.getSinglePost(req.params.id) @@ -195,14 +206,25 @@ export class PostController { /** * Create a new post - * @param newPost Post to be created + * @body title title of post + * @body tagname tags of post + * @body description description of post * @return 200 if post is created * @return 400 if title and description is too short or long * @return 401 if user is not signed in * @return 403 if user does not have permission to add some of the tags * @return 500 if database error */ - createPost = async (req: Request, res: Response): Promise => { + createPost: ControllerHandler< + undefined, + { data: string } | Message, + { + title: string + tagname: string[] + description: string + }, + undefined + > = async (req, res) => { const errors = validationResult(req) if (!errors.isEmpty()) { return res.status(StatusCodes.BAD_REQUEST).json(errors.array()[0].msg) @@ -260,7 +282,7 @@ export class PostController { * @return 403 if user does not have permission to delete post * @return 500 if database error */ - deletePost = async (req: Request, res: Response): Promise => { + deletePost: ControllerHandler<{ id: string }, Message> = async (req, res) => { const postId = req.params.id try { const userId = await this.authService.getUserIdFromToken( @@ -281,7 +303,7 @@ export class PostController { .json({ message: 'You do not have permission to delete this post.' }) } await this.postService.deletePost(postId) - return res.sendStatus(StatusCodes.OK) + return res.status(StatusCodes.OK).send({ message: 'OK' }) } catch (error) { logger.error({ message: 'Error while deleting post', @@ -298,18 +320,19 @@ export class PostController { /** * Update a post - * @param Post Post to be updated + * @param id id of post to update + * @body Post Post to be updated * @return 200 if successful * @return 400 if title and description is too short or long * @return 401 if user is not logged in * @return 403 if user does not have permission to delete post * @return 500 if database error */ - updatePost: RequestHandler< + updatePost: ControllerHandler< { id: string }, Message, UpdatePostRequestDto, - unknown + undefined > = async (req, res) => { const postId = req.params.id try { @@ -342,7 +365,7 @@ export class PostController { .status(StatusCodes.INTERNAL_SERVER_ERROR) .json({ message: 'Something went wrong, please try again.' }) } - const errors = validationResult(req as Request) + const errors = validationResult(req) if (!errors.isEmpty()) { return res .status(StatusCodes.BAD_REQUEST) diff --git a/server/src/modules/post/post.service.ts b/server/src/modules/post/post.service.ts index 716a1e2ef..ab83969fc 100644 --- a/server/src/modules/post/post.service.ts +++ b/server/src/modules/post/post.service.ts @@ -412,7 +412,7 @@ export class PostService { } /** - * Delete a post + * Delete a post by setting the post to archive * @param id Post to be deleted * @returns void if successful */ From 38dea01bc52553abdc8bcb82c4eb30cf72435ade Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 10:55:35 +0800 Subject: [PATCH 14/33] fix(pages): scroll to top on loading all pages, not just legalese (#195) --- .../components/PrivacyTerms/AgencyPrivacy.component.tsx | 2 -- .../components/PrivacyTerms/AgencyTerms.component.tsx | 2 -- .../components/PrivacyTerms/CitizenPrivacy.component.tsx | 2 -- .../components/PrivacyTerms/CitizenTerms.component.tsx | 2 -- .../src/components/ScrollToTop/ScrollToTop.component.tsx | 9 ++++++--- client/src/index.js | 2 ++ 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/client/src/components/PrivacyTerms/AgencyPrivacy.component.tsx b/client/src/components/PrivacyTerms/AgencyPrivacy.component.tsx index bdbe05a17..b4263423c 100644 --- a/client/src/components/PrivacyTerms/AgencyPrivacy.component.tsx +++ b/client/src/components/PrivacyTerms/AgencyPrivacy.component.tsx @@ -1,10 +1,8 @@ import { Box, Center, Container, Text } from '@chakra-ui/react' -import { ScrollToTopOnMount } from '../ScrollToTop/ScrollToTop.component' import './PrivacyTerms.styles.scss' const AgencyPrivacy = (): JSX.Element => ( <> - ( <> - ( <> - ( <> - { window.scrollTo(0, 0) - }, []) + }, [pathname]) return null } diff --git a/client/src/index.js b/client/src/index.js index 948275d8c..e2d8703df 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -3,6 +3,7 @@ import ReactDOM from 'react-dom' import { BrowserRouter } from 'react-router-dom' import { QueryClient, QueryClientProvider } from 'react-query' import { ReactQueryDevtools } from 'react-query/devtools' +import ScrollToTop from './components/ScrollToTop/ScrollToTop.component' import App from './App' @@ -14,6 +15,7 @@ ReactDOM.render( {/* ReactQueryDevtools will not appear in production builds */} + From 48c2d4135e103b7c92c89f66be41a7d72eccc1a5 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 10:55:50 +0800 Subject: [PATCH 15/33] refactor(header): migrate to Chakra (#196) --- .../components/Header/Header.component.jsx | 62 ++++++++++------ .../src/components/Header/Header.styles.scss | 71 ------------------- 2 files changed, 40 insertions(+), 93 deletions(-) delete mode 100644 client/src/components/Header/Header.styles.scss diff --git a/client/src/components/Header/Header.component.jsx b/client/src/components/Header/Header.component.jsx index 1abb332b2..3ee7434ac 100644 --- a/client/src/components/Header/Header.component.jsx +++ b/client/src/components/Header/Header.component.jsx @@ -1,16 +1,14 @@ -import React from 'react' +import { Box, Flex, Image, Stack, Text } from '@chakra-ui/react' import { useQuery } from 'react-query' -import { matchPath, Link, useLocation } from 'react-router-dom' +import { Link, matchPath, useLocation } from 'react-router-dom' import { ReactComponent as Logo } from '../../assets/LogoAlpha.svg' +import { useAuth } from '../../contexts/AuthContext' import { getAgencyByShortName, GET_AGENCY_BY_SHORTNAME_QUERY_KEY, } from '../../services/AgencyService' -import { useAuth } from '../../contexts/AuthContext' import LinkButton from '../LinkButton/LinkButton.component' import Spinner from '../Spinner/Spinner.component' -import './Header.styles.scss' -import { Text } from '@chakra-ui/react' const Header = () => { const { user, logout } = useAuth() @@ -25,16 +23,21 @@ const Header = () => { () => getAgencyByShortName({ shortname: agencyShortName }), { enabled: !!agencyShortName }, ) + const authLinks = ( -
+ {isLoading || user === null ? ( ) : ( <> - {user.displayname} - + {user.displayname} + + user-logo @@ -45,24 +48,38 @@ const Header = () => { type={'s-btn__filled'} handleClick={logout} /> -
+ ) return ( - <> - - + + + {user && authLinks} + ) } diff --git a/client/src/components/Header/Header.styles.scss b/client/src/components/Header/Header.styles.scss deleted file mode 100644 index ada19aaf3..000000000 --- a/client/src/components/Header/Header.styles.scss +++ /dev/null @@ -1,71 +0,0 @@ -@import '../../styles/sizes'; -@import '../../styles/colours'; -@import '../../styles/misc'; -@import '../../styles/text'; - -.navbar { - display: flex; - justify-content: space-between; - align-items: center; - height: 74px; - - - background-color: $pri-500; - padding: 15px 48px; // originally 48px, originally originally 8px - - @media not all and (min-width: $tablet) { - padding: 15px 36px; - justify-content: flex-start; - // display: flex; - } - - @media not all and (max-width: $mobile-l) { - height: 82px; - } - - .navbar-brand { - @include logofont; - display: flex; - flex-direction: row; - text-decoration: none; - align-items: center; - - @media (max-width: $mobile-l) { - flex-direction: column; - align-items: flex-start; - position: relative; - top: 8px; - } - - .askgov-name { - // @include logofont; - // color: white; - position: relative; - padding-right: 15px; - bottom: 6px; - - @media (max-width: $mobile-l) { - bottom: 0px; - } - } - } - - - - .btns { - display: flex; - align-items: center; - - span { - @include body-2; - margin-right: 8px; - color: $white; - } - - .logo { - width: 32px; - border-radius: $btn-radius; - margin-right: 16px; - } - } -} From 3ae686158dae26260f67bbac845e28c81600b6d1 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 16:06:38 +0800 Subject: [PATCH 16/33] fix(footer): stick footer to bottom of post page (#204) --- client/src/pages/Post/Post.component.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/src/pages/Post/Post.component.jsx b/client/src/pages/Post/Post.component.jsx index 2647891cd..6369641b2 100644 --- a/client/src/pages/Post/Post.component.jsx +++ b/client/src/pages/Post/Post.component.jsx @@ -66,7 +66,7 @@ const Post = () => { return isLoading ? ( ) : ( - <> +
@@ -124,6 +124,7 @@ const Post = () => {
+ { } } /> - + ) } From 66c9b6cff14e0371ad598442f6adda8dc957a3de Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 16:06:49 +0800 Subject: [PATCH 17/33] chore(banner): prevent banner width from shrinking (#203) --- client/src/components/Banner/Banner.styles.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/components/Banner/Banner.styles.scss b/client/src/components/Banner/Banner.styles.scss index 5e62ab16d..5e5ce5399 100644 --- a/client/src/components/Banner/Banner.styles.scss +++ b/client/src/components/Banner/Banner.styles.scss @@ -3,6 +3,7 @@ .banner { height: 50px; + min-height: 50px; color: $neutral-100; z-index: 2000; background: $neutral-900; From 1d195b53b3ffd0ad01d73135eee7f95c3006afec Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Thu, 2 Sep 2021 16:07:01 +0800 Subject: [PATCH 18/33] feat(header): update askgov logo (#202) * chore(header): clean up imports * chore: removed unused assets * feat(header): update askgov logo * fix(header): adjust height of header to new logo * fix(header): responsive height if agency name wraps --- client/src/assets/ArrowDownLg.svg | 3 --- client/src/assets/ArrowUpLg.svg | 3 --- client/src/assets/Globe.svg | 3 --- client/src/assets/LogoAlpha.svg | 9 --------- client/src/assets/LogoGlyphMd.svg | 4 ---- client/src/assets/LogoMd.svg | 3 --- client/src/assets/Search.svg | 3 --- client/src/assets/logo-white-alpha.svg | 16 ++++++++++++++++ client/src/assets/logo-white.svg | 10 ++++++++++ .../src/components/Header/Header.component.jsx | 17 +++++++---------- 10 files changed, 33 insertions(+), 38 deletions(-) delete mode 100644 client/src/assets/ArrowDownLg.svg delete mode 100644 client/src/assets/ArrowUpLg.svg delete mode 100644 client/src/assets/Globe.svg delete mode 100644 client/src/assets/LogoAlpha.svg delete mode 100644 client/src/assets/LogoGlyphMd.svg delete mode 100644 client/src/assets/LogoMd.svg delete mode 100644 client/src/assets/Search.svg create mode 100644 client/src/assets/logo-white-alpha.svg create mode 100644 client/src/assets/logo-white.svg diff --git a/client/src/assets/ArrowDownLg.svg b/client/src/assets/ArrowDownLg.svg deleted file mode 100644 index 2f26f5232..000000000 --- a/client/src/assets/ArrowDownLg.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/assets/ArrowUpLg.svg b/client/src/assets/ArrowUpLg.svg deleted file mode 100644 index d308e9a8e..000000000 --- a/client/src/assets/ArrowUpLg.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/assets/Globe.svg b/client/src/assets/Globe.svg deleted file mode 100644 index 1396a87a7..000000000 --- a/client/src/assets/Globe.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/assets/LogoAlpha.svg b/client/src/assets/LogoAlpha.svg deleted file mode 100644 index 84d11b81b..000000000 --- a/client/src/assets/LogoAlpha.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/client/src/assets/LogoGlyphMd.svg b/client/src/assets/LogoGlyphMd.svg deleted file mode 100644 index 72dba909a..000000000 --- a/client/src/assets/LogoGlyphMd.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/client/src/assets/LogoMd.svg b/client/src/assets/LogoMd.svg deleted file mode 100644 index c78f55aca..000000000 --- a/client/src/assets/LogoMd.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/assets/Search.svg b/client/src/assets/Search.svg deleted file mode 100644 index 0386b57e7..000000000 --- a/client/src/assets/Search.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/client/src/assets/logo-white-alpha.svg b/client/src/assets/logo-white-alpha.svg new file mode 100644 index 000000000..f1582bc92 --- /dev/null +++ b/client/src/assets/logo-white-alpha.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/src/assets/logo-white.svg b/client/src/assets/logo-white.svg new file mode 100644 index 000000000..5cde7ce73 --- /dev/null +++ b/client/src/assets/logo-white.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/client/src/components/Header/Header.component.jsx b/client/src/components/Header/Header.component.jsx index 3ee7434ac..4a565040b 100644 --- a/client/src/components/Header/Header.component.jsx +++ b/client/src/components/Header/Header.component.jsx @@ -1,7 +1,7 @@ -import { Box, Flex, Image, Stack, Text } from '@chakra-ui/react' +import { Flex, Image, Stack, Text } from '@chakra-ui/react' import { useQuery } from 'react-query' import { Link, matchPath, useLocation } from 'react-router-dom' -import { ReactComponent as Logo } from '../../assets/LogoAlpha.svg' +import { ReactComponent as Logo } from '../../assets/logo-white-alpha.svg' import { useAuth } from '../../contexts/AuthContext' import { getAgencyByShortName, @@ -57,9 +57,9 @@ const Header = () => { display="flex" justify="space-between" align="center" - px="48px" - py="15px" - height={{ base: '122px', md: '74px' }} + px={8} + py={4} + shrink={0} > { textDecor="none" align={{ base: 'flex-start', md: 'center' }} position="relative" - top="8px" > - - - + {agency ? ( <> Date: Wed, 1 Sep 2021 17:16:50 +0800 Subject: [PATCH 19/33] refactor(search): make SearchBox a component, not a form --- .../SearchBox/SearchBox.component.jsx | 40 ++++++------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index d9590a0ba..75d7cb168 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -3,7 +3,6 @@ import * as FullStory from '@fullstory/browser' import Downshift from 'downshift' import Fuse from 'fuse.js' import { BiSearch } from 'react-icons/bi' -import { useForm } from 'react-hook-form' import { useQuery } from 'react-query' import { Link, useHistory, useParams } from 'react-router-dom' import { useGoogleAnalytics } from '../../contexts/googleAnalytics' @@ -20,6 +19,7 @@ const SearchBox = ({ handleSubmit = undefined, handleAbandon = (_inputValue) => {}, showSearchIcon = true, + ...inputProps }) => { /* Use LIST_POSTS_FOR_SEARCH_QUERY_KEY instead of LIST_POSTS_QUERY_KEY @@ -71,31 +71,16 @@ const SearchBox = ({ googleAnalytics.setIsFirstSearch(true) } - const { - register, - handleSubmit: handleSubmitHook, - getValues, - } = useForm({ - defaultValues: { - [name]: value, - }, - }) - placeholder = placeholder ?? 'How can we help you?' value = value ?? '' if (!handleSubmit) { - handleSubmit = (data) => + handleSubmit = (inputValue) => history.push( - `/questions?search=${data[name]}` + + `/questions?search=${inputValue}` + (agencyShortName ? `&agency=${agencyShortName}` : ''), ) } - const onSubmit = (data) => { - sendSearchEventToAnalytics(data[name]) - handleSubmit(data) - } - const onAbandon = (inputValue) => { sendAbandonedSearchEventToAnalytics(inputValue) handleAbandon(inputValue) @@ -118,11 +103,12 @@ const SearchBox = ({ return (
- +
history.push(`/questions/${selection.id}`)} stateReducer={stateReducer} itemToString={itemToString} + initialInputValue={value} > {({ getInputProps, @@ -153,15 +139,17 @@ const SearchBox = ({ {...getInputProps({ name, placeholder, - ...register(name), + ref: inputRef, + ...inputProps, onKeyDown: (event) => { - const selectingOptionUsingKeyboard = - event.key === 'Enter' && highlightedIndex !== null - if (selectingOptionUsingKeyboard) { + if (event.key === 'Enter') { // when selecting option using keyboard // downshift prevents form submission which is used to submit analytics event // detect such event and separately send analytics event sendSearchEventToAnalytics(inputValue) + if (highlightedIndex === null) { + handleSubmit(inputValue) + } } const isCharacterKey = event.key.length === 1 @@ -182,9 +170,7 @@ const SearchBox = ({ return ( - sendSearchEventToAnalytics(getValues(name)) - } + onClick={() => sendSearchEventToAnalytics(inputValue)} {...{ item, index, @@ -200,7 +186,7 @@ const SearchBox = ({
)} - +
) } From 4cf6889e0492920bd8762bd165e3018b8d4b5982 Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Wed, 1 Sep 2021 17:57:02 +0800 Subject: [PATCH 20/33] feat(enquiries): use SearchBox to suggest questions --- .../EnquiryModal/EnquiryModal.component.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/client/src/components/EnquiryModal/EnquiryModal.component.tsx b/client/src/components/EnquiryModal/EnquiryModal.component.tsx index b79c2b662..fa5684227 100644 --- a/client/src/components/EnquiryModal/EnquiryModal.component.tsx +++ b/client/src/components/EnquiryModal/EnquiryModal.component.tsx @@ -23,6 +23,7 @@ import { Agency } from '../../services/AgencyService' import { BiErrorCircle } from 'react-icons/bi' import { Enquiry } from '../../services/MailService' import ReCAPTCHA from 'react-google-recaptcha' +import SearchBox from '../SearchBox/SearchBox.component' interface EnquiryModalProps extends Pick { onConfirm: (enquiry: Enquiry, captchaResponse: string) => Promise agency: Agency @@ -49,6 +50,9 @@ export const EnquiryModal = ({ } } + const { ref, ...questionTitleProps } = register('questionTitle', { + required: true, + }) return (
@@ -72,13 +76,13 @@ export const EnquiryModal = ({ Question Title - {formErrors.questionTitle && errorLabel('This field is required')} From 4a479a4c3b7d6ab4763b441551c7cf392d1bd5df Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Thu, 2 Sep 2021 14:38:33 +0800 Subject: [PATCH 21/33] feat(search): add searchOnEnter flag to SearchBox, default true --- .../EnquiryModal/EnquiryModal.component.tsx | 1 + .../components/SearchBox/SearchBox.component.jsx | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/client/src/components/EnquiryModal/EnquiryModal.component.tsx b/client/src/components/EnquiryModal/EnquiryModal.component.tsx index fa5684227..f6b99e737 100644 --- a/client/src/components/EnquiryModal/EnquiryModal.component.tsx +++ b/client/src/components/EnquiryModal/EnquiryModal.component.tsx @@ -80,6 +80,7 @@ export const EnquiryModal = ({ placeholder="" value="" showSearchIcon={false} + searchOnEnter={false} isInvalid={formErrors.questionTitle} inputRef={ref} {...questionTitleProps} diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index 75d7cb168..06f9eae63 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -18,6 +18,7 @@ const SearchBox = ({ inputRef, handleSubmit = undefined, handleAbandon = (_inputValue) => {}, + searchOnEnter = true, showSearchIcon = true, ...inputProps }) => { @@ -142,12 +143,17 @@ const SearchBox = ({ ref: inputRef, ...inputProps, onKeyDown: (event) => { + // when selecting option using keyboard if (event.key === 'Enter') { - // when selecting option using keyboard - // downshift prevents form submission which is used to submit analytics event - // detect such event and separately send analytics event - sendSearchEventToAnalytics(inputValue) - if (highlightedIndex === null) { + if ( + highlightedIndex !== null || + (highlightedIndex === null && searchOnEnter) + ) { + sendSearchEventToAnalytics(inputValue) + } + if (highlightedIndex === null && searchOnEnter) { + // downshift prevents form submission which is used to submit analytics event + // detect such event and explicitly invoke handler handleSubmit(inputValue) } } From 30411b11645e873df620a54b27e50f28667f1b35 Mon Sep 17 00:00:00 2001 From: nauynix Date: Thu, 2 Sep 2021 16:22:40 +0800 Subject: [PATCH 22/33] chore: add focus and error colour to searchbox --- client/src/components/EnquiryModal/EnquiryModal.component.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/components/EnquiryModal/EnquiryModal.component.tsx b/client/src/components/EnquiryModal/EnquiryModal.component.tsx index f6b99e737..c7ed2eb5c 100644 --- a/client/src/components/EnquiryModal/EnquiryModal.component.tsx +++ b/client/src/components/EnquiryModal/EnquiryModal.component.tsx @@ -77,6 +77,8 @@ export const EnquiryModal = ({ Date: Thu, 2 Sep 2021 17:25:15 +0000 Subject: [PATCH 23/33] build(deps): bump sass from 1.38.2 to 1.39.0 in /client (#205) Bumps [sass](https://github.com/sass/dart-sass) from 1.38.2 to 1.39.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.38.2...1.39.0) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 1f6c7e859..0cc222743 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -17739,9 +17739,9 @@ "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" }, "sass": { - "version": "1.38.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz", - "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==", + "version": "1.39.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz", + "integrity": "sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==", "requires": { "chokidar": ">=3.0.0 <4.0.0" } diff --git a/client/package.json b/client/package.json index 0a9d87c83..1465e60e2 100644 --- a/client/package.json +++ b/client/package.json @@ -33,7 +33,7 @@ "react-scripts": "^4.0.3", "react-select": "^4.3.1", "react-tabs": "^3.1.2", - "sass": "^1.38.2", + "sass": "^1.39.0", "styled-components": "^5.3.1", "uuid": "^8.3.2" }, From 72d38c6847bf89103028a27c5f6e717ef67c7814 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 5 Sep 2021 17:18:36 +0000 Subject: [PATCH 24/33] build(deps): bump axios from 0.21.1 to 0.21.3 in /server (#209) Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.3. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.21.1...0.21.3) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/package-lock.json | 14 +++++++------- server/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index a7581d5d9..e6e46da92 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -3863,11 +3863,11 @@ "optional": true }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-eslint": { @@ -6236,9 +6236,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "follow-redirects": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz", - "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==" + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz", + "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==" }, "forever-agent": { "version": "0.6.1", diff --git a/server/package.json b/server/package.json index 387c6257d..0328538c1 100644 --- a/server/package.json +++ b/server/package.json @@ -17,7 +17,7 @@ "license": "MIT", "dependencies": { "@aws-sdk/client-s3": "^3.28.0", - "axios": "^0.21.1", + "axios": "^0.21.3", "bcrypt": "^5.0.0", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", From 462533d0fa49e8f080f08eff821c014957a14fa0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 5 Sep 2021 17:20:31 +0000 Subject: [PATCH 25/33] build(deps): bump axios from 0.21.1 to 0.21.3 in /client (#211) Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.3. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.21.1...0.21.3) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/package-lock.json | 8 ++++---- client/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 0cc222743..1c5df6772 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -4784,11 +4784,11 @@ "integrity": "sha512-3WVgVPs/7OnKU3s+lqMtkv3wQlg3WxK1YifmpJSDO0E1aPBrZWlrrTO6cxRqCXLuX2aYgCljqXIQd0VnRidV0g==" }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "axobject-query": { diff --git a/client/package.json b/client/package.json index 1465e60e2..f0c394d73 100644 --- a/client/package.json +++ b/client/package.json @@ -10,7 +10,7 @@ "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^12.0.0", "@testing-library/user-event": "^13.2.1", - "axios": "^0.21.1", + "axios": "^0.21.3", "downshift": "^6.1.7", "draft-js": "^0.11.7", "draftjs-to-html": "^0.9.1", From 22f11856f9d280fe1646e8cd84432bbde0de6429 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 5 Sep 2021 17:22:48 +0000 Subject: [PATCH 26/33] build(deps): bump react-router-dom from 5.2.1 to 5.3.0 in /client (#212) Bumps [react-router-dom](https://github.com/ReactTraining/react-router) from 5.2.1 to 5.3.0. - [Release notes](https://github.com/ReactTraining/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md) - [Commits](https://github.com/ReactTraining/react-router/compare/v5.2.1...v5.3.0) --- updated-dependencies: - dependency-name: react-router-dom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 1c5df6772..812990c6e 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -16904,9 +16904,9 @@ } }, "react-router-dom": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.1.tgz", - "integrity": "sha512-xhFFkBGVcIVPbWM2KEYzED+nuHQPmulVa7sqIs3ESxzYd1pYg8N8rxPnQ4T2o1zu/2QeDUWcaqST131SO1LR3w==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", + "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", "requires": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", diff --git a/client/package.json b/client/package.json index f0c394d73..25e604597 100644 --- a/client/package.json +++ b/client/package.json @@ -29,7 +29,7 @@ "react-hook-form": "^7.14.2", "react-icons": "^4.2.0", "react-query": "^3.21.1", - "react-router-dom": "^5.2.1", + "react-router-dom": "^5.3.0", "react-scripts": "^4.0.3", "react-select": "^4.3.1", "react-tabs": "^3.1.2", From 5d8047621d6184a1393d3b3577e064ca0a5871bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 5 Sep 2021 17:25:21 +0000 Subject: [PATCH 27/33] build(deps): bump react-hook-form from 7.14.2 to 7.15.0 in /client (#213) Bumps [react-hook-form](https://github.com/react-hook-form/react-hook-form) from 7.14.2 to 7.15.0. - [Release notes](https://github.com/react-hook-form/react-hook-form/releases) - [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md) - [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.14.2...v7.15.0) --- updated-dependencies: - dependency-name: react-hook-form dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 812990c6e..1307b3c56 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -16814,9 +16814,9 @@ } }, "react-hook-form": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.14.2.tgz", - "integrity": "sha512-32uvgKkaE/0vOncfnJdwQhfahhocPpcb5c7F4j9Eq7dOnqS2Hg8h70Bmt6KXb6veLSWJultc1+ik9QSfqXFmLA==" + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.15.0.tgz", + "integrity": "sha512-UWEkNhcTvA+o/FUZ2RMvpKgxxEg0rJqEjHMDwh3I4TIdHX38TtN8IywyGieqeWLiHEpoNVOuEhLVPZ9/srXUhA==" }, "react-icons": { "version": "4.2.0", diff --git a/client/package.json b/client/package.json index 25e604597..25e8dd863 100644 --- a/client/package.json +++ b/client/package.json @@ -26,7 +26,7 @@ "react-ga": "^3.3.0", "react-google-recaptcha": "^2.1.0", "react-helmet": "6.1.0", - "react-hook-form": "^7.14.2", + "react-hook-form": "^7.15.0", "react-icons": "^4.2.0", "react-query": "^3.21.1", "react-router-dom": "^5.3.0", From 79169861fff2dacd7d02f0ad3ba34008cfc33fd6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 5 Sep 2021 17:27:03 +0000 Subject: [PATCH 28/33] build(deps-dev): bump @types/styled-components in /client (#214) Bumps [@types/styled-components](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/styled-components) from 5.1.13 to 5.1.14. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/styled-components) --- updated-dependencies: - dependency-name: "@types/styled-components" 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> --- client/package-lock.json | 6 +++--- client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 1307b3c56..bd1dbc2c2 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -3942,9 +3942,9 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, "@types/styled-components": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.13.tgz", - "integrity": "sha512-nIIsiQ+Ag/4xnYf9mhzO3zIZ/zOmKN6HImEZifKh2TLibYz8OudzJbvzDu1uvMfX/+bs0B0RDPB2OIcbrrptVQ==", + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.14.tgz", + "integrity": "sha512-d6P1/tyNytqKwam3cQXq7a9uPtovc/mdAs7dBiz1YbDdNIT3X4WmuFU78YdSYh84TXVuhOwezZ3EeKuNBhwsHQ==", "dev": true, "requires": { "@types/hoist-non-react-statics": "*", diff --git a/client/package.json b/client/package.json index 25e8dd863..ce9c2d614 100644 --- a/client/package.json +++ b/client/package.json @@ -66,7 +66,7 @@ "@types/react-google-recaptcha": "^2.1.2", "@types/react-router-dom": "^5.1.7", "@types/react-select": "^4.0.16", - "@types/styled-components": "^5.1.13", + "@types/styled-components": "^5.1.14", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "babel-eslint": "^10.1.0", From dea5063181f9e99e634cbc237bcd97ad339dda08 Mon Sep 17 00:00:00 2001 From: Feng Xinyuan Date: Mon, 6 Sep 2021 09:34:33 +0800 Subject: [PATCH 29/33] chore: update readme (#208) --- .env.example | 6 ++--- README.md | 74 +++++++++++++++++++++++++++------------------------- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/.env.example b/.env.example index 23da69ad8..ffdc7fc19 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,7 @@ DB_HOST=localhost DB_NAME=askgov DB_USER=root -DB_PASSWORD=*create your own pw here* +DB_PASSWORD=password SERVER_PORT=5000 NODE_ENV=development JWT_SECRET=mysecrettoken @@ -16,8 +16,8 @@ AWS_SECRET_ACCESS_KEY=localstack MAIL_PORT=1025 MAIL_FROM=admin@ask.gov.sg MAIL_HOST=127.0.0.1 -MAIL_AUTH_USER= -MAIL_AUTH_PASS= +MAIL_AUTH_USER=user +MAIL_AUTH_PASS=password BANNER_MESSAGE= diff --git a/README.md b/README.md index ddaeca356..42cbe686b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # AskGov +Answers from the Singapore Government + ## Tech Stack #### Front-end -- Front-end Framework: `React`, switching to `react-query` -- Styling: `SASS` and `BOOTSTRAP`, switching to [Chakra UI](https://chakra-ui.com/) +- Front-end Framework: `React` +- Styling: `SASS` switching to [Chakra UI](https://chakra-ui.com/) #### Back-end @@ -16,82 +18,82 @@ [Git](https://git-scm.com/download/mac) +[Docker](https://docs.docker.com/desktop/mac/install/) + +[direnv](https://formulae.brew.sh/formula/direnv#default) + Optionally [VSCode](https://code.visualstudio.com/) with extension `ESLint` -## Setup +Optionally [DBeaver](https://dbeaver.io/download/) to view database with GUI -* Create a `.env` file with the same format as `.env.example` and fill it in: +## Setup - For development: - ``` - DB_HOST=localhost - DB_NAME=askgov - DB_USER=root - DB_PASSWORD=*create your own pw here* - SERVER_PORT=5000 - NODE_ENV=development - JWT_SECRET=mysecrettoken +* Make a copy of `.env.example` and name it `.env` - REACT_APP_RECAPTCHA_SITE_KEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI - RECAPTCHA_SECRET_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe - - FILE_BUCKET_NAME=files.ask.gov.sg - AWS_ACCESS_KEY_ID=localstack - AWS_SECRET_ACCESS_KEY=localstack +* [Hook](https://github.com/direnv/direnv/blob/master/docs/hook.md) direnv onto your appropriate shell. Load the environment variables: - MAIL_PORT=1025 - MAIL_FROM=admin@ask.gov.sg - MAIL_HOST=127.0.0.1 + ``` + direnv allow . ``` * Install and audit node dependencies ``` - $ npm install (To install all the dependencies) + npm install - $ npm run auditDep (Run this to audit fix all the vulnerabilities) + npm run auditDep ``` -* Install `direnv` [here](https://github.com/direnv/direnv/blob/master/docs/installation.md) and [hook](https://github.com/direnv/direnv/blob/master/docs/hook.md) it onto your appropriate shell. Load the environment variables: - +* Spin up docker containers (this will create the `askgov` database): + ``` - $ direnv allow . + docker-compose up ``` -* Spin up MySQL by running `docker-compose up` +* Create tables in database: -* Execute `npm run seq-cli db:migrate` to create the tables + ``` + npm run seq-cli db:migrate + ``` -* Execute `npm run seq-cli db:seed:all` to seed the database with a sample dataset +* Seed the database with a sample dataset: -* Download a database GUI like [DBeaver](https://dbeaver.io/download/) and connect to the local MySQL server at `127.0.0.1:3006`, using the username and password in `.env` + ``` + npm run seq-cli db:seed:all + ``` + +* Optional: Use Dbeaver to connect to the local MySQL server at `127.0.0.1:3006`, using the username and password in `.env` * Check that your Database ER Diagram looks like this: ![image](https://user-images.githubusercontent.com/20250559/130938844-60255d06-d07d-4c84-ad3f-0c13be7dcb67.png) -* Spin down MySQL by running `docker-compose down` +* Stop docker compose (`npm run dev` will spin it up again): + + ``` + docker-compose stop + ``` ## Running in Development * Start running frontend, backend, maildev, localstack and mysql simultaneously ``` - $ npm run dev + npm run dev ``` Alternatively, to run individually: ``` # for supporting services - $ docker-compose up + docker-compose up # for backend server only - $ npm run server + npm run server # for frontend server only - $ npm run client + npm run client ``` Frontend server accessible on `localhost:3000` From 3e18bf0e80ccc84c0333a2b51f028c180e8d99a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Sep 2021 01:40:08 +0000 Subject: [PATCH 30/33] build(deps): bump @aws-sdk/client-s3 from 3.28.0 to 3.29.0 in /server (#210) Bumps [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) from 3.28.0 to 3.29.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.29.0/clients/client-s3) --- updated-dependencies: - dependency-name: "@aws-sdk/client-s3" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- server/package-lock.json | 1645 ++++++++++++++++++++++++++------------ server/package.json | 2 +- 2 files changed, 1129 insertions(+), 518 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index e6e46da92..27b825861 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -53,11 +53,11 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.25.0.tgz", - "integrity": "sha512-uEVKqKkPVz6atbCxCNJY5O7V+ieSK8crUswXo8/WePyEbGEgxJ4t9x/WG4lV8kBjelmvQHDR4GqfJmb5Sh9xSg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.29.0.tgz", + "integrity": "sha512-MLeexxMs06WkPKuA/ltOCA3TV+vN1WQjEhojNtylQzz/AJDDq4z/7nmIf4lJKM7h1PDuD4XHLPfbxNuv75mu6A==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -69,9 +69,9 @@ } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.23.0.tgz", - "integrity": "sha512-gmJhCuXrKOOumppviE4K30NvsIQIqqxbGDNptrJrMYBO0qXCbK8/BypZ/hS/oT3loDzlSIxG2z5GDL/va9lbFw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.29.0.tgz", + "integrity": "sha512-s24ycAMo8rY60gGw9aH29QhpPJKD9M/0oCZ1cf9IZj1u2e896Q4Q/wknwfanaWS7thF5AcTdjNMfvny9QVJJBA==", "requires": { "tslib": "^2.3.0" }, @@ -84,11 +84,11 @@ } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.23.0.tgz", - "integrity": "sha512-Ya5f8Ntv0EyZw+AHkpV6n6qqHzpCDNlkX50uj/dwFCMmPiHFWsWMvd0Qu04Y7miycJINEatRrJ5V8r/uVvZIDg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.29.0.tgz", + "integrity": "sha512-m/zLdRz5AR5y8NblhYEXmoAAIQkad73D7tIkT1PvgPoC0wmSurBsbDCx2NYNi8CF5nRJjofq0MNduU0al/o8yg==", "requires": { - "@aws-sdk/util-base64-browser": "3.23.0", + "@aws-sdk/util-base64-browser": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -100,54 +100,54 @@ } }, "@aws-sdk/client-s3": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.28.0.tgz", - "integrity": "sha512-kbz17iQSrdHbUIpC3BiAgyws4uu2buOyBPFb/ttbYS8cVGqo2a8fina0TcguV2D1O4GZ4WtR0ymZ3kOarGga+A==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.29.0.tgz", + "integrity": "sha512-Tpc3scjBXLeZAQoOB6f1WZniXTQ++5pCTsPjzS2IaRFYvapjFm4tvbSUGTnj99CQBvMi2aFMT/HOTeM6+yBPTw==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.28.0", - "@aws-sdk/config-resolver": "3.28.0", - "@aws-sdk/credential-provider-node": "3.28.0", - "@aws-sdk/eventstream-serde-browser": "3.25.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.25.0", - "@aws-sdk/eventstream-serde-node": "3.25.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-blob-browser": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/hash-stream-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/md5-js": "3.25.0", - "@aws-sdk/middleware-apply-body-checksum": "3.25.0", - "@aws-sdk/middleware-bucket-endpoint": "3.28.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-expect-continue": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-location-constraint": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.28.0", - "@aws-sdk/middleware-sdk-s3": "3.25.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.28.0", - "@aws-sdk/middleware-ssec": "3.25.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.28.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.28.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.28.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", - "@aws-sdk/util-waiter": "3.25.0", - "@aws-sdk/xml-builder": "3.23.0", + "@aws-sdk/client-sts": "3.29.0", + "@aws-sdk/config-resolver": "3.29.0", + "@aws-sdk/credential-provider-node": "3.29.0", + "@aws-sdk/eventstream-serde-browser": "3.29.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.29.0", + "@aws-sdk/eventstream-serde-node": "3.29.0", + "@aws-sdk/fetch-http-handler": "3.29.0", + "@aws-sdk/hash-blob-browser": "3.29.0", + "@aws-sdk/hash-node": "3.29.0", + "@aws-sdk/hash-stream-node": "3.29.0", + "@aws-sdk/invalid-dependency": "3.29.0", + "@aws-sdk/md5-js": "3.29.0", + "@aws-sdk/middleware-apply-body-checksum": "3.29.0", + "@aws-sdk/middleware-bucket-endpoint": "3.29.0", + "@aws-sdk/middleware-content-length": "3.29.0", + "@aws-sdk/middleware-expect-continue": "3.29.0", + "@aws-sdk/middleware-host-header": "3.29.0", + "@aws-sdk/middleware-location-constraint": "3.29.0", + "@aws-sdk/middleware-logger": "3.29.0", + "@aws-sdk/middleware-retry": "3.29.0", + "@aws-sdk/middleware-sdk-s3": "3.29.0", + "@aws-sdk/middleware-serde": "3.29.0", + "@aws-sdk/middleware-signing": "3.29.0", + "@aws-sdk/middleware-ssec": "3.29.0", + "@aws-sdk/middleware-stack": "3.29.0", + "@aws-sdk/middleware-user-agent": "3.29.0", + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/node-http-handler": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/smithy-client": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/url-parser": "3.29.0", + "@aws-sdk/util-base64-browser": "3.29.0", + "@aws-sdk/util-base64-node": "3.29.0", + "@aws-sdk/util-body-length-browser": "3.29.0", + "@aws-sdk/util-body-length-node": "3.29.0", + "@aws-sdk/util-user-agent-browser": "3.29.0", + "@aws-sdk/util-user-agent-node": "3.29.0", + "@aws-sdk/util-utf8-browser": "3.29.0", + "@aws-sdk/util-utf8-node": "3.29.0", + "@aws-sdk/util-waiter": "3.29.0", + "@aws-sdk/xml-builder": "3.29.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -161,37 +161,37 @@ } }, "@aws-sdk/client-sso": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.28.0.tgz", - "integrity": "sha512-tpbuA7L0iz+dEPp+xIdKkM81TjJNU18W94nI6l9AWzA+uueSztx72lVJ3MWT21mlNn7oLE+Uia4uO/K5Jb1PSA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.29.0.tgz", + "integrity": "sha512-hYWVn+yvYG0txIO0k9yh22FE+9ye5EBW3CbfS9IWLsziGyQPWOCBwdTKrHR/Fax9ypmAr1dh0ArM7oE/FTyQvQ==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.28.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.28.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.28.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.28.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.28.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", + "@aws-sdk/config-resolver": "3.29.0", + "@aws-sdk/fetch-http-handler": "3.29.0", + "@aws-sdk/hash-node": "3.29.0", + "@aws-sdk/invalid-dependency": "3.29.0", + "@aws-sdk/middleware-content-length": "3.29.0", + "@aws-sdk/middleware-host-header": "3.29.0", + "@aws-sdk/middleware-logger": "3.29.0", + "@aws-sdk/middleware-retry": "3.29.0", + "@aws-sdk/middleware-serde": "3.29.0", + "@aws-sdk/middleware-stack": "3.29.0", + "@aws-sdk/middleware-user-agent": "3.29.0", + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/node-http-handler": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/smithy-client": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/url-parser": "3.29.0", + "@aws-sdk/util-base64-browser": "3.29.0", + "@aws-sdk/util-base64-node": "3.29.0", + "@aws-sdk/util-body-length-browser": "3.29.0", + "@aws-sdk/util-body-length-node": "3.29.0", + "@aws-sdk/util-user-agent-browser": "3.29.0", + "@aws-sdk/util-user-agent-node": "3.29.0", + "@aws-sdk/util-utf8-browser": "3.29.0", + "@aws-sdk/util-utf8-node": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -203,40 +203,40 @@ } }, "@aws-sdk/client-sts": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.28.0.tgz", - "integrity": "sha512-lT6Qr1dt3TpSHfUKe0MjgUBJkUbjXYyMqn+vuoGNV3K5ImRi6FUbmlKwFWQwk0t3fSdpX9xBML98aZOc6/YEgA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.29.0.tgz", + "integrity": "sha512-geiDdR47bDusfXjerX5qEX5b+1Ct3eVZZZAFckrCd7LdyCaH6dv87mSZ8+Vh9vM5HX/qVbhqRaJgQawg6EbcoA==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.28.0", - "@aws-sdk/credential-provider-node": "3.28.0", - "@aws-sdk/fetch-http-handler": "3.25.0", - "@aws-sdk/hash-node": "3.25.0", - "@aws-sdk/invalid-dependency": "3.25.0", - "@aws-sdk/middleware-content-length": "3.25.0", - "@aws-sdk/middleware-host-header": "3.25.0", - "@aws-sdk/middleware-logger": "3.25.0", - "@aws-sdk/middleware-retry": "3.28.0", - "@aws-sdk/middleware-sdk-sts": "3.28.0", - "@aws-sdk/middleware-serde": "3.25.0", - "@aws-sdk/middleware-signing": "3.28.0", - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/middleware-user-agent": "3.25.0", - "@aws-sdk/node-config-provider": "3.28.0", - "@aws-sdk/node-http-handler": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/smithy-client": "3.28.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", - "@aws-sdk/util-base64-node": "3.23.0", - "@aws-sdk/util-body-length-browser": "3.23.0", - "@aws-sdk/util-body-length-node": "3.23.0", - "@aws-sdk/util-user-agent-browser": "3.25.0", - "@aws-sdk/util-user-agent-node": "3.28.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", + "@aws-sdk/config-resolver": "3.29.0", + "@aws-sdk/credential-provider-node": "3.29.0", + "@aws-sdk/fetch-http-handler": "3.29.0", + "@aws-sdk/hash-node": "3.29.0", + "@aws-sdk/invalid-dependency": "3.29.0", + "@aws-sdk/middleware-content-length": "3.29.0", + "@aws-sdk/middleware-host-header": "3.29.0", + "@aws-sdk/middleware-logger": "3.29.0", + "@aws-sdk/middleware-retry": "3.29.0", + "@aws-sdk/middleware-sdk-sts": "3.29.0", + "@aws-sdk/middleware-serde": "3.29.0", + "@aws-sdk/middleware-signing": "3.29.0", + "@aws-sdk/middleware-stack": "3.29.0", + "@aws-sdk/middleware-user-agent": "3.29.0", + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/node-http-handler": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/smithy-client": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/url-parser": "3.29.0", + "@aws-sdk/util-base64-browser": "3.29.0", + "@aws-sdk/util-base64-node": "3.29.0", + "@aws-sdk/util-body-length-browser": "3.29.0", + "@aws-sdk/util-body-length-node": "3.29.0", + "@aws-sdk/util-user-agent-browser": "3.29.0", + "@aws-sdk/util-user-agent-node": "3.29.0", + "@aws-sdk/util-utf8-browser": "3.29.0", + "@aws-sdk/util-utf8-node": "3.29.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -250,12 +250,12 @@ } }, "@aws-sdk/config-resolver": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.28.0.tgz", - "integrity": "sha512-UrvuyZF4c1tuEbWrlmOallqLAD6ZHuhG4BHG54FkY42hzbqhmgvBkvehPxG2okSahRN8/A6ujlFX79D+tzJSCA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.29.0.tgz", + "integrity": "sha512-3OVWdftUrHTjVzXqlPSqJ7sHWOP5nww7DaYTJxWuMEROljLCRhyt1oTm3QJDbWH+jEpa/zxPe7M8IBxN+oYNRA==", "requires": { - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/signature-v4": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -267,12 +267,12 @@ } }, "@aws-sdk/credential-provider-env": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.28.0.tgz", - "integrity": "sha512-bKM0yE9jeKFu4xYyi3hXUHB4MbjDf4mCjVxj/eZSwckn/HflvShAfLuMWPKjNC/8p2A7OyqztPRQW5OWGMsmcQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.29.0.tgz", + "integrity": "sha512-FUhdZODjkUeTFNfH7EnqN9piQwBR1gg+8NUJt6Rn7G4rj5lN2n2ryAatowIlzIB+/oWDvpPj+yMIE+XGjQrMhg==", "requires": { - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -284,14 +284,14 @@ } }, "@aws-sdk/credential-provider-imds": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.28.0.tgz", - "integrity": "sha512-qZ0K/Og4B3jDovl5MeDILSwq4Yf1EFfYvLNCROJwrIhbYC5+sT8BxtxD3LVaw4O0no//XNuXYrFlWvXZi2j15Q==", - "requires": { - "@aws-sdk/node-config-provider": "3.28.0", - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/url-parser": "3.25.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.29.0.tgz", + "integrity": "sha512-sjyJrJoLhP2ekx+Z3m5g+/YIWYtuKII9eXuTTwRhzBKTpqv0WQm1ilISdNcz691JueF5jHQs4bP6FWk55RUWEg==", + "requires": { + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/url-parser": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -303,18 +303,18 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.28.0.tgz", - "integrity": "sha512-j8Opxa57vFDE0JfCUkZSgA2KrN6sYyn8oysj/XWuUrPwdO+qa73U5icTdGx/4zYge3jDgsEGoVI9IPoRTFNUsA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.28.0", - "@aws-sdk/credential-provider-imds": "3.28.0", - "@aws-sdk/credential-provider-sso": "3.28.0", - "@aws-sdk/credential-provider-web-identity": "3.28.0", - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.29.0.tgz", + "integrity": "sha512-dBnKOZcbHimQhr3gR0S3n75r4Tev9oiXQo1e+miq7a0Z1GCg/H9k2xorV1ECtLvT/zrTeTqUGNCMkxZ13VSiwg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.29.0", + "@aws-sdk/credential-provider-imds": "3.29.0", + "@aws-sdk/credential-provider-sso": "3.29.0", + "@aws-sdk/credential-provider-web-identity": "3.29.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-credentials": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -326,20 +326,20 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.28.0.tgz", - "integrity": "sha512-G29UpUXQ1SHtlUQCNJPRxBiCL7i+sVDwqaKGaReUiCznbCX3KSOkFsTrCIuVUu456821WmHB6QDspbOKn2U1QA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.28.0", - "@aws-sdk/credential-provider-imds": "3.28.0", - "@aws-sdk/credential-provider-ini": "3.28.0", - "@aws-sdk/credential-provider-process": "3.28.0", - "@aws-sdk/credential-provider-sso": "3.28.0", - "@aws-sdk/credential-provider-web-identity": "3.28.0", - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.29.0.tgz", + "integrity": "sha512-1KZhsKqiQ1+FHzeBDoTZ9N0/Xi9s3SM2ugiSolw0XCC1+5F9BzkUA3KHoD5wSeNboR6+/1+xbqZ+nRtRMOtlqg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.29.0", + "@aws-sdk/credential-provider-imds": "3.29.0", + "@aws-sdk/credential-provider-ini": "3.29.0", + "@aws-sdk/credential-provider-process": "3.29.0", + "@aws-sdk/credential-provider-sso": "3.29.0", + "@aws-sdk/credential-provider-web-identity": "3.29.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-credentials": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -351,14 +351,14 @@ } }, "@aws-sdk/credential-provider-process": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.28.0.tgz", - "integrity": "sha512-/uTD11FvuU4owVxih+uORyXghnSBAwwMxq8EuNMLT/p68gD9pRPDdnqBiNuHY+VVBbGyJqAUy+bWZqPnkmmU5w==", - "requires": { - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.29.0.tgz", + "integrity": "sha512-1dMq84uGh3zcu+/bGohibWYMSxcrjwaIAc4dBU/3+rkNzPPdRA83hzYS34EizQ61JQHnM3z/xX9SLMeaNRKaSA==", + "requires": { + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-credentials": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -370,15 +370,15 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.28.0.tgz", - "integrity": "sha512-T/+s9iUIygFYvJVgZdPWre92OL7iODYoZ7lP6TjdMPMRnCl6qPQ+Q7YAKxhdfQRex6xHxLa9ggemVDd4Pijr2w==", - "requires": { - "@aws-sdk/client-sso": "3.28.0", - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-credentials": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.29.0.tgz", + "integrity": "sha512-cye/blIzuT8XVHVu+fnEvkEEcfWt2KATIA/Qrvqg5q1bQHFp0w3waCwwE12mBrIx7Gfs7+zI9spfhJpR6oG1JQ==", + "requires": { + "@aws-sdk/client-sso": "3.29.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-credentials": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -390,12 +390,12 @@ } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.28.0.tgz", - "integrity": "sha512-8PQYOqAXTDUqAs6inNiu5opEpTLKdc1bjJaef1TgNfv5fJG8Ufl0nAsb+t26piMuBRwyh2ImKuW+qfyrFX2vtw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.29.0.tgz", + "integrity": "sha512-TwICG9y/iw08urlCymroQfRRJY++4JZwdhR0/2ycU+/Cgac6u4MfZsB1qD+u9+Q39/TqSz6QwtNhKLNdf0N23A==", "requires": { - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -407,13 +407,13 @@ } }, "@aws-sdk/eventstream-marshaller": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.25.0.tgz", - "integrity": "sha512-gUZIIxupgCIGyspiIV6bEplSRWnhAR9MkyrCJbHhbs4GjWIYlFqp7W0+Y7HY1tIeeXCUf0O8KE3paUMszKPXtg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.29.0.tgz", + "integrity": "sha512-yRcWAVSPEcZ8l/iYTJHdo3/aAEsrbY1X3M7N0eQbF/awAXTtrbZ0Fg213xWWgdydP1+TdFv13GeluqhKq/oBBg==", "requires": { "@aws-crypto/crc32": "^1.0.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-hex-encoding": "3.23.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-hex-encoding": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -425,13 +425,13 @@ } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.25.0.tgz", - "integrity": "sha512-QJF08OIZiufoBPPoVcRwBPvZIpKMSZpISZfpCHcY1GaTpMIzz35N7Nkd10JGpfzpUO9oFcgcmm2q3XHo1XJyyw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.29.0.tgz", + "integrity": "sha512-rzy5caqRjuRXpcbWRC6fGNm4/wt53noYz2Y5Adko+x4X9fSmOBkS+6BCo2I1wQ/RlLyhh+9jrC/ySnD/6Gsd7g==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.25.0", - "@aws-sdk/eventstream-serde-universal": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/eventstream-marshaller": "3.29.0", + "@aws-sdk/eventstream-serde-universal": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -443,11 +443,11 @@ } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.25.0.tgz", - "integrity": "sha512-Fb4VS3waKNzc6pK6tQBmWM+JmCNQJYNG/QBfb8y4AoJOZ+I7yX0Qgo90drh8IiUcIKDeprUFjSi/cGIa/KHIsg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.29.0.tgz", + "integrity": "sha512-q286hf5EJXcJy6NKeAvPReajGsqELRlV48Wz2Q6hG3n2FTRYO6JQC4pi/YrabnK+oeLZ3UZFye4Ph8BTL5/xnw==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -459,13 +459,13 @@ } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.25.0.tgz", - "integrity": "sha512-gPs+6w0zXf+p0PuOxxmpAlCvP/7E7+8oAar8Ys27exnLXNgqJJK1k5hMBSrfR9GLVti3EhJ1M9x5Seg1SN0/SA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.29.0.tgz", + "integrity": "sha512-859ZHD2FyBSEV4RpYl562i/ddcxNAHcrEsKJE430MNiNuiG324/RE/vIIOb5rleHZI+a62yfU1b/BjUrgVc6IQ==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.25.0", - "@aws-sdk/eventstream-serde-universal": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/eventstream-marshaller": "3.29.0", + "@aws-sdk/eventstream-serde-universal": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -477,12 +477,12 @@ } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.25.0.tgz", - "integrity": "sha512-NgsQk5dXg7NlRDEKGRUdiAx7WESQGD1jEhXitklL3/PHRZ7Y9BJugEFlBvKpU7tiHZBcomTbl/gE2o6i2op/jA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.29.0.tgz", + "integrity": "sha512-GOXf5s1mKf0aCtl+Um4kDDPrwZa1A9jx7vZ/cHSCc3mb/W/Nqn/CP0mMw4r3YCOkHLdil4TqoQ70/1/kHsq9YQ==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/eventstream-marshaller": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -494,14 +494,14 @@ } }, "@aws-sdk/fetch-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.25.0.tgz", - "integrity": "sha512-792kkbfSRBdiFb7Q2cDJts9MKxzAwuQSwUIwRKAOMazU8HkKbKnXXAFSsK3T7VasOFOh7O7YEGN0q9UgEw1q+g==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-base64-browser": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.29.0.tgz", + "integrity": "sha512-rx+YlHFYzgGsCZMEvJBUdRsqfMGW4RY6J3USQvz63a32jVlMC3Kw9xINaXGhCEmOlUlzdeeIMQOZW5VxavLnjQ==", + "requires": { + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/querystring-builder": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-base64-browser": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -513,13 +513,13 @@ } }, "@aws-sdk/hash-blob-browser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.25.0.tgz", - "integrity": "sha512-dsvV/nkW8v9wIotd3xJn3TQ8AxVLl56H82WkGkHcfw61csRxj3eSUNv0apUBopCcQPK8OK4l2nHAg08r0+LWXg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.29.0.tgz", + "integrity": "sha512-8nD1A0w7aPQ0Mzij7+X95GwapMm2MfrN6bLa1iCn5PNdQ5Zn+tK70NUL/s9X6KaEQi3Lh7S0xGN9paEZ5o4+sg==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.23.0", - "@aws-sdk/chunked-blob-reader-native": "3.23.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/chunked-blob-reader": "3.29.0", + "@aws-sdk/chunked-blob-reader-native": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -531,12 +531,12 @@ } }, "@aws-sdk/hash-node": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.25.0.tgz", - "integrity": "sha512-qRn6iqG9VLt8D29SBABcbauDLn92ssMjtpyVApiOhDYyFm2VA2avomOHD6y2PRBMwM5FMQAygZbpA2HIN2F96w==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.29.0.tgz", + "integrity": "sha512-iANkXAGNgUSX17GjyTdrFRE357AmAgnIsuyKhuaK8vi4SPPxHYCyXOdxtUx5TjkzW4bUym3cRJS8zeirayTEHA==", "requires": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-buffer-from": "3.23.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-buffer-from": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -548,11 +548,11 @@ } }, "@aws-sdk/hash-stream-node": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.25.0.tgz", - "integrity": "sha512-pzScUO9pPEEHQ5YQk1sl1bPlU2tt0OCblxUwboZJ9mRgNnWwkMWxe7Mec5IfyMWVUcbIznUHn7qRYEvJQ9JXmw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.29.0.tgz", + "integrity": "sha512-2ha+yzpJCoR23NoCfP/9OMBF5jgg76xAQo14/ItRWLnn0np7eRTGM+OFnNuAfvDRbzM4UcJoGDbUreAhaoSOBQ==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -564,11 +564,11 @@ } }, "@aws-sdk/invalid-dependency": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.25.0.tgz", - "integrity": "sha512-ZBXjBAF2JSiO/wGBa1oaXsd1q5YG3diS8TfIUMXeQoe9O66R5LGoGOQeAbB/JjlwFot6DZfAcfocvl6CtWwqkw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.29.0.tgz", + "integrity": "sha512-0TyZZbPs5SWCF2tT1DXccK5SUx7/bDJCVojgBuW3QRJn9ta3US/u5l7w8k6jwWFU3CQhLAWuG0TD7FhATiM2HQ==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -580,9 +580,9 @@ } }, "@aws-sdk/is-array-buffer": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.23.0.tgz", - "integrity": "sha512-XN20/scFthok0lCbjtinW77CoIBoar8cbOzmu+HkYTnBBpJrF6Ai5g9sgglO8r+X+OLn4PrDrTP+BxdpNuIh9g==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.29.0.tgz", + "integrity": "sha512-QqIhHGp2qTfDlW7uNh/T4kcyAU2TfxHA29cppQusuTJjploAXXMzvBdmxjFH1ZvPbKs0Rd7owQ0YnC9Lnq+Nzg==", "requires": { "tslib": "^2.3.0" }, @@ -595,13 +595,13 @@ } }, "@aws-sdk/md5-js": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.25.0.tgz", - "integrity": "sha512-97MtL1VF3JCkyJJnwi8LcXpqItnH1VtgoqtVqmaASYp5GXnlsnA1WDnB0754ufPHlssS1aBj/gkLzMZ0Htw/Rg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.29.0.tgz", + "integrity": "sha512-6wsT7zM9qEIbf+FI1QzKXG1o1z91u3zF6tPiXtdopVOs2m2I0emG2c1cEzqFwqB4HhiaR6PejBhn/tDxfc7oNw==", "requires": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-utf8-browser": "3.23.0", - "@aws-sdk/util-utf8-node": "3.23.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-utf8-browser": "3.29.0", + "@aws-sdk/util-utf8-node": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -613,13 +613,13 @@ } }, "@aws-sdk/middleware-apply-body-checksum": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.25.0.tgz", - "integrity": "sha512-162qFG7eap4vDKuKrpXWQYE4tbIETNrpTQX6jrPgqostOy1O0Nc5Bn1COIoOMgeMVnkOAZV7qV1J/XAYGz32Yw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.29.0.tgz", + "integrity": "sha512-csHiQKvxSJWxQx7lbla3Wgs+lWuNQ/DEFid5SxBZBhsqKz5FPBJr6kMPWIopmIL/vCxrYhMaS4ARloQBUkLoyQ==", "requires": { - "@aws-sdk/is-array-buffer": "3.23.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/is-array-buffer": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -631,13 +631,13 @@ } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.28.0.tgz", - "integrity": "sha512-YCL9SK+XiWG7/euKXGVDyHU43pVRut0AoF66+WoVLrl5UyuRwv3sqXT5AUh3JpHHw35oUCClTVpldm3iRDNhig==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.29.0.tgz", + "integrity": "sha512-xQmucefIcntHicb4UvzdnmscRMsoB50NbOOSud8TSfalamzoRLkW8vUgfYVj+BxfAuQzKengFltiQlaho3maiA==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-arn-parser": "3.23.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-arn-parser": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -649,12 +649,12 @@ } }, "@aws-sdk/middleware-content-length": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.25.0.tgz", - "integrity": "sha512-uOXus0MmZi/mucRIr5yfwM1vDhYG66CujNfnhyEaq5f4kcDA1Q5qPWSn9dkQPV9JWTZK3WTuYiOPSgtmlAYTAg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.29.0.tgz", + "integrity": "sha512-g+tOOXQXqKG84XwFrJexZa2iTuYJce9jnjHV4vyfXwVuKrwuf+ZFguPZ4hzEd40vDo5aLM49JtF/OcO4plCneg==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -666,13 +666,13 @@ } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.25.0.tgz", - "integrity": "sha512-o3euv8NIO0zlHML81krtfs4TrF5gZwoxBYtY+6tRHXlgutsHe1yfg1wrhWnJNbJg1QhPwXxbMNfYX7MM83D8Ng==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.29.0.tgz", + "integrity": "sha512-5SzOhxF1rO2ajlMkLYklTD9XnAcsDxKfAyRZeHCH5pYVdskjWphpJ61IS+/rWv+1L0qDsxYum7Ig50R853c4Cw==", "requires": { - "@aws-sdk/middleware-header-default": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/middleware-header-default": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -684,12 +684,12 @@ } }, "@aws-sdk/middleware-header-default": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.25.0.tgz", - "integrity": "sha512-xkFfZcctPL0VTxmEKITf6/MSDv/8rY+8uA9OMt/YZqfbg0RfeqR2+R1xlDNDxeHeK/v+g5gTNIYTQLM8L2unNA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.29.0.tgz", + "integrity": "sha512-DoTQvcmqhgTcPdkJi1+To/esmURd0HGaP3oUoIYxnoWK+hC1zJmq9hb+0oi1wdXX79l5iz2DkjH3sm547rJIuQ==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -701,12 +701,12 @@ } }, "@aws-sdk/middleware-host-header": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.25.0.tgz", - "integrity": "sha512-xKD/CfsUS3ul2VaQ3IgIUXgA7jU2/Guo/DUhYKrLZTOxm0nuvsIFw0RqSCtRBCLptE5Qi+unkc1LcFDbfqrRbg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.29.0.tgz", + "integrity": "sha512-aBifr86Owrhvy29cvZD17JzdoTtKMxzdjCkMA7ckNP+9Lg7kLI/6ws1yZ6BJlmcOnKxtNSnkvunGmJy8BU8EWQ==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -718,11 +718,11 @@ } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.25.0.tgz", - "integrity": "sha512-diwmJ+MRQrq3H9VH+8CNAT4dImf2j3CLewlMrUEY+HsJN9xl2mtU6GQaluQg60iw6FjurLUKKGTTZCul4PGkIQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.29.0.tgz", + "integrity": "sha512-c7aOFU7AEzLXTIen5VIBm45KrRHLVuHewIpotwApFFSpLjxroPogsT0MSFyGDR9cHLl5QCiJ777Zu6L2x6819A==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -734,11 +734,11 @@ } }, "@aws-sdk/middleware-logger": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.25.0.tgz", - "integrity": "sha512-M1F7BlAsDKoEM8hBaU2pHlLSM40rzzgtZ6jFNhfmTwGcjxe1N7JXCH5QPa7aI8wnJq2RoIRHVfVsUH4GwvOZnA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.29.0.tgz", + "integrity": "sha512-0rLvuTvfaMWNb7+FApXAH0111FEp/AfG3fO7QkyVrXmHlTrNIJozilhkd0FwEMcQqqM9UK5lPLXwloH9Rkp9vw==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -750,13 +750,13 @@ } }, "@aws-sdk/middleware-retry": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.28.0.tgz", - "integrity": "sha512-8a59/JaKxCa/IJWQOnfuTPAeYdwIqeIkzJ974pZUjoQR9KFBlxROV9pYLjanN8B1be8oV6Xhhl2n3i3rN0CL1w==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.29.0.tgz", + "integrity": "sha512-yRQ48UIGPmK3/jWMJ2LC4trltFevMDEXyvtT6knwDnwXxmuwv7K6udk6TnGaUU5TlLVI1XdRQHaZY7xZH1KbGw==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/service-error-classification": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/service-error-classification": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0", "uuid": "^8.3.2" }, @@ -769,13 +769,15 @@ } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.25.0.tgz", - "integrity": "sha512-Y1P6JnpAdj7p5Q43aSLSuYBCc3hKpZ/mrqFSGN8VFXl7Tzo7tYfjpd9SVRxNGJK7O7tDAUsPNmuGqBrdA2tj8w==", - "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-arn-parser": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.29.0.tgz", + "integrity": "sha512-/wOZv7ORvlOosS+XLRV34+3FStiPnFfLgPkYzm1QGKPtnQXr+3GQsqFQZAP12XqL7B0AyHLxCgBfCZCCvewd4g==", + "requires": { + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/signature-v4": "3.29.0", + "@aws-sdk/signature-v4-crt": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-arn-parser": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -787,15 +789,15 @@ } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.28.0.tgz", - "integrity": "sha512-uJO70AoU6Xzh4Br1aj6Dsqo8S/g1S1wkz9k6PWOclEGeGEL0XnCMyGqnlBW+Sk723DdQ0XzvWly1KURuuZ5FMA==", - "requires": { - "@aws-sdk/middleware-signing": "3.28.0", - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.29.0.tgz", + "integrity": "sha512-U1gmzmnVvoIVjYgPXp1mSdKrmBVMKfJCodLEL4cKzn4ScfivNVX31qzrJkSezL/10QUNrcpkswt3VzD6jBweWw==", + "requires": { + "@aws-sdk/middleware-signing": "3.29.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/signature-v4": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -807,11 +809,11 @@ } }, "@aws-sdk/middleware-serde": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.25.0.tgz", - "integrity": "sha512-065Kugo8yXzBkcVAxctxFCHKlHcINnaQRsJ8ifvgc+UOEgvTG9+LfGWDwfdgarW9CkF7RkCoZOyaqFsO+HJWsg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.29.0.tgz", + "integrity": "sha512-jN6zuaXg3k9HiWJZjBROiVJEdFaZrMikhyVdqYTT3hR+i08M/9UgVuX84HP/dALChZazOn9MPhvPWGvxrMOr9A==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -823,14 +825,14 @@ } }, "@aws-sdk/middleware-signing": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.28.0.tgz", - "integrity": "sha512-LFiQ2xTIvof44p1dbXEB7YJSOQ8Vd5NsseDXv70JMRm88PMH2iGwxcb4ZbAjhjfRmJ6uiCxLnDHpz49BCj9a/w==", - "requires": { - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/signature-v4": "3.25.0", - "@aws-sdk/types": "3.25.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.29.0.tgz", + "integrity": "sha512-Z5N2N8noUxzaUOliodq6vuf/77l30Gn7ukLw53k40tlILZ8+JGOa8pdZ3zAl+vlUwQtDtQtCRqoEb+znK6Rmvw==", + "requires": { + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/signature-v4": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -842,11 +844,11 @@ } }, "@aws-sdk/middleware-ssec": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.25.0.tgz", - "integrity": "sha512-bnrHb8oddW+vDexbNzZtpfshshKru+skcmq3dyXlL8LB/NlJsMiQJE8xoGbq5odTLiflIgaDBt527m5q58i+fg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.29.0.tgz", + "integrity": "sha512-XJC00iN3sqJ5ZH05VpP/bimRHfS1aWGs5/Vuz4swdyKGwez725ZBfof0lg6LSnP4G+me6ZqwsbUxHkdrupcWAA==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -858,9 +860,9 @@ } }, "@aws-sdk/middleware-stack": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.25.0.tgz", - "integrity": "sha512-s2VgdsasOVKHY3/SIGsw9AeZMMsdcIbBGWim9n5IO3j8C8y54EdRLVCEja8ePvMDZKIzuummwatYPHaUrnqPtQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.29.0.tgz", + "integrity": "sha512-S6Jt108uxs/PEoLAgGow9SdMKWXhlg0EGgY77Z4pNPQDrBYoca2kwWeTsyTpgBXSsyV0z0WZB4TJK5/doGv6CA==", "requires": { "tslib": "^2.3.0" }, @@ -873,12 +875,12 @@ } }, "@aws-sdk/middleware-user-agent": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.25.0.tgz", - "integrity": "sha512-HXd/Qknq8Cp7fzJYU7jDDpN7ReJ3arUrnt+dAPNaDDrhmrBbCZp+24UXN6X6DAj0JICRoRuF/l7KxjwdF5FShw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.29.0.tgz", + "integrity": "sha512-AVbn9QEbqBgScaD3cxLv7/yi9Up10vYKy/AWIwgTrW0LxOuy9+Za2hdk5eZRP/QpqS/Ibz2/CqcmK1GQ/03kmg==", "requires": { - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -890,13 +892,13 @@ } }, "@aws-sdk/node-config-provider": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.28.0.tgz", - "integrity": "sha512-FtK8c5wKYAHNMs8nnWCTjF/E4puII62g3Phov2LgVpvJbPWYvFL2J+n0fFaFr2+e7YTKhqhOyJYN/vne4XJ0kQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.29.0.tgz", + "integrity": "sha512-ANRnPz4IT4FiSAc+9p0HqGSjL+cdzB2E68BFmbbGin0fZwhflX1BksjuUEibw8Emf8jvhvbUxdtAIUWctTYxOA==", "requires": { - "@aws-sdk/property-provider": "3.28.0", - "@aws-sdk/shared-ini-file-loader": "3.23.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/property-provider": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -908,14 +910,14 @@ } }, "@aws-sdk/node-http-handler": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.25.0.tgz", - "integrity": "sha512-zVeAM/bXewZiuMtcUZI/xGDID6knkzOv73ueVkzUbP0Ki8bfao7diR3hMbIt5Fy/r8cAVjJce9v6zFqo4sr1WA==", - "requires": { - "@aws-sdk/abort-controller": "3.25.0", - "@aws-sdk/protocol-http": "3.25.0", - "@aws-sdk/querystring-builder": "3.25.0", - "@aws-sdk/types": "3.25.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.29.0.tgz", + "integrity": "sha512-FnPdoK0hmEr2JO/g7MVE3oeC2TvMpoRDQqUnDrn9C1bzRzgzhHqGVyaiRmc1HECMKjPFYVn02NCzY4qx56K0Ag==", + "requires": { + "@aws-sdk/abort-controller": "3.29.0", + "@aws-sdk/protocol-http": "3.29.0", + "@aws-sdk/querystring-builder": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -927,11 +929,11 @@ } }, "@aws-sdk/property-provider": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.28.0.tgz", - "integrity": "sha512-U+Y/y91ERFW6O4ghrIl6KvvNLW173V9hnAW9HQc+2Cf47aCoXR1PGOzqcqNWFmX1vBjI9WXUPop0JC9aAvgPGw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.29.0.tgz", + "integrity": "sha512-N2fd3H4mGGE51PgmMbEzBGSNwcyPkEgMxgfZsrQUaFh+CE5uuelOAL70Yzr4IZ4yZJvf1F9e8drtCuUcHnSUEw==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -943,11 +945,11 @@ } }, "@aws-sdk/protocol-http": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.25.0.tgz", - "integrity": "sha512-4Jebt5G8uIFa+HZO7KOgOtA66E/CXysQekiV5dfAsU8ca+rX5PB6qhpWZ2unX/l6He+oDQ0zMoW70JkNiP4/4w==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.29.0.tgz", + "integrity": "sha512-OIeJ7ukfgGkaIL0/NNM5sxIlfxtOqQN+KoaQ89YeLBlJPVoKnptAw+eWjjLwxLs+r/SbyZHXbBawP+sbzq0mSQ==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -959,12 +961,12 @@ } }, "@aws-sdk/querystring-builder": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.25.0.tgz", - "integrity": "sha512-o/R3/viOxjWckI+kepkxJSL7fIdg1hHYOW/rOpo9HbXS0CJrHVnB8vlBb+Xwl1IFyY2gg+5YZTjiufcgpgRBkw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.29.0.tgz", + "integrity": "sha512-htrHPmwGfWxl/Mt0JpR63NmlDtmwMJTjvLVrdbxBBXfjiyB8023lEFfyMSDHzD6fegQcw/rOwaliQNAuaVNnXQ==", "requires": { - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-uri-escape": "3.23.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-uri-escape": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -976,11 +978,11 @@ } }, "@aws-sdk/querystring-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.25.0.tgz", - "integrity": "sha512-FCNyaOLFLVS5j43MhVA7/VJUDX0t/9RyNTNulHgzFjj6ffsgqcY0uwUq1RO3QCL4asl56zOrLVJgK+Z7wMbvFg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.29.0.tgz", + "integrity": "sha512-v22PBXafAHw+wMaSGbq4B9wEsSYV2e0nZgGHZBNML3HPDiAYJqsQHiYEbiz8nzkmoayU0wrVFZ/XfKNXXcXGbw==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -992,14 +994,14 @@ } }, "@aws-sdk/service-error-classification": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.25.0.tgz", - "integrity": "sha512-66FfIab87LnnHtOLrGrVOht9Pw6lE8appyOpBdtoeoU5DP7ARSWuDdsYmKdGdRCWvn/RaVFbSYua9k0M1WsGqg==" + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.29.0.tgz", + "integrity": "sha512-VqOjXXTLTGbifzg3Fg2g/Ac6W3uzC3llPZjm/b0goM17KLWMGU7JKiem2l+CFyN4sxkver7InNlIUJCJAPB6+Q==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.23.0.tgz", - "integrity": "sha512-YUp46l6E3dLKHp1cKMkZI4slTjsVc/Lm7nPCTVc3oQvZ1MvC99N/jMCmZ7X5YYofuAUSdc9eJ8sYiF2BnUww9g==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.29.0.tgz", + "integrity": "sha512-x4Chk4+iMiYaxcomZjdg7IwU1mQhJ7iPl/3RrIqCShPIOZDwwH4vLl6Fw0bniOZiHK30JQ1wlAgLxzVP0JMHTw==", "requires": { "tslib": "^2.3.0" }, @@ -1012,14 +1014,35 @@ } }, "@aws-sdk/signature-v4": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.25.0.tgz", - "integrity": "sha512-6KDRRz9XVrj9RxrBLC6dzfnb2TDl3CjIzcNpLdRuKFgzEEdwV+5D+EZuAQU3MuHG5pWTIwG72k/dmCbJ2MDPUQ==", - "requires": { - "@aws-sdk/is-array-buffer": "3.23.0", - "@aws-sdk/types": "3.25.0", - "@aws-sdk/util-hex-encoding": "3.23.0", - "@aws-sdk/util-uri-escape": "3.23.0", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.29.0.tgz", + "integrity": "sha512-h39TC9FNi74wojvhVzkEkeqVzRvIiyQLSn6IFYwXaAE9X/wlkUt80fzvADjHAy9BNATu5GO54aKR3kLsG9/LLg==", + "requires": { + "@aws-sdk/is-array-buffer": "3.29.0", + "@aws-sdk/types": "3.29.0", + "@aws-sdk/util-hex-encoding": "3.29.0", + "@aws-sdk/util-uri-escape": "3.29.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@aws-sdk/signature-v4-crt": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.29.0.tgz", + "integrity": "sha512-0suw2CXfsxN7Oqh98WvfVPjUMZ5ZUb0JNkMBIV380DnWBPs5CfK1JVwCmBxnJfWO+J16v5bfGG8sEbIfq1exrQ==", + "requires": { + "@aws-sdk/is-array-buffer": "3.29.0", + "@aws-sdk/querystring-parser": "3.29.0", + "@aws-sdk/signature-v4": "3.29.0", + "@aws-sdk/util-hex-encoding": "3.29.0", + "@aws-sdk/util-uri-escape": "3.29.0", + "aws-crt": "^1.9.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1031,12 +1054,12 @@ } }, "@aws-sdk/smithy-client": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.28.0.tgz", - "integrity": "sha512-ChlO4jPvfw05mNsJgfVqvMNH6jtRKi6ySj5HuZ0LcX644hUcEljPhN0hdFr8XtaGKsxbfkBHILhKFs/W42J+2A==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.29.0.tgz", + "integrity": "sha512-QRTYdFcORkJMgDk5DJ661cttnrukoDS/FKXhsCX0tkrgCQsgG6SUOdfWBmyPFC3cXts1GKlwanTqAIiWp/yJ0w==", "requires": { - "@aws-sdk/middleware-stack": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/middleware-stack": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1048,17 +1071,17 @@ } }, "@aws-sdk/types": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.25.0.tgz", - "integrity": "sha512-vS0+cTKwj6CujlR07HmeEBxzWPWSrdmZMYnxn/QC9KW9dFu0lsyCGSCqWsFluI6GI0flsnYYWNkP5y4bfD9tqg==" + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.29.0.tgz", + "integrity": "sha512-8ilWQU5ZTdiRfblmmjl38+6JZKKM8EqA5Sbn8djgDLShCLeVJ2TsL2guzNi+WHcL7BHdv1pI/NNmTcgRUo6yOw==" }, "@aws-sdk/url-parser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.25.0.tgz", - "integrity": "sha512-qZ3Vq0NjHsE7Qq6R5NVRswIAsiyYjCDnAV+/Vt4jU/K0V3mGumiasiJyRyblW4Da8R6kfcJk0mHSMFRJfoHh8Q==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.29.0.tgz", + "integrity": "sha512-385f+g4xeRym2S4bzF+Nc0MB8addAlCSb5hIUJu1JKH6FwFLrNRuixeaelGLyWr77xv25P0ruyXQAFf2ISxzKw==", "requires": { - "@aws-sdk/querystring-parser": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/querystring-parser": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1070,9 +1093,9 @@ } }, "@aws-sdk/util-arn-parser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.23.0.tgz", - "integrity": "sha512-J3+/wnC21kbb3UAHo7x31aCZxzIa7GBijt6Q7nad/j2aF38EZtE3SI0aZpD8250Vi+9zsZ4672QDUeSZ5BR5kg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.29.0.tgz", + "integrity": "sha512-NK4xAU7EGp0H4oYIICAJL49BzGvezkWD6rQdfJpXrPoqXviXXDq0nmFEoP9k4PsT+mDBEFiuvXhQlrHhBPVx5g==", "requires": { "tslib": "^2.3.0" }, @@ -1085,9 +1108,9 @@ } }, "@aws-sdk/util-base64-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.23.0.tgz", - "integrity": "sha512-xlI/qw+uhLJWa3k0mRtRHQ42v5QzsMFEUXScredQMfJ/34qzXyocsG6OHPOTV1I8WSANrxnHR5m1Ae3iU6JuVw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.29.0.tgz", + "integrity": "sha512-yMgn5vZ7laVO/497iPDjTdmia3sDdFBDq6k42EZxVTpkUcd8JS2nWJ+9ePuIMwqOgPjhhkOOXiidrbZaUQ+L6Q==", "requires": { "tslib": "^2.3.0" }, @@ -1100,11 +1123,11 @@ } }, "@aws-sdk/util-base64-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.23.0.tgz", - "integrity": "sha512-Kf8JIAUtjrPcD5CJzrig2B5CtegWswUNpW4zBarww/UJhHlp8WzKlCxxA+yNS1ghT0ZMjrRvxPabKDGpkyUfmQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.29.0.tgz", + "integrity": "sha512-4pRwjQ6+yS7SQm+yK3pchrsmGPEuoR2YiNsBG0LVNecQmnxWUbOhaEWIxXKTnAzs9bAt7AWEbLzsW8/cN/yTNw==", "requires": { - "@aws-sdk/util-buffer-from": "3.23.0", + "@aws-sdk/util-buffer-from": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1116,9 +1139,9 @@ } }, "@aws-sdk/util-body-length-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.23.0.tgz", - "integrity": "sha512-Bi6u/5omQbOBSB5BxqVvaPgVplLRjhhSuqK3XAukbeBPh7lcibIBdy7YvbhQyl4i8Hb2QjFnqqfzA0lNBe5eiw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.29.0.tgz", + "integrity": "sha512-cKSwlDlZkcxuhSdoiq1TxleaBvveEgKA2Yo4TYP4DKVPHZuYZtbFv8r1driml1SaIKXg4GQpe+pJit3mxDRxAg==", "requires": { "tslib": "^2.3.0" }, @@ -1131,9 +1154,9 @@ } }, "@aws-sdk/util-body-length-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.23.0.tgz", - "integrity": "sha512-8kSczloA78mikPaJ742SU9Wpwfcz3HOruoXiP/pOy69UZEsMe4P7zTZI1bo8BAp7j6IFUPCXth9E3UAtkbz+CQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.29.0.tgz", + "integrity": "sha512-8rG65GMpsjVFd9jhx5y/dhwbJVIKq0OqwNRK+GoIVDo0KKaGtjNbCVHYYDjpwIuksZumiqvlC0E3AUcXn7p1rQ==", "requires": { "tslib": "^2.3.0" }, @@ -1146,11 +1169,11 @@ } }, "@aws-sdk/util-buffer-from": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.23.0.tgz", - "integrity": "sha512-axXy1FvEOM1uECgMPmyHF1S3Hd7JI+BerhhcAlGig0bbqUsZVQUNL9yhOsWreA+nf1v08Ucj8P2SHPCT9Hvpgg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.29.0.tgz", + "integrity": "sha512-4ODxK5y/yONgsuc9SAzZ0j/v0IQkJVCRApziF4Q8NiZ1z9050nZ08rgTEhrTbWgLmDju4SDvJhn/nUNTrsLhug==", "requires": { - "@aws-sdk/is-array-buffer": "3.23.0", + "@aws-sdk/is-array-buffer": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1162,11 +1185,11 @@ } }, "@aws-sdk/util-credentials": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.23.0.tgz", - "integrity": "sha512-6TDGZnFa0kZr+vSsWXXMfWt347jbMGKtzGnBxbrmiQgZMijz9s/wLYxsjglZ+CyqI/QrSMOTtqy6mEgJxdnGWQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.29.0.tgz", + "integrity": "sha512-xCWQizP5d6SwbwB2HmxpDqu0WYY7/E7pNrZ+7tSMrJxZlT8Zsd+lFaO23JVFMEBqjjBnpLBr+XkNZgOpD1BYwA==", "requires": { - "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/shared-ini-file-loader": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1178,9 +1201,9 @@ } }, "@aws-sdk/util-hex-encoding": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.23.0.tgz", - "integrity": "sha512-RFDCwNrJMmmPSMVRadxRNePqTXGwtL9s4844x44D0bbGg1TdC42rrg0PRKYkxFL7wd1FbibVQOzciZAvzF+Z+w==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.29.0.tgz", + "integrity": "sha512-YZ9fhJ2HKnnPL+8M9/YMFo4906Cvh1NaVOZT61joPM5Vv1rSYXdD1/tvn2qNjVhAJAGFWdBsIqZWw43km5DNpw==", "requires": { "tslib": "^2.3.0" }, @@ -1193,9 +1216,9 @@ } }, "@aws-sdk/util-locate-window": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.23.0.tgz", - "integrity": "sha512-mM8kWW7SWIxCshkNllpYqCQi5SzwJ+sv5nURhtquOB5/H3qGqZm0V5lUE3qpE1AYmqKwk6qbGUy1woFn1T5nrw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.29.0.tgz", + "integrity": "sha512-gvcbl9UdTOvuCCzgbtTTsKnL1l/cnT/CFl0f6ZCQ6qubUTRCuL/aK8DvgWa1n9p/ddCiVKPLmHu/L1xtX4gc0A==", "requires": { "tslib": "^2.3.0" }, @@ -1208,9 +1231,9 @@ } }, "@aws-sdk/util-uri-escape": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.23.0.tgz", - "integrity": "sha512-SvQx2E/FDlI5vLT67wwn/k1j2R/G58tYj4Te6GNgEwPGL43X2+7c0+d/WTgndMaRvxSBHZMUTxBYh1HOeU7loA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.29.0.tgz", + "integrity": "sha512-js834TiNTdwIZOxmGSCPiLETUoc2JslY07D6A+yLNI/kZmmTHa0tKCyPxMqo7LBb+iU9ymky2LLJuDGp6aZNHw==", "requires": { "tslib": "^2.3.0" }, @@ -1223,11 +1246,11 @@ } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.25.0.tgz", - "integrity": "sha512-qGqiWfs49NRmQVXPsBXgMRVkjDZocicU0V2wak98e0t7TOI+KmP8hnwsTkE6c4KwhsFOOUhAzjn5zk3kOwi6tQ==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.29.0.tgz", + "integrity": "sha512-se9WLQS3H36u8FUA3/DfnzH3LU77QBRpJN4FmQtcQHR3A5mR2tRty+eOrvIf2R4QtveMWXrQbvScTrca7ZFZug==", "requires": { - "@aws-sdk/types": "3.25.0", + "@aws-sdk/types": "3.29.0", "bowser": "^2.11.0", "tslib": "^2.3.0" }, @@ -1240,12 +1263,12 @@ } }, "@aws-sdk/util-user-agent-node": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.28.0.tgz", - "integrity": "sha512-i2wjRrNKIi1s4Tu0LaZUFxoVaYbJFqkabE6FEjfGlLr5cgHG6Pn+3mAA2QFifIeG0CbM8vnhMB6U06R0eSmZVw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.29.0.tgz", + "integrity": "sha512-atyjuDnD1WtIR1sZzcCJcD0JyYKGZ6bYqAhh/apaiPs0LoTyaFGYN8K7wSr3gL8PqD9YYNKfiNiPU3AbY6pW5A==", "requires": { - "@aws-sdk/node-config-provider": "3.28.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/node-config-provider": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1257,9 +1280,9 @@ } }, "@aws-sdk/util-utf8-browser": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.23.0.tgz", - "integrity": "sha512-fSB95AKnvCnAbCd7o0xLbErfAgD9wnLCaEu23AgfGAiaG3nFF8Z2+wtjebU/9Z4RI9d/x83Ho/yguRnJdkMsPA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.29.0.tgz", + "integrity": "sha512-ZIHbBYByMq5vadQ1SZOQTHVtrkGAFiuypATYF5ST8YB3j7XKvflv+fiBX2xQ8xpqb28noEg6dNPnvqkQQ1n/aw==", "requires": { "tslib": "^2.3.0" }, @@ -1272,11 +1295,11 @@ } }, "@aws-sdk/util-utf8-node": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.23.0.tgz", - "integrity": "sha512-yao8+8okyfCxRvxZe3GBdO7lJnQEBf3P6rDgleOQD/0DZmMjOQGXCvDd42oagE2TegXhkUnJfVOZU2GqdoR0hg==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.29.0.tgz", + "integrity": "sha512-CIZPDnSvtfv7MeHM/hA1fHXcXJR2f7ULjw4nXsX/BLaKGKf/O6IhOXPt1ecUIpGeUrCgPCqxkDjmThUCa87Bcg==", "requires": { - "@aws-sdk/util-buffer-from": "3.23.0", + "@aws-sdk/util-buffer-from": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1288,12 +1311,12 @@ } }, "@aws-sdk/util-waiter": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.25.0.tgz", - "integrity": "sha512-rhJ7Q2fcPD8y4H0qNEpaspkSUya0OaNcVrca9wCZKs7jWnropPzrQ+e2MH7fWJ/8jgcBV890+Txr4fWkD4J01g==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.29.0.tgz", + "integrity": "sha512-9qNsX+yRpX8xE0eW9qHZCy7W6+MFkYFR10umSPVl9gc5p+RViQwS0D2wVYmQblrqGK6VpK+wAb3faFf6KaDesg==", "requires": { - "@aws-sdk/abort-controller": "3.25.0", - "@aws-sdk/types": "3.25.0", + "@aws-sdk/abort-controller": "3.29.0", + "@aws-sdk/types": "3.29.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1305,9 +1328,9 @@ } }, "@aws-sdk/xml-builder": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.23.0.tgz", - "integrity": "sha512-5LEGdhQIJtGTwg4dIYyNtpz5QvPcQoxsqJygmj+VB8KLd+mWorH1IOpiL74z0infeK9N+ZFUUPKIzPJa9xLPqw==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.29.0.tgz", + "integrity": "sha512-lixmZNupjRsfAxCZh3CshqWSxKJEAPcuPiKhUlW9DhfoIc+YTD9U5G2fzY9LBd7ugDo4N7H5sU3Oa1iYLp2ZDg==", "requires": { "tslib": "^2.3.0" }, @@ -3721,7 +3744,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3729,6 +3751,11 @@ "uri-js": "^4.2.2" } }, + "ansi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" + }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -3818,7 +3845,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, "optional": true, "requires": { "safer-buffer": "~2.1.0" @@ -3828,7 +3854,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, "optional": true }, "astral-regex": { @@ -3842,24 +3867,39 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-crt": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.1.tgz", + "integrity": "sha512-nsWTwK1W2ZlJqrPQbfdqvewrt8J4WNO5/FVc2jMArib7viLNdEywBtf3qfbRjhO4GRKimHKggDmOv7Qa6PAWrw==", + "requires": { + "axios": "^0.21.1", + "cmake-js": "6.1.0", + "crypto-js": "^4.0.0", + "fastestsmallesttextencoderdecoder": "^1.0.22", + "mqtt": "^4.2.8", + "websocket-stream": "^5.5.2" + } }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, "optional": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true, "optional": true }, "axios": { @@ -4032,6 +4072,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -4053,7 +4098,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "optional": true, "requires": { "tweetnacl": "^0.14.3" @@ -4064,17 +4108,53 @@ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + }, "bignumber.js": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "requires": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + } + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -4191,6 +4271,15 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "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", @@ -4201,6 +4290,21 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, + "buffer-indexof-polyfill": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", + "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" + }, "busboy": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", @@ -4275,9 +4379,16 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, "optional": true }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4498,6 +4609,181 @@ } } }, + "cmake-js": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz", + "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==", + "requires": { + "debug": "^4", + "fs-extra": "^5.0.0", + "is-iojs": "^1.0.1", + "lodash": "^4", + "memory-stream": "0", + "npmlog": "^1.2.0", + "rc": "^1.2.7", + "request": "^2.54.0", + "semver": "^5.0.3", + "splitargs": "0", + "tar": "^4", + "unzipper": "^0.8.13", + "url-join": "0", + "which": "^1.0.9", + "yargs": "^3.6.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", + "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "gauge": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", + "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", + "requires": { + "ansi": "^0.3.0", + "has-unicode": "^2.0.0", + "lodash.pad": "^4.1.0", + "lodash.padend": "^4.1.0", + "lodash.padstart": "^4.1.0" + } + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "npmlog": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", + "integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=", + "requires": { + "ansi": "~0.3.0", + "are-we-there-yet": "~1.0.0", + "gauge": "~1.2.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "requires": { + "camelcase": "^2.0.1", + "cliui": "^3.0.3", + "decamelize": "^1.1.1", + "os-locale": "^1.4.0", + "string-width": "^1.0.1", + "window-size": "^0.1.4", + "y18n": "^3.2.0" + } + } + } + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -4570,7 +4856,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -4581,6 +4866,22 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, + "commist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", + "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", + "requires": { + "leven": "^2.1.0", + "minimist": "^1.1.0" + }, + "dependencies": { + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" + } + } + }, "commitizen": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.4.tgz", @@ -4953,6 +5254,11 @@ } } }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", @@ -5014,7 +5320,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0" @@ -5065,8 +5370,7 @@ "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, "deep-is": { "version": "0.1.3", @@ -5083,8 +5387,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", @@ -5213,6 +5516,37 @@ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "dynamic-dedupe": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", @@ -5226,7 +5560,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "optional": true, "requires": { "jsbn": "~0.1.0", @@ -5316,6 +5649,14 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -6030,7 +6371,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, "optional": true }, "external-editor": { @@ -6048,14 +6388,12 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, "optional": true }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-diff": { "version": "1.2.0", @@ -6079,8 +6417,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -6098,6 +6435,11 @@ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" }, + "fastestsmallesttextencoderdecoder": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", + "integrity": "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==" + }, "fastq": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", @@ -6244,7 +6586,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, "optional": true }, "form-data": { @@ -6309,8 +6650,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "optional": true, "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -6322,7 +6661,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -6332,7 +6670,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -6420,7 +6757,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0" @@ -6505,21 +6841,18 @@ "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, "optional": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, "optional": true, "requires": { "ajv": "^6.12.3", @@ -6556,6 +6889,27 @@ "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz", "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==" }, + "help-me": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", + "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", + "requires": { + "glob": "^7.1.6", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -6620,7 +6974,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0", @@ -6656,6 +7009,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -6733,8 +7091,7 @@ "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "inquirer": { "version": "6.5.2", @@ -6809,6 +7166,11 @@ } } }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -6876,6 +7238,11 @@ "is-extglob": "^2.1.1" } }, + "is-iojs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz", + "integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6919,8 +7286,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unicode-supported": { "version": "0.1.0", @@ -6948,14 +7314,12 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, "optional": true }, "istanbul-lib-coverage": { @@ -9398,7 +9762,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, "optional": true }, "jsdom": { @@ -9460,14 +9823,12 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, "optional": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -9479,7 +9840,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, "optional": true }, "json5": { @@ -9494,7 +9854,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -9527,7 +9886,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -9566,6 +9924,14 @@ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -9661,6 +10027,11 @@ } } }, + "listenercount": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", + "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" + }, "listr2": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.11.0.tgz", @@ -9818,6 +10189,21 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "lodash.pad": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", + "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=" + }, + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" + }, + "lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" + }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -10120,6 +10506,37 @@ } } }, + "memory-stream": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz", + "integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=", + "requires": { + "readable-stream": "~1.0.26-2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "merge": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", @@ -10262,6 +10679,60 @@ } } }, + "mqtt": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.2.8.tgz", + "integrity": "sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==", + "requires": { + "commist": "^1.0.0", + "concat-stream": "^2.0.0", + "debug": "^4.1.1", + "duplexify": "^4.1.1", + "help-me": "^3.0.0", + "inherits": "^2.0.3", + "minimist": "^1.2.5", + "mqtt-packet": "^6.8.0", + "pump": "^3.0.0", + "readable-stream": "^3.6.0", + "reinterval": "^1.1.0", + "split2": "^3.1.0", + "ws": "^7.5.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "mqtt-packet": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", + "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", + "requires": { + "bl": "^4.0.2", + "debug": "^4.1.1", + "process-nextick-args": "^2.0.1" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -10623,7 +11094,6 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, "optional": true }, "object-assign": { @@ -10695,6 +11165,14 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -10826,7 +11304,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true, "optional": true }, "picomatch": { @@ -10989,14 +11466,21 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { "version": "6.7.0", @@ -11034,7 +11518,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -11045,8 +11528,7 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" } } }, @@ -11105,12 +11587,15 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, + "reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "optional": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -11138,7 +11623,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "optional": true, "requires": { "asynckit": "^0.4.0", @@ -11150,14 +11634,12 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, "optional": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, "optional": true, "requires": { "psl": "^1.1.28", @@ -11168,7 +11650,6 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, "optional": true } } @@ -11531,6 +12012,11 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", @@ -11705,6 +12191,31 @@ "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, + "split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "requires": { + "readable-stream": "^3.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "splitargs": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", + "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=" + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -11846,7 +12357,6 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, "optional": true, "requires": { "asn1": "~0.2.3", @@ -11887,6 +12397,11 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, "streamsearch": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", @@ -12300,6 +12815,11 @@ "punycode": "^2.1.1" } }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -12422,7 +12942,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "optional": true, "requires": { "safe-buffer": "^5.0.1" @@ -12432,7 +12951,6 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, "optional": true }, "type": { @@ -12499,6 +13017,11 @@ "random-bytes": "~1.0.0" } }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, "umzug": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", @@ -12511,23 +13034,73 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unzipper": { + "version": "0.8.14", + "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz", + "integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==", + "requires": { + "big-integer": "^1.6.17", + "binary": "~0.3.0", + "bluebird": "~3.4.1", + "buffer-indexof-polyfill": "~1.0.0", + "duplexer2": "~0.1.4", + "fstream": "~1.0.10", + "listenercount": "~1.0.1", + "readable-stream": "~2.1.5", + "setimmediate": "~1.0.4" + }, + "dependencies": { + "bluebird": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", + "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } }, + "url-join": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", + "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -12592,7 +13165,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0", @@ -12633,6 +13205,42 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, + "websocket-stream": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.2.tgz", + "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==", + "requires": { + "duplexify": "^3.5.1", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "safe-buffer": "^5.1.2", + "ws": "^3.2.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", @@ -12663,7 +13271,6 @@ "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" } @@ -12682,6 +13289,11 @@ "string-width": "^1.0.2 || 2" } }, + "window-size": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + }, "winston": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", @@ -12829,8 +13441,7 @@ "ws": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", - "dev": true + "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==" }, "xml-name-validator": { "version": "3.0.0", diff --git a/server/package.json b/server/package.json index 0328538c1..b393fcb7e 100644 --- a/server/package.json +++ b/server/package.json @@ -16,7 +16,7 @@ }, "license": "MIT", "dependencies": { - "@aws-sdk/client-s3": "^3.28.0", + "@aws-sdk/client-s3": "^3.29.0", "axios": "^0.21.3", "bcrypt": "^5.0.0", "bcryptjs": "^2.4.3", From 239407d9ab41e614f781b60d7c127273f8471c7d Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Mon, 6 Sep 2021 11:10:47 +0800 Subject: [PATCH 31/33] fix(search): ensure input is preserved on touchEnd event (#217) --- client/src/components/SearchBox/SearchBox.component.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/components/SearchBox/SearchBox.component.jsx b/client/src/components/SearchBox/SearchBox.component.jsx index 06f9eae63..ab4e1b65c 100644 --- a/client/src/components/SearchBox/SearchBox.component.jsx +++ b/client/src/components/SearchBox/SearchBox.component.jsx @@ -97,6 +97,7 @@ const SearchBox = ({ return [ Downshift.stateChangeTypes.blurInput, Downshift.stateChangeTypes.mouseUp, + Downshift.stateChangeTypes.touchEnd, ].includes(changes.type) ? { isOpen: false } // no-changes : changes From ac034d104f964b484073298c6909c3bbbbf9a565 Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Mon, 6 Sep 2021 11:36:39 +0800 Subject: [PATCH 32/33] docs(readme): fix typo on MySQL port number (#221) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 42cbe686b..a6c8e4695 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Optionally [DBeaver](https://dbeaver.io/download/) to view database with GUI npm run seq-cli db:seed:all ``` -* Optional: Use Dbeaver to connect to the local MySQL server at `127.0.0.1:3006`, using the username and password in `.env` +* Optional: Use Dbeaver to connect to the local MySQL server at `127.0.0.1:3306`, using the username and password in `.env` * Check that your Database ER Diagram looks like this: From 89902c3b44998946465cdc34f71ea3d18e562fc9 Mon Sep 17 00:00:00 2001 From: LoneRifle Date: Mon, 6 Sep 2021 11:48:56 +0800 Subject: [PATCH 33/33] Revert "build(deps): bump @aws-sdk/client-s3 from 3.28.0 to 3.29.0 in /server (#210)" (#222) This reverts commit 3e18bf0e80ccc84c0333a2b51f028c180e8d99a1. --- server/package-lock.json | 1645 ++++++++++++-------------------------- server/package.json | 2 +- 2 files changed, 518 insertions(+), 1129 deletions(-) diff --git a/server/package-lock.json b/server/package-lock.json index 27b825861..e6e46da92 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -53,11 +53,11 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.29.0.tgz", - "integrity": "sha512-MLeexxMs06WkPKuA/ltOCA3TV+vN1WQjEhojNtylQzz/AJDDq4z/7nmIf4lJKM7h1PDuD4XHLPfbxNuv75mu6A==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.25.0.tgz", + "integrity": "sha512-uEVKqKkPVz6atbCxCNJY5O7V+ieSK8crUswXo8/WePyEbGEgxJ4t9x/WG4lV8kBjelmvQHDR4GqfJmb5Sh9xSg==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -69,9 +69,9 @@ } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.29.0.tgz", - "integrity": "sha512-s24ycAMo8rY60gGw9aH29QhpPJKD9M/0oCZ1cf9IZj1u2e896Q4Q/wknwfanaWS7thF5AcTdjNMfvny9QVJJBA==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.23.0.tgz", + "integrity": "sha512-gmJhCuXrKOOumppviE4K30NvsIQIqqxbGDNptrJrMYBO0qXCbK8/BypZ/hS/oT3loDzlSIxG2z5GDL/va9lbFw==", "requires": { "tslib": "^2.3.0" }, @@ -84,11 +84,11 @@ } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.29.0.tgz", - "integrity": "sha512-m/zLdRz5AR5y8NblhYEXmoAAIQkad73D7tIkT1PvgPoC0wmSurBsbDCx2NYNi8CF5nRJjofq0MNduU0al/o8yg==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.23.0.tgz", + "integrity": "sha512-Ya5f8Ntv0EyZw+AHkpV6n6qqHzpCDNlkX50uj/dwFCMmPiHFWsWMvd0Qu04Y7miycJINEatRrJ5V8r/uVvZIDg==", "requires": { - "@aws-sdk/util-base64-browser": "3.29.0", + "@aws-sdk/util-base64-browser": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -100,54 +100,54 @@ } }, "@aws-sdk/client-s3": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.29.0.tgz", - "integrity": "sha512-Tpc3scjBXLeZAQoOB6f1WZniXTQ++5pCTsPjzS2IaRFYvapjFm4tvbSUGTnj99CQBvMi2aFMT/HOTeM6+yBPTw==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.28.0.tgz", + "integrity": "sha512-kbz17iQSrdHbUIpC3BiAgyws4uu2buOyBPFb/ttbYS8cVGqo2a8fina0TcguV2D1O4GZ4WtR0ymZ3kOarGga+A==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.29.0", - "@aws-sdk/config-resolver": "3.29.0", - "@aws-sdk/credential-provider-node": "3.29.0", - "@aws-sdk/eventstream-serde-browser": "3.29.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.29.0", - "@aws-sdk/eventstream-serde-node": "3.29.0", - "@aws-sdk/fetch-http-handler": "3.29.0", - "@aws-sdk/hash-blob-browser": "3.29.0", - "@aws-sdk/hash-node": "3.29.0", - "@aws-sdk/hash-stream-node": "3.29.0", - "@aws-sdk/invalid-dependency": "3.29.0", - "@aws-sdk/md5-js": "3.29.0", - "@aws-sdk/middleware-apply-body-checksum": "3.29.0", - "@aws-sdk/middleware-bucket-endpoint": "3.29.0", - "@aws-sdk/middleware-content-length": "3.29.0", - "@aws-sdk/middleware-expect-continue": "3.29.0", - "@aws-sdk/middleware-host-header": "3.29.0", - "@aws-sdk/middleware-location-constraint": "3.29.0", - "@aws-sdk/middleware-logger": "3.29.0", - "@aws-sdk/middleware-retry": "3.29.0", - "@aws-sdk/middleware-sdk-s3": "3.29.0", - "@aws-sdk/middleware-serde": "3.29.0", - "@aws-sdk/middleware-signing": "3.29.0", - "@aws-sdk/middleware-ssec": "3.29.0", - "@aws-sdk/middleware-stack": "3.29.0", - "@aws-sdk/middleware-user-agent": "3.29.0", - "@aws-sdk/node-config-provider": "3.29.0", - "@aws-sdk/node-http-handler": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/smithy-client": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/url-parser": "3.29.0", - "@aws-sdk/util-base64-browser": "3.29.0", - "@aws-sdk/util-base64-node": "3.29.0", - "@aws-sdk/util-body-length-browser": "3.29.0", - "@aws-sdk/util-body-length-node": "3.29.0", - "@aws-sdk/util-user-agent-browser": "3.29.0", - "@aws-sdk/util-user-agent-node": "3.29.0", - "@aws-sdk/util-utf8-browser": "3.29.0", - "@aws-sdk/util-utf8-node": "3.29.0", - "@aws-sdk/util-waiter": "3.29.0", - "@aws-sdk/xml-builder": "3.29.0", + "@aws-sdk/client-sts": "3.28.0", + "@aws-sdk/config-resolver": "3.28.0", + "@aws-sdk/credential-provider-node": "3.28.0", + "@aws-sdk/eventstream-serde-browser": "3.25.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.25.0", + "@aws-sdk/eventstream-serde-node": "3.25.0", + "@aws-sdk/fetch-http-handler": "3.25.0", + "@aws-sdk/hash-blob-browser": "3.25.0", + "@aws-sdk/hash-node": "3.25.0", + "@aws-sdk/hash-stream-node": "3.25.0", + "@aws-sdk/invalid-dependency": "3.25.0", + "@aws-sdk/md5-js": "3.25.0", + "@aws-sdk/middleware-apply-body-checksum": "3.25.0", + "@aws-sdk/middleware-bucket-endpoint": "3.28.0", + "@aws-sdk/middleware-content-length": "3.25.0", + "@aws-sdk/middleware-expect-continue": "3.25.0", + "@aws-sdk/middleware-host-header": "3.25.0", + "@aws-sdk/middleware-location-constraint": "3.25.0", + "@aws-sdk/middleware-logger": "3.25.0", + "@aws-sdk/middleware-retry": "3.28.0", + "@aws-sdk/middleware-sdk-s3": "3.25.0", + "@aws-sdk/middleware-serde": "3.25.0", + "@aws-sdk/middleware-signing": "3.28.0", + "@aws-sdk/middleware-ssec": "3.25.0", + "@aws-sdk/middleware-stack": "3.25.0", + "@aws-sdk/middleware-user-agent": "3.25.0", + "@aws-sdk/node-config-provider": "3.28.0", + "@aws-sdk/node-http-handler": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/smithy-client": "3.28.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/url-parser": "3.25.0", + "@aws-sdk/util-base64-browser": "3.23.0", + "@aws-sdk/util-base64-node": "3.23.0", + "@aws-sdk/util-body-length-browser": "3.23.0", + "@aws-sdk/util-body-length-node": "3.23.0", + "@aws-sdk/util-user-agent-browser": "3.25.0", + "@aws-sdk/util-user-agent-node": "3.28.0", + "@aws-sdk/util-utf8-browser": "3.23.0", + "@aws-sdk/util-utf8-node": "3.23.0", + "@aws-sdk/util-waiter": "3.25.0", + "@aws-sdk/xml-builder": "3.23.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -161,37 +161,37 @@ } }, "@aws-sdk/client-sso": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.29.0.tgz", - "integrity": "sha512-hYWVn+yvYG0txIO0k9yh22FE+9ye5EBW3CbfS9IWLsziGyQPWOCBwdTKrHR/Fax9ypmAr1dh0ArM7oE/FTyQvQ==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.28.0.tgz", + "integrity": "sha512-tpbuA7L0iz+dEPp+xIdKkM81TjJNU18W94nI6l9AWzA+uueSztx72lVJ3MWT21mlNn7oLE+Uia4uO/K5Jb1PSA==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.29.0", - "@aws-sdk/fetch-http-handler": "3.29.0", - "@aws-sdk/hash-node": "3.29.0", - "@aws-sdk/invalid-dependency": "3.29.0", - "@aws-sdk/middleware-content-length": "3.29.0", - "@aws-sdk/middleware-host-header": "3.29.0", - "@aws-sdk/middleware-logger": "3.29.0", - "@aws-sdk/middleware-retry": "3.29.0", - "@aws-sdk/middleware-serde": "3.29.0", - "@aws-sdk/middleware-stack": "3.29.0", - "@aws-sdk/middleware-user-agent": "3.29.0", - "@aws-sdk/node-config-provider": "3.29.0", - "@aws-sdk/node-http-handler": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/smithy-client": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/url-parser": "3.29.0", - "@aws-sdk/util-base64-browser": "3.29.0", - "@aws-sdk/util-base64-node": "3.29.0", - "@aws-sdk/util-body-length-browser": "3.29.0", - "@aws-sdk/util-body-length-node": "3.29.0", - "@aws-sdk/util-user-agent-browser": "3.29.0", - "@aws-sdk/util-user-agent-node": "3.29.0", - "@aws-sdk/util-utf8-browser": "3.29.0", - "@aws-sdk/util-utf8-node": "3.29.0", + "@aws-sdk/config-resolver": "3.28.0", + "@aws-sdk/fetch-http-handler": "3.25.0", + "@aws-sdk/hash-node": "3.25.0", + "@aws-sdk/invalid-dependency": "3.25.0", + "@aws-sdk/middleware-content-length": "3.25.0", + "@aws-sdk/middleware-host-header": "3.25.0", + "@aws-sdk/middleware-logger": "3.25.0", + "@aws-sdk/middleware-retry": "3.28.0", + "@aws-sdk/middleware-serde": "3.25.0", + "@aws-sdk/middleware-stack": "3.25.0", + "@aws-sdk/middleware-user-agent": "3.25.0", + "@aws-sdk/node-config-provider": "3.28.0", + "@aws-sdk/node-http-handler": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/smithy-client": "3.28.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/url-parser": "3.25.0", + "@aws-sdk/util-base64-browser": "3.23.0", + "@aws-sdk/util-base64-node": "3.23.0", + "@aws-sdk/util-body-length-browser": "3.23.0", + "@aws-sdk/util-body-length-node": "3.23.0", + "@aws-sdk/util-user-agent-browser": "3.25.0", + "@aws-sdk/util-user-agent-node": "3.28.0", + "@aws-sdk/util-utf8-browser": "3.23.0", + "@aws-sdk/util-utf8-node": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -203,40 +203,40 @@ } }, "@aws-sdk/client-sts": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.29.0.tgz", - "integrity": "sha512-geiDdR47bDusfXjerX5qEX5b+1Ct3eVZZZAFckrCd7LdyCaH6dv87mSZ8+Vh9vM5HX/qVbhqRaJgQawg6EbcoA==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.28.0.tgz", + "integrity": "sha512-lT6Qr1dt3TpSHfUKe0MjgUBJkUbjXYyMqn+vuoGNV3K5ImRi6FUbmlKwFWQwk0t3fSdpX9xBML98aZOc6/YEgA==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.29.0", - "@aws-sdk/credential-provider-node": "3.29.0", - "@aws-sdk/fetch-http-handler": "3.29.0", - "@aws-sdk/hash-node": "3.29.0", - "@aws-sdk/invalid-dependency": "3.29.0", - "@aws-sdk/middleware-content-length": "3.29.0", - "@aws-sdk/middleware-host-header": "3.29.0", - "@aws-sdk/middleware-logger": "3.29.0", - "@aws-sdk/middleware-retry": "3.29.0", - "@aws-sdk/middleware-sdk-sts": "3.29.0", - "@aws-sdk/middleware-serde": "3.29.0", - "@aws-sdk/middleware-signing": "3.29.0", - "@aws-sdk/middleware-stack": "3.29.0", - "@aws-sdk/middleware-user-agent": "3.29.0", - "@aws-sdk/node-config-provider": "3.29.0", - "@aws-sdk/node-http-handler": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/smithy-client": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/url-parser": "3.29.0", - "@aws-sdk/util-base64-browser": "3.29.0", - "@aws-sdk/util-base64-node": "3.29.0", - "@aws-sdk/util-body-length-browser": "3.29.0", - "@aws-sdk/util-body-length-node": "3.29.0", - "@aws-sdk/util-user-agent-browser": "3.29.0", - "@aws-sdk/util-user-agent-node": "3.29.0", - "@aws-sdk/util-utf8-browser": "3.29.0", - "@aws-sdk/util-utf8-node": "3.29.0", + "@aws-sdk/config-resolver": "3.28.0", + "@aws-sdk/credential-provider-node": "3.28.0", + "@aws-sdk/fetch-http-handler": "3.25.0", + "@aws-sdk/hash-node": "3.25.0", + "@aws-sdk/invalid-dependency": "3.25.0", + "@aws-sdk/middleware-content-length": "3.25.0", + "@aws-sdk/middleware-host-header": "3.25.0", + "@aws-sdk/middleware-logger": "3.25.0", + "@aws-sdk/middleware-retry": "3.28.0", + "@aws-sdk/middleware-sdk-sts": "3.28.0", + "@aws-sdk/middleware-serde": "3.25.0", + "@aws-sdk/middleware-signing": "3.28.0", + "@aws-sdk/middleware-stack": "3.25.0", + "@aws-sdk/middleware-user-agent": "3.25.0", + "@aws-sdk/node-config-provider": "3.28.0", + "@aws-sdk/node-http-handler": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/smithy-client": "3.28.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/url-parser": "3.25.0", + "@aws-sdk/util-base64-browser": "3.23.0", + "@aws-sdk/util-base64-node": "3.23.0", + "@aws-sdk/util-body-length-browser": "3.23.0", + "@aws-sdk/util-body-length-node": "3.23.0", + "@aws-sdk/util-user-agent-browser": "3.25.0", + "@aws-sdk/util-user-agent-node": "3.28.0", + "@aws-sdk/util-utf8-browser": "3.23.0", + "@aws-sdk/util-utf8-node": "3.23.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -250,12 +250,12 @@ } }, "@aws-sdk/config-resolver": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.29.0.tgz", - "integrity": "sha512-3OVWdftUrHTjVzXqlPSqJ7sHWOP5nww7DaYTJxWuMEROljLCRhyt1oTm3QJDbWH+jEpa/zxPe7M8IBxN+oYNRA==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.28.0.tgz", + "integrity": "sha512-UrvuyZF4c1tuEbWrlmOallqLAD6ZHuhG4BHG54FkY42hzbqhmgvBkvehPxG2okSahRN8/A6ujlFX79D+tzJSCA==", "requires": { - "@aws-sdk/signature-v4": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/signature-v4": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -267,12 +267,12 @@ } }, "@aws-sdk/credential-provider-env": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.29.0.tgz", - "integrity": "sha512-FUhdZODjkUeTFNfH7EnqN9piQwBR1gg+8NUJt6Rn7G4rj5lN2n2ryAatowIlzIB+/oWDvpPj+yMIE+XGjQrMhg==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.28.0.tgz", + "integrity": "sha512-bKM0yE9jeKFu4xYyi3hXUHB4MbjDf4mCjVxj/eZSwckn/HflvShAfLuMWPKjNC/8p2A7OyqztPRQW5OWGMsmcQ==", "requires": { - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -284,14 +284,14 @@ } }, "@aws-sdk/credential-provider-imds": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.29.0.tgz", - "integrity": "sha512-sjyJrJoLhP2ekx+Z3m5g+/YIWYtuKII9eXuTTwRhzBKTpqv0WQm1ilISdNcz691JueF5jHQs4bP6FWk55RUWEg==", - "requires": { - "@aws-sdk/node-config-provider": "3.29.0", - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/url-parser": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.28.0.tgz", + "integrity": "sha512-qZ0K/Og4B3jDovl5MeDILSwq4Yf1EFfYvLNCROJwrIhbYC5+sT8BxtxD3LVaw4O0no//XNuXYrFlWvXZi2j15Q==", + "requires": { + "@aws-sdk/node-config-provider": "3.28.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/url-parser": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -303,18 +303,18 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.29.0.tgz", - "integrity": "sha512-dBnKOZcbHimQhr3gR0S3n75r4Tev9oiXQo1e+miq7a0Z1GCg/H9k2xorV1ECtLvT/zrTeTqUGNCMkxZ13VSiwg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.29.0", - "@aws-sdk/credential-provider-imds": "3.29.0", - "@aws-sdk/credential-provider-sso": "3.29.0", - "@aws-sdk/credential-provider-web-identity": "3.29.0", - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/shared-ini-file-loader": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-credentials": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.28.0.tgz", + "integrity": "sha512-j8Opxa57vFDE0JfCUkZSgA2KrN6sYyn8oysj/XWuUrPwdO+qa73U5icTdGx/4zYge3jDgsEGoVI9IPoRTFNUsA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.28.0", + "@aws-sdk/credential-provider-imds": "3.28.0", + "@aws-sdk/credential-provider-sso": "3.28.0", + "@aws-sdk/credential-provider-web-identity": "3.28.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-credentials": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -326,20 +326,20 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.29.0.tgz", - "integrity": "sha512-1KZhsKqiQ1+FHzeBDoTZ9N0/Xi9s3SM2ugiSolw0XCC1+5F9BzkUA3KHoD5wSeNboR6+/1+xbqZ+nRtRMOtlqg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.29.0", - "@aws-sdk/credential-provider-imds": "3.29.0", - "@aws-sdk/credential-provider-ini": "3.29.0", - "@aws-sdk/credential-provider-process": "3.29.0", - "@aws-sdk/credential-provider-sso": "3.29.0", - "@aws-sdk/credential-provider-web-identity": "3.29.0", - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/shared-ini-file-loader": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-credentials": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.28.0.tgz", + "integrity": "sha512-G29UpUXQ1SHtlUQCNJPRxBiCL7i+sVDwqaKGaReUiCznbCX3KSOkFsTrCIuVUu456821WmHB6QDspbOKn2U1QA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.28.0", + "@aws-sdk/credential-provider-imds": "3.28.0", + "@aws-sdk/credential-provider-ini": "3.28.0", + "@aws-sdk/credential-provider-process": "3.28.0", + "@aws-sdk/credential-provider-sso": "3.28.0", + "@aws-sdk/credential-provider-web-identity": "3.28.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-credentials": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -351,14 +351,14 @@ } }, "@aws-sdk/credential-provider-process": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.29.0.tgz", - "integrity": "sha512-1dMq84uGh3zcu+/bGohibWYMSxcrjwaIAc4dBU/3+rkNzPPdRA83hzYS34EizQ61JQHnM3z/xX9SLMeaNRKaSA==", - "requires": { - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/shared-ini-file-loader": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-credentials": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.28.0.tgz", + "integrity": "sha512-/uTD11FvuU4owVxih+uORyXghnSBAwwMxq8EuNMLT/p68gD9pRPDdnqBiNuHY+VVBbGyJqAUy+bWZqPnkmmU5w==", + "requires": { + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-credentials": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -370,15 +370,15 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.29.0.tgz", - "integrity": "sha512-cye/blIzuT8XVHVu+fnEvkEEcfWt2KATIA/Qrvqg5q1bQHFp0w3waCwwE12mBrIx7Gfs7+zI9spfhJpR6oG1JQ==", - "requires": { - "@aws-sdk/client-sso": "3.29.0", - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/shared-ini-file-loader": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-credentials": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.28.0.tgz", + "integrity": "sha512-T/+s9iUIygFYvJVgZdPWre92OL7iODYoZ7lP6TjdMPMRnCl6qPQ+Q7YAKxhdfQRex6xHxLa9ggemVDd4Pijr2w==", + "requires": { + "@aws-sdk/client-sso": "3.28.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-credentials": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -390,12 +390,12 @@ } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.29.0.tgz", - "integrity": "sha512-TwICG9y/iw08urlCymroQfRRJY++4JZwdhR0/2ycU+/Cgac6u4MfZsB1qD+u9+Q39/TqSz6QwtNhKLNdf0N23A==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.28.0.tgz", + "integrity": "sha512-8PQYOqAXTDUqAs6inNiu5opEpTLKdc1bjJaef1TgNfv5fJG8Ufl0nAsb+t26piMuBRwyh2ImKuW+qfyrFX2vtw==", "requires": { - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -407,13 +407,13 @@ } }, "@aws-sdk/eventstream-marshaller": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.29.0.tgz", - "integrity": "sha512-yRcWAVSPEcZ8l/iYTJHdo3/aAEsrbY1X3M7N0eQbF/awAXTtrbZ0Fg213xWWgdydP1+TdFv13GeluqhKq/oBBg==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.25.0.tgz", + "integrity": "sha512-gUZIIxupgCIGyspiIV6bEplSRWnhAR9MkyrCJbHhbs4GjWIYlFqp7W0+Y7HY1tIeeXCUf0O8KE3paUMszKPXtg==", "requires": { "@aws-crypto/crc32": "^1.0.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-hex-encoding": "3.29.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-hex-encoding": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -425,13 +425,13 @@ } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.29.0.tgz", - "integrity": "sha512-rzy5caqRjuRXpcbWRC6fGNm4/wt53noYz2Y5Adko+x4X9fSmOBkS+6BCo2I1wQ/RlLyhh+9jrC/ySnD/6Gsd7g==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.25.0.tgz", + "integrity": "sha512-QJF08OIZiufoBPPoVcRwBPvZIpKMSZpISZfpCHcY1GaTpMIzz35N7Nkd10JGpfzpUO9oFcgcmm2q3XHo1XJyyw==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.29.0", - "@aws-sdk/eventstream-serde-universal": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/eventstream-marshaller": "3.25.0", + "@aws-sdk/eventstream-serde-universal": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -443,11 +443,11 @@ } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.29.0.tgz", - "integrity": "sha512-q286hf5EJXcJy6NKeAvPReajGsqELRlV48Wz2Q6hG3n2FTRYO6JQC4pi/YrabnK+oeLZ3UZFye4Ph8BTL5/xnw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.25.0.tgz", + "integrity": "sha512-Fb4VS3waKNzc6pK6tQBmWM+JmCNQJYNG/QBfb8y4AoJOZ+I7yX0Qgo90drh8IiUcIKDeprUFjSi/cGIa/KHIsg==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -459,13 +459,13 @@ } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.29.0.tgz", - "integrity": "sha512-859ZHD2FyBSEV4RpYl562i/ddcxNAHcrEsKJE430MNiNuiG324/RE/vIIOb5rleHZI+a62yfU1b/BjUrgVc6IQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.25.0.tgz", + "integrity": "sha512-gPs+6w0zXf+p0PuOxxmpAlCvP/7E7+8oAar8Ys27exnLXNgqJJK1k5hMBSrfR9GLVti3EhJ1M9x5Seg1SN0/SA==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.29.0", - "@aws-sdk/eventstream-serde-universal": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/eventstream-marshaller": "3.25.0", + "@aws-sdk/eventstream-serde-universal": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -477,12 +477,12 @@ } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.29.0.tgz", - "integrity": "sha512-GOXf5s1mKf0aCtl+Um4kDDPrwZa1A9jx7vZ/cHSCc3mb/W/Nqn/CP0mMw4r3YCOkHLdil4TqoQ70/1/kHsq9YQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.25.0.tgz", + "integrity": "sha512-NgsQk5dXg7NlRDEKGRUdiAx7WESQGD1jEhXitklL3/PHRZ7Y9BJugEFlBvKpU7tiHZBcomTbl/gE2o6i2op/jA==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/eventstream-marshaller": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -494,14 +494,14 @@ } }, "@aws-sdk/fetch-http-handler": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.29.0.tgz", - "integrity": "sha512-rx+YlHFYzgGsCZMEvJBUdRsqfMGW4RY6J3USQvz63a32jVlMC3Kw9xINaXGhCEmOlUlzdeeIMQOZW5VxavLnjQ==", - "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/querystring-builder": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-base64-browser": "3.29.0", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.25.0.tgz", + "integrity": "sha512-792kkbfSRBdiFb7Q2cDJts9MKxzAwuQSwUIwRKAOMazU8HkKbKnXXAFSsK3T7VasOFOh7O7YEGN0q9UgEw1q+g==", + "requires": { + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/querystring-builder": "3.25.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-base64-browser": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -513,13 +513,13 @@ } }, "@aws-sdk/hash-blob-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.29.0.tgz", - "integrity": "sha512-8nD1A0w7aPQ0Mzij7+X95GwapMm2MfrN6bLa1iCn5PNdQ5Zn+tK70NUL/s9X6KaEQi3Lh7S0xGN9paEZ5o4+sg==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.25.0.tgz", + "integrity": "sha512-dsvV/nkW8v9wIotd3xJn3TQ8AxVLl56H82WkGkHcfw61csRxj3eSUNv0apUBopCcQPK8OK4l2nHAg08r0+LWXg==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.29.0", - "@aws-sdk/chunked-blob-reader-native": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/chunked-blob-reader": "3.23.0", + "@aws-sdk/chunked-blob-reader-native": "3.23.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -531,12 +531,12 @@ } }, "@aws-sdk/hash-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.29.0.tgz", - "integrity": "sha512-iANkXAGNgUSX17GjyTdrFRE357AmAgnIsuyKhuaK8vi4SPPxHYCyXOdxtUx5TjkzW4bUym3cRJS8zeirayTEHA==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.25.0.tgz", + "integrity": "sha512-qRn6iqG9VLt8D29SBABcbauDLn92ssMjtpyVApiOhDYyFm2VA2avomOHD6y2PRBMwM5FMQAygZbpA2HIN2F96w==", "requires": { - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-buffer-from": "3.29.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-buffer-from": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -548,11 +548,11 @@ } }, "@aws-sdk/hash-stream-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.29.0.tgz", - "integrity": "sha512-2ha+yzpJCoR23NoCfP/9OMBF5jgg76xAQo14/ItRWLnn0np7eRTGM+OFnNuAfvDRbzM4UcJoGDbUreAhaoSOBQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.25.0.tgz", + "integrity": "sha512-pzScUO9pPEEHQ5YQk1sl1bPlU2tt0OCblxUwboZJ9mRgNnWwkMWxe7Mec5IfyMWVUcbIznUHn7qRYEvJQ9JXmw==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -564,11 +564,11 @@ } }, "@aws-sdk/invalid-dependency": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.29.0.tgz", - "integrity": "sha512-0TyZZbPs5SWCF2tT1DXccK5SUx7/bDJCVojgBuW3QRJn9ta3US/u5l7w8k6jwWFU3CQhLAWuG0TD7FhATiM2HQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.25.0.tgz", + "integrity": "sha512-ZBXjBAF2JSiO/wGBa1oaXsd1q5YG3diS8TfIUMXeQoe9O66R5LGoGOQeAbB/JjlwFot6DZfAcfocvl6CtWwqkw==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -580,9 +580,9 @@ } }, "@aws-sdk/is-array-buffer": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.29.0.tgz", - "integrity": "sha512-QqIhHGp2qTfDlW7uNh/T4kcyAU2TfxHA29cppQusuTJjploAXXMzvBdmxjFH1ZvPbKs0Rd7owQ0YnC9Lnq+Nzg==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.23.0.tgz", + "integrity": "sha512-XN20/scFthok0lCbjtinW77CoIBoar8cbOzmu+HkYTnBBpJrF6Ai5g9sgglO8r+X+OLn4PrDrTP+BxdpNuIh9g==", "requires": { "tslib": "^2.3.0" }, @@ -595,13 +595,13 @@ } }, "@aws-sdk/md5-js": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.29.0.tgz", - "integrity": "sha512-6wsT7zM9qEIbf+FI1QzKXG1o1z91u3zF6tPiXtdopVOs2m2I0emG2c1cEzqFwqB4HhiaR6PejBhn/tDxfc7oNw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.25.0.tgz", + "integrity": "sha512-97MtL1VF3JCkyJJnwi8LcXpqItnH1VtgoqtVqmaASYp5GXnlsnA1WDnB0754ufPHlssS1aBj/gkLzMZ0Htw/Rg==", "requires": { - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-utf8-browser": "3.29.0", - "@aws-sdk/util-utf8-node": "3.29.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-utf8-browser": "3.23.0", + "@aws-sdk/util-utf8-node": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -613,13 +613,13 @@ } }, "@aws-sdk/middleware-apply-body-checksum": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.29.0.tgz", - "integrity": "sha512-csHiQKvxSJWxQx7lbla3Wgs+lWuNQ/DEFid5SxBZBhsqKz5FPBJr6kMPWIopmIL/vCxrYhMaS4ARloQBUkLoyQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.25.0.tgz", + "integrity": "sha512-162qFG7eap4vDKuKrpXWQYE4tbIETNrpTQX6jrPgqostOy1O0Nc5Bn1COIoOMgeMVnkOAZV7qV1J/XAYGz32Yw==", "requires": { - "@aws-sdk/is-array-buffer": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/is-array-buffer": "3.23.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -631,13 +631,13 @@ } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.29.0.tgz", - "integrity": "sha512-xQmucefIcntHicb4UvzdnmscRMsoB50NbOOSud8TSfalamzoRLkW8vUgfYVj+BxfAuQzKengFltiQlaho3maiA==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.28.0.tgz", + "integrity": "sha512-YCL9SK+XiWG7/euKXGVDyHU43pVRut0AoF66+WoVLrl5UyuRwv3sqXT5AUh3JpHHw35oUCClTVpldm3iRDNhig==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-arn-parser": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-arn-parser": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -649,12 +649,12 @@ } }, "@aws-sdk/middleware-content-length": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.29.0.tgz", - "integrity": "sha512-g+tOOXQXqKG84XwFrJexZa2iTuYJce9jnjHV4vyfXwVuKrwuf+ZFguPZ4hzEd40vDo5aLM49JtF/OcO4plCneg==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.25.0.tgz", + "integrity": "sha512-uOXus0MmZi/mucRIr5yfwM1vDhYG66CujNfnhyEaq5f4kcDA1Q5qPWSn9dkQPV9JWTZK3WTuYiOPSgtmlAYTAg==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -666,13 +666,13 @@ } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.29.0.tgz", - "integrity": "sha512-5SzOhxF1rO2ajlMkLYklTD9XnAcsDxKfAyRZeHCH5pYVdskjWphpJ61IS+/rWv+1L0qDsxYum7Ig50R853c4Cw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.25.0.tgz", + "integrity": "sha512-o3euv8NIO0zlHML81krtfs4TrF5gZwoxBYtY+6tRHXlgutsHe1yfg1wrhWnJNbJg1QhPwXxbMNfYX7MM83D8Ng==", "requires": { - "@aws-sdk/middleware-header-default": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/middleware-header-default": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -684,12 +684,12 @@ } }, "@aws-sdk/middleware-header-default": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.29.0.tgz", - "integrity": "sha512-DoTQvcmqhgTcPdkJi1+To/esmURd0HGaP3oUoIYxnoWK+hC1zJmq9hb+0oi1wdXX79l5iz2DkjH3sm547rJIuQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.25.0.tgz", + "integrity": "sha512-xkFfZcctPL0VTxmEKITf6/MSDv/8rY+8uA9OMt/YZqfbg0RfeqR2+R1xlDNDxeHeK/v+g5gTNIYTQLM8L2unNA==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -701,12 +701,12 @@ } }, "@aws-sdk/middleware-host-header": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.29.0.tgz", - "integrity": "sha512-aBifr86Owrhvy29cvZD17JzdoTtKMxzdjCkMA7ckNP+9Lg7kLI/6ws1yZ6BJlmcOnKxtNSnkvunGmJy8BU8EWQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.25.0.tgz", + "integrity": "sha512-xKD/CfsUS3ul2VaQ3IgIUXgA7jU2/Guo/DUhYKrLZTOxm0nuvsIFw0RqSCtRBCLptE5Qi+unkc1LcFDbfqrRbg==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -718,11 +718,11 @@ } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.29.0.tgz", - "integrity": "sha512-c7aOFU7AEzLXTIen5VIBm45KrRHLVuHewIpotwApFFSpLjxroPogsT0MSFyGDR9cHLl5QCiJ777Zu6L2x6819A==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.25.0.tgz", + "integrity": "sha512-diwmJ+MRQrq3H9VH+8CNAT4dImf2j3CLewlMrUEY+HsJN9xl2mtU6GQaluQg60iw6FjurLUKKGTTZCul4PGkIQ==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -734,11 +734,11 @@ } }, "@aws-sdk/middleware-logger": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.29.0.tgz", - "integrity": "sha512-0rLvuTvfaMWNb7+FApXAH0111FEp/AfG3fO7QkyVrXmHlTrNIJozilhkd0FwEMcQqqM9UK5lPLXwloH9Rkp9vw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.25.0.tgz", + "integrity": "sha512-M1F7BlAsDKoEM8hBaU2pHlLSM40rzzgtZ6jFNhfmTwGcjxe1N7JXCH5QPa7aI8wnJq2RoIRHVfVsUH4GwvOZnA==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -750,13 +750,13 @@ } }, "@aws-sdk/middleware-retry": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.29.0.tgz", - "integrity": "sha512-yRQ48UIGPmK3/jWMJ2LC4trltFevMDEXyvtT6knwDnwXxmuwv7K6udk6TnGaUU5TlLVI1XdRQHaZY7xZH1KbGw==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.28.0.tgz", + "integrity": "sha512-8a59/JaKxCa/IJWQOnfuTPAeYdwIqeIkzJ974pZUjoQR9KFBlxROV9pYLjanN8B1be8oV6Xhhl2n3i3rN0CL1w==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/service-error-classification": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/service-error-classification": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0", "uuid": "^8.3.2" }, @@ -769,15 +769,13 @@ } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.29.0.tgz", - "integrity": "sha512-/wOZv7ORvlOosS+XLRV34+3FStiPnFfLgPkYzm1QGKPtnQXr+3GQsqFQZAP12XqL7B0AyHLxCgBfCZCCvewd4g==", - "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/signature-v4": "3.29.0", - "@aws-sdk/signature-v4-crt": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-arn-parser": "3.29.0", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.25.0.tgz", + "integrity": "sha512-Y1P6JnpAdj7p5Q43aSLSuYBCc3hKpZ/mrqFSGN8VFXl7Tzo7tYfjpd9SVRxNGJK7O7tDAUsPNmuGqBrdA2tj8w==", + "requires": { + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-arn-parser": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -789,15 +787,15 @@ } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.29.0.tgz", - "integrity": "sha512-U1gmzmnVvoIVjYgPXp1mSdKrmBVMKfJCodLEL4cKzn4ScfivNVX31qzrJkSezL/10QUNrcpkswt3VzD6jBweWw==", - "requires": { - "@aws-sdk/middleware-signing": "3.29.0", - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/signature-v4": "3.29.0", - "@aws-sdk/types": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.28.0.tgz", + "integrity": "sha512-uJO70AoU6Xzh4Br1aj6Dsqo8S/g1S1wkz9k6PWOclEGeGEL0XnCMyGqnlBW+Sk723DdQ0XzvWly1KURuuZ5FMA==", + "requires": { + "@aws-sdk/middleware-signing": "3.28.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/signature-v4": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -809,11 +807,11 @@ } }, "@aws-sdk/middleware-serde": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.29.0.tgz", - "integrity": "sha512-jN6zuaXg3k9HiWJZjBROiVJEdFaZrMikhyVdqYTT3hR+i08M/9UgVuX84HP/dALChZazOn9MPhvPWGvxrMOr9A==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.25.0.tgz", + "integrity": "sha512-065Kugo8yXzBkcVAxctxFCHKlHcINnaQRsJ8ifvgc+UOEgvTG9+LfGWDwfdgarW9CkF7RkCoZOyaqFsO+HJWsg==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -825,14 +823,14 @@ } }, "@aws-sdk/middleware-signing": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.29.0.tgz", - "integrity": "sha512-Z5N2N8noUxzaUOliodq6vuf/77l30Gn7ukLw53k40tlILZ8+JGOa8pdZ3zAl+vlUwQtDtQtCRqoEb+znK6Rmvw==", - "requires": { - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/signature-v4": "3.29.0", - "@aws-sdk/types": "3.29.0", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.28.0.tgz", + "integrity": "sha512-LFiQ2xTIvof44p1dbXEB7YJSOQ8Vd5NsseDXv70JMRm88PMH2iGwxcb4ZbAjhjfRmJ6uiCxLnDHpz49BCj9a/w==", + "requires": { + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/signature-v4": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -844,11 +842,11 @@ } }, "@aws-sdk/middleware-ssec": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.29.0.tgz", - "integrity": "sha512-XJC00iN3sqJ5ZH05VpP/bimRHfS1aWGs5/Vuz4swdyKGwez725ZBfof0lg6LSnP4G+me6ZqwsbUxHkdrupcWAA==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.25.0.tgz", + "integrity": "sha512-bnrHb8oddW+vDexbNzZtpfshshKru+skcmq3dyXlL8LB/NlJsMiQJE8xoGbq5odTLiflIgaDBt527m5q58i+fg==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -860,9 +858,9 @@ } }, "@aws-sdk/middleware-stack": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.29.0.tgz", - "integrity": "sha512-S6Jt108uxs/PEoLAgGow9SdMKWXhlg0EGgY77Z4pNPQDrBYoca2kwWeTsyTpgBXSsyV0z0WZB4TJK5/doGv6CA==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.25.0.tgz", + "integrity": "sha512-s2VgdsasOVKHY3/SIGsw9AeZMMsdcIbBGWim9n5IO3j8C8y54EdRLVCEja8ePvMDZKIzuummwatYPHaUrnqPtQ==", "requires": { "tslib": "^2.3.0" }, @@ -875,12 +873,12 @@ } }, "@aws-sdk/middleware-user-agent": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.29.0.tgz", - "integrity": "sha512-AVbn9QEbqBgScaD3cxLv7/yi9Up10vYKy/AWIwgTrW0LxOuy9+Za2hdk5eZRP/QpqS/Ibz2/CqcmK1GQ/03kmg==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.25.0.tgz", + "integrity": "sha512-HXd/Qknq8Cp7fzJYU7jDDpN7ReJ3arUrnt+dAPNaDDrhmrBbCZp+24UXN6X6DAj0JICRoRuF/l7KxjwdF5FShw==", "requires": { - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -892,13 +890,13 @@ } }, "@aws-sdk/node-config-provider": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.29.0.tgz", - "integrity": "sha512-ANRnPz4IT4FiSAc+9p0HqGSjL+cdzB2E68BFmbbGin0fZwhflX1BksjuUEibw8Emf8jvhvbUxdtAIUWctTYxOA==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.28.0.tgz", + "integrity": "sha512-FtK8c5wKYAHNMs8nnWCTjF/E4puII62g3Phov2LgVpvJbPWYvFL2J+n0fFaFr2+e7YTKhqhOyJYN/vne4XJ0kQ==", "requires": { - "@aws-sdk/property-provider": "3.29.0", - "@aws-sdk/shared-ini-file-loader": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/property-provider": "3.28.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -910,14 +908,14 @@ } }, "@aws-sdk/node-http-handler": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.29.0.tgz", - "integrity": "sha512-FnPdoK0hmEr2JO/g7MVE3oeC2TvMpoRDQqUnDrn9C1bzRzgzhHqGVyaiRmc1HECMKjPFYVn02NCzY4qx56K0Ag==", - "requires": { - "@aws-sdk/abort-controller": "3.29.0", - "@aws-sdk/protocol-http": "3.29.0", - "@aws-sdk/querystring-builder": "3.29.0", - "@aws-sdk/types": "3.29.0", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.25.0.tgz", + "integrity": "sha512-zVeAM/bXewZiuMtcUZI/xGDID6knkzOv73ueVkzUbP0Ki8bfao7diR3hMbIt5Fy/r8cAVjJce9v6zFqo4sr1WA==", + "requires": { + "@aws-sdk/abort-controller": "3.25.0", + "@aws-sdk/protocol-http": "3.25.0", + "@aws-sdk/querystring-builder": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -929,11 +927,11 @@ } }, "@aws-sdk/property-provider": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.29.0.tgz", - "integrity": "sha512-N2fd3H4mGGE51PgmMbEzBGSNwcyPkEgMxgfZsrQUaFh+CE5uuelOAL70Yzr4IZ4yZJvf1F9e8drtCuUcHnSUEw==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.28.0.tgz", + "integrity": "sha512-U+Y/y91ERFW6O4ghrIl6KvvNLW173V9hnAW9HQc+2Cf47aCoXR1PGOzqcqNWFmX1vBjI9WXUPop0JC9aAvgPGw==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -945,11 +943,11 @@ } }, "@aws-sdk/protocol-http": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.29.0.tgz", - "integrity": "sha512-OIeJ7ukfgGkaIL0/NNM5sxIlfxtOqQN+KoaQ89YeLBlJPVoKnptAw+eWjjLwxLs+r/SbyZHXbBawP+sbzq0mSQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.25.0.tgz", + "integrity": "sha512-4Jebt5G8uIFa+HZO7KOgOtA66E/CXysQekiV5dfAsU8ca+rX5PB6qhpWZ2unX/l6He+oDQ0zMoW70JkNiP4/4w==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -961,12 +959,12 @@ } }, "@aws-sdk/querystring-builder": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.29.0.tgz", - "integrity": "sha512-htrHPmwGfWxl/Mt0JpR63NmlDtmwMJTjvLVrdbxBBXfjiyB8023lEFfyMSDHzD6fegQcw/rOwaliQNAuaVNnXQ==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.25.0.tgz", + "integrity": "sha512-o/R3/viOxjWckI+kepkxJSL7fIdg1hHYOW/rOpo9HbXS0CJrHVnB8vlBb+Xwl1IFyY2gg+5YZTjiufcgpgRBkw==", "requires": { - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-uri-escape": "3.29.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-uri-escape": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -978,11 +976,11 @@ } }, "@aws-sdk/querystring-parser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.29.0.tgz", - "integrity": "sha512-v22PBXafAHw+wMaSGbq4B9wEsSYV2e0nZgGHZBNML3HPDiAYJqsQHiYEbiz8nzkmoayU0wrVFZ/XfKNXXcXGbw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.25.0.tgz", + "integrity": "sha512-FCNyaOLFLVS5j43MhVA7/VJUDX0t/9RyNTNulHgzFjj6ffsgqcY0uwUq1RO3QCL4asl56zOrLVJgK+Z7wMbvFg==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -994,14 +992,14 @@ } }, "@aws-sdk/service-error-classification": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.29.0.tgz", - "integrity": "sha512-VqOjXXTLTGbifzg3Fg2g/Ac6W3uzC3llPZjm/b0goM17KLWMGU7JKiem2l+CFyN4sxkver7InNlIUJCJAPB6+Q==" + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.25.0.tgz", + "integrity": "sha512-66FfIab87LnnHtOLrGrVOht9Pw6lE8appyOpBdtoeoU5DP7ARSWuDdsYmKdGdRCWvn/RaVFbSYua9k0M1WsGqg==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.29.0.tgz", - "integrity": "sha512-x4Chk4+iMiYaxcomZjdg7IwU1mQhJ7iPl/3RrIqCShPIOZDwwH4vLl6Fw0bniOZiHK30JQ1wlAgLxzVP0JMHTw==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.23.0.tgz", + "integrity": "sha512-YUp46l6E3dLKHp1cKMkZI4slTjsVc/Lm7nPCTVc3oQvZ1MvC99N/jMCmZ7X5YYofuAUSdc9eJ8sYiF2BnUww9g==", "requires": { "tslib": "^2.3.0" }, @@ -1014,35 +1012,14 @@ } }, "@aws-sdk/signature-v4": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.29.0.tgz", - "integrity": "sha512-h39TC9FNi74wojvhVzkEkeqVzRvIiyQLSn6IFYwXaAE9X/wlkUt80fzvADjHAy9BNATu5GO54aKR3kLsG9/LLg==", - "requires": { - "@aws-sdk/is-array-buffer": "3.29.0", - "@aws-sdk/types": "3.29.0", - "@aws-sdk/util-hex-encoding": "3.29.0", - "@aws-sdk/util-uri-escape": "3.29.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - } - } - }, - "@aws-sdk/signature-v4-crt": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.29.0.tgz", - "integrity": "sha512-0suw2CXfsxN7Oqh98WvfVPjUMZ5ZUb0JNkMBIV380DnWBPs5CfK1JVwCmBxnJfWO+J16v5bfGG8sEbIfq1exrQ==", - "requires": { - "@aws-sdk/is-array-buffer": "3.29.0", - "@aws-sdk/querystring-parser": "3.29.0", - "@aws-sdk/signature-v4": "3.29.0", - "@aws-sdk/util-hex-encoding": "3.29.0", - "@aws-sdk/util-uri-escape": "3.29.0", - "aws-crt": "^1.9.0", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.25.0.tgz", + "integrity": "sha512-6KDRRz9XVrj9RxrBLC6dzfnb2TDl3CjIzcNpLdRuKFgzEEdwV+5D+EZuAQU3MuHG5pWTIwG72k/dmCbJ2MDPUQ==", + "requires": { + "@aws-sdk/is-array-buffer": "3.23.0", + "@aws-sdk/types": "3.25.0", + "@aws-sdk/util-hex-encoding": "3.23.0", + "@aws-sdk/util-uri-escape": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1054,12 +1031,12 @@ } }, "@aws-sdk/smithy-client": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.29.0.tgz", - "integrity": "sha512-QRTYdFcORkJMgDk5DJ661cttnrukoDS/FKXhsCX0tkrgCQsgG6SUOdfWBmyPFC3cXts1GKlwanTqAIiWp/yJ0w==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.28.0.tgz", + "integrity": "sha512-ChlO4jPvfw05mNsJgfVqvMNH6jtRKi6ySj5HuZ0LcX644hUcEljPhN0hdFr8XtaGKsxbfkBHILhKFs/W42J+2A==", "requires": { - "@aws-sdk/middleware-stack": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/middleware-stack": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1071,17 +1048,17 @@ } }, "@aws-sdk/types": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.29.0.tgz", - "integrity": "sha512-8ilWQU5ZTdiRfblmmjl38+6JZKKM8EqA5Sbn8djgDLShCLeVJ2TsL2guzNi+WHcL7BHdv1pI/NNmTcgRUo6yOw==" + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.25.0.tgz", + "integrity": "sha512-vS0+cTKwj6CujlR07HmeEBxzWPWSrdmZMYnxn/QC9KW9dFu0lsyCGSCqWsFluI6GI0flsnYYWNkP5y4bfD9tqg==" }, "@aws-sdk/url-parser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.29.0.tgz", - "integrity": "sha512-385f+g4xeRym2S4bzF+Nc0MB8addAlCSb5hIUJu1JKH6FwFLrNRuixeaelGLyWr77xv25P0ruyXQAFf2ISxzKw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.25.0.tgz", + "integrity": "sha512-qZ3Vq0NjHsE7Qq6R5NVRswIAsiyYjCDnAV+/Vt4jU/K0V3mGumiasiJyRyblW4Da8R6kfcJk0mHSMFRJfoHh8Q==", "requires": { - "@aws-sdk/querystring-parser": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/querystring-parser": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1093,9 +1070,9 @@ } }, "@aws-sdk/util-arn-parser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.29.0.tgz", - "integrity": "sha512-NK4xAU7EGp0H4oYIICAJL49BzGvezkWD6rQdfJpXrPoqXviXXDq0nmFEoP9k4PsT+mDBEFiuvXhQlrHhBPVx5g==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.23.0.tgz", + "integrity": "sha512-J3+/wnC21kbb3UAHo7x31aCZxzIa7GBijt6Q7nad/j2aF38EZtE3SI0aZpD8250Vi+9zsZ4672QDUeSZ5BR5kg==", "requires": { "tslib": "^2.3.0" }, @@ -1108,9 +1085,9 @@ } }, "@aws-sdk/util-base64-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.29.0.tgz", - "integrity": "sha512-yMgn5vZ7laVO/497iPDjTdmia3sDdFBDq6k42EZxVTpkUcd8JS2nWJ+9ePuIMwqOgPjhhkOOXiidrbZaUQ+L6Q==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.23.0.tgz", + "integrity": "sha512-xlI/qw+uhLJWa3k0mRtRHQ42v5QzsMFEUXScredQMfJ/34qzXyocsG6OHPOTV1I8WSANrxnHR5m1Ae3iU6JuVw==", "requires": { "tslib": "^2.3.0" }, @@ -1123,11 +1100,11 @@ } }, "@aws-sdk/util-base64-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.29.0.tgz", - "integrity": "sha512-4pRwjQ6+yS7SQm+yK3pchrsmGPEuoR2YiNsBG0LVNecQmnxWUbOhaEWIxXKTnAzs9bAt7AWEbLzsW8/cN/yTNw==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.23.0.tgz", + "integrity": "sha512-Kf8JIAUtjrPcD5CJzrig2B5CtegWswUNpW4zBarww/UJhHlp8WzKlCxxA+yNS1ghT0ZMjrRvxPabKDGpkyUfmQ==", "requires": { - "@aws-sdk/util-buffer-from": "3.29.0", + "@aws-sdk/util-buffer-from": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1139,9 +1116,9 @@ } }, "@aws-sdk/util-body-length-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.29.0.tgz", - "integrity": "sha512-cKSwlDlZkcxuhSdoiq1TxleaBvveEgKA2Yo4TYP4DKVPHZuYZtbFv8r1driml1SaIKXg4GQpe+pJit3mxDRxAg==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.23.0.tgz", + "integrity": "sha512-Bi6u/5omQbOBSB5BxqVvaPgVplLRjhhSuqK3XAukbeBPh7lcibIBdy7YvbhQyl4i8Hb2QjFnqqfzA0lNBe5eiw==", "requires": { "tslib": "^2.3.0" }, @@ -1154,9 +1131,9 @@ } }, "@aws-sdk/util-body-length-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.29.0.tgz", - "integrity": "sha512-8rG65GMpsjVFd9jhx5y/dhwbJVIKq0OqwNRK+GoIVDo0KKaGtjNbCVHYYDjpwIuksZumiqvlC0E3AUcXn7p1rQ==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.23.0.tgz", + "integrity": "sha512-8kSczloA78mikPaJ742SU9Wpwfcz3HOruoXiP/pOy69UZEsMe4P7zTZI1bo8BAp7j6IFUPCXth9E3UAtkbz+CQ==", "requires": { "tslib": "^2.3.0" }, @@ -1169,11 +1146,11 @@ } }, "@aws-sdk/util-buffer-from": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.29.0.tgz", - "integrity": "sha512-4ODxK5y/yONgsuc9SAzZ0j/v0IQkJVCRApziF4Q8NiZ1z9050nZ08rgTEhrTbWgLmDju4SDvJhn/nUNTrsLhug==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.23.0.tgz", + "integrity": "sha512-axXy1FvEOM1uECgMPmyHF1S3Hd7JI+BerhhcAlGig0bbqUsZVQUNL9yhOsWreA+nf1v08Ucj8P2SHPCT9Hvpgg==", "requires": { - "@aws-sdk/is-array-buffer": "3.29.0", + "@aws-sdk/is-array-buffer": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1185,11 +1162,11 @@ } }, "@aws-sdk/util-credentials": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.29.0.tgz", - "integrity": "sha512-xCWQizP5d6SwbwB2HmxpDqu0WYY7/E7pNrZ+7tSMrJxZlT8Zsd+lFaO23JVFMEBqjjBnpLBr+XkNZgOpD1BYwA==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.23.0.tgz", + "integrity": "sha512-6TDGZnFa0kZr+vSsWXXMfWt347jbMGKtzGnBxbrmiQgZMijz9s/wLYxsjglZ+CyqI/QrSMOTtqy6mEgJxdnGWQ==", "requires": { - "@aws-sdk/shared-ini-file-loader": "3.29.0", + "@aws-sdk/shared-ini-file-loader": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1201,9 +1178,9 @@ } }, "@aws-sdk/util-hex-encoding": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.29.0.tgz", - "integrity": "sha512-YZ9fhJ2HKnnPL+8M9/YMFo4906Cvh1NaVOZT61joPM5Vv1rSYXdD1/tvn2qNjVhAJAGFWdBsIqZWw43km5DNpw==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.23.0.tgz", + "integrity": "sha512-RFDCwNrJMmmPSMVRadxRNePqTXGwtL9s4844x44D0bbGg1TdC42rrg0PRKYkxFL7wd1FbibVQOzciZAvzF+Z+w==", "requires": { "tslib": "^2.3.0" }, @@ -1216,9 +1193,9 @@ } }, "@aws-sdk/util-locate-window": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.29.0.tgz", - "integrity": "sha512-gvcbl9UdTOvuCCzgbtTTsKnL1l/cnT/CFl0f6ZCQ6qubUTRCuL/aK8DvgWa1n9p/ddCiVKPLmHu/L1xtX4gc0A==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.23.0.tgz", + "integrity": "sha512-mM8kWW7SWIxCshkNllpYqCQi5SzwJ+sv5nURhtquOB5/H3qGqZm0V5lUE3qpE1AYmqKwk6qbGUy1woFn1T5nrw==", "requires": { "tslib": "^2.3.0" }, @@ -1231,9 +1208,9 @@ } }, "@aws-sdk/util-uri-escape": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.29.0.tgz", - "integrity": "sha512-js834TiNTdwIZOxmGSCPiLETUoc2JslY07D6A+yLNI/kZmmTHa0tKCyPxMqo7LBb+iU9ymky2LLJuDGp6aZNHw==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.23.0.tgz", + "integrity": "sha512-SvQx2E/FDlI5vLT67wwn/k1j2R/G58tYj4Te6GNgEwPGL43X2+7c0+d/WTgndMaRvxSBHZMUTxBYh1HOeU7loA==", "requires": { "tslib": "^2.3.0" }, @@ -1246,11 +1223,11 @@ } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.29.0.tgz", - "integrity": "sha512-se9WLQS3H36u8FUA3/DfnzH3LU77QBRpJN4FmQtcQHR3A5mR2tRty+eOrvIf2R4QtveMWXrQbvScTrca7ZFZug==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.25.0.tgz", + "integrity": "sha512-qGqiWfs49NRmQVXPsBXgMRVkjDZocicU0V2wak98e0t7TOI+KmP8hnwsTkE6c4KwhsFOOUhAzjn5zk3kOwi6tQ==", "requires": { - "@aws-sdk/types": "3.29.0", + "@aws-sdk/types": "3.25.0", "bowser": "^2.11.0", "tslib": "^2.3.0" }, @@ -1263,12 +1240,12 @@ } }, "@aws-sdk/util-user-agent-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.29.0.tgz", - "integrity": "sha512-atyjuDnD1WtIR1sZzcCJcD0JyYKGZ6bYqAhh/apaiPs0LoTyaFGYN8K7wSr3gL8PqD9YYNKfiNiPU3AbY6pW5A==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.28.0.tgz", + "integrity": "sha512-i2wjRrNKIi1s4Tu0LaZUFxoVaYbJFqkabE6FEjfGlLr5cgHG6Pn+3mAA2QFifIeG0CbM8vnhMB6U06R0eSmZVw==", "requires": { - "@aws-sdk/node-config-provider": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/node-config-provider": "3.28.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1280,9 +1257,9 @@ } }, "@aws-sdk/util-utf8-browser": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.29.0.tgz", - "integrity": "sha512-ZIHbBYByMq5vadQ1SZOQTHVtrkGAFiuypATYF5ST8YB3j7XKvflv+fiBX2xQ8xpqb28noEg6dNPnvqkQQ1n/aw==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.23.0.tgz", + "integrity": "sha512-fSB95AKnvCnAbCd7o0xLbErfAgD9wnLCaEu23AgfGAiaG3nFF8Z2+wtjebU/9Z4RI9d/x83Ho/yguRnJdkMsPA==", "requires": { "tslib": "^2.3.0" }, @@ -1295,11 +1272,11 @@ } }, "@aws-sdk/util-utf8-node": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.29.0.tgz", - "integrity": "sha512-CIZPDnSvtfv7MeHM/hA1fHXcXJR2f7ULjw4nXsX/BLaKGKf/O6IhOXPt1ecUIpGeUrCgPCqxkDjmThUCa87Bcg==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.23.0.tgz", + "integrity": "sha512-yao8+8okyfCxRvxZe3GBdO7lJnQEBf3P6rDgleOQD/0DZmMjOQGXCvDd42oagE2TegXhkUnJfVOZU2GqdoR0hg==", "requires": { - "@aws-sdk/util-buffer-from": "3.29.0", + "@aws-sdk/util-buffer-from": "3.23.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1311,12 +1288,12 @@ } }, "@aws-sdk/util-waiter": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.29.0.tgz", - "integrity": "sha512-9qNsX+yRpX8xE0eW9qHZCy7W6+MFkYFR10umSPVl9gc5p+RViQwS0D2wVYmQblrqGK6VpK+wAb3faFf6KaDesg==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.25.0.tgz", + "integrity": "sha512-rhJ7Q2fcPD8y4H0qNEpaspkSUya0OaNcVrca9wCZKs7jWnropPzrQ+e2MH7fWJ/8jgcBV890+Txr4fWkD4J01g==", "requires": { - "@aws-sdk/abort-controller": "3.29.0", - "@aws-sdk/types": "3.29.0", + "@aws-sdk/abort-controller": "3.25.0", + "@aws-sdk/types": "3.25.0", "tslib": "^2.3.0" }, "dependencies": { @@ -1328,9 +1305,9 @@ } }, "@aws-sdk/xml-builder": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.29.0.tgz", - "integrity": "sha512-lixmZNupjRsfAxCZh3CshqWSxKJEAPcuPiKhUlW9DhfoIc+YTD9U5G2fzY9LBd7ugDo4N7H5sU3Oa1iYLp2ZDg==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.23.0.tgz", + "integrity": "sha512-5LEGdhQIJtGTwg4dIYyNtpz5QvPcQoxsqJygmj+VB8KLd+mWorH1IOpiL74z0infeK9N+ZFUUPKIzPJa9xLPqw==", "requires": { "tslib": "^2.3.0" }, @@ -3744,6 +3721,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3751,11 +3729,6 @@ "uri-js": "^4.2.2" } }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -3845,6 +3818,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "optional": true, "requires": { "safer-buffer": "~2.1.0" @@ -3854,6 +3828,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "optional": true }, "astral-regex": { @@ -3867,39 +3842,24 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-crt": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.1.tgz", - "integrity": "sha512-nsWTwK1W2ZlJqrPQbfdqvewrt8J4WNO5/FVc2jMArib7viLNdEywBtf3qfbRjhO4GRKimHKggDmOv7Qa6PAWrw==", - "requires": { - "axios": "^0.21.1", - "cmake-js": "6.1.0", - "crypto-js": "^4.0.0", - "fastestsmallesttextencoderdecoder": "^1.0.22", - "mqtt": "^4.2.8", - "websocket-stream": "^5.5.2" - } + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, "optional": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true, "optional": true }, "axios": { @@ -4072,11 +4032,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -4098,6 +4053,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "optional": true, "requires": { "tweetnacl": "^0.14.3" @@ -4108,53 +4064,17 @@ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=" }, - "big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" - }, "bignumber.js": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -4271,15 +4191,6 @@ "node-int64": "^0.4.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "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", @@ -4290,21 +4201,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==" - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" - }, "busboy": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", @@ -4379,16 +4275,9 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, "optional": true }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4609,181 +4498,6 @@ } } }, - "cmake-js": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cmake-js/-/cmake-js-6.1.0.tgz", - "integrity": "sha512-utmukLQftpgrCpGRCaHnkv4K27HZNNFqmBl4vnvccy0xp4c1erxjFU/Lq4wn5ngAhFZmpwBPQfoKWKThjSBiwg==", - "requires": { - "debug": "^4", - "fs-extra": "^5.0.0", - "is-iojs": "^1.0.1", - "lodash": "^4", - "memory-stream": "0", - "npmlog": "^1.2.0", - "rc": "^1.2.7", - "request": "^2.54.0", - "semver": "^5.0.3", - "splitargs": "0", - "tar": "^4", - "unzipper": "^0.8.13", - "url-join": "0", - "which": "^1.0.9", - "yargs": "^3.6.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", - "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.0 || ^1.1.13" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "requires": { - "minipass": "^2.6.0" - } - }, - "gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "npmlog": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz", - "integrity": "sha1-KOe+YZYJtT960d0wChDWTXFiaLY=", - "requires": { - "ansi": "~0.3.0", - "are-we-there-yet": "~1.0.0", - "gauge": "~1.2.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -4856,6 +4570,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -4866,22 +4581,6 @@ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, - "commist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", - "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", - "requires": { - "leven": "^2.1.0", - "minimist": "^1.1.0" - }, - "dependencies": { - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" - } - } - }, "commitizen": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.2.4.tgz", @@ -5254,11 +4953,6 @@ } } }, - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" - }, "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", @@ -5320,6 +5014,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0" @@ -5370,7 +5065,8 @@ "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true }, "deep-is": { "version": "0.1.3", @@ -5387,7 +5083,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", @@ -5516,37 +5213,6 @@ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexify": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", - "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", - "requires": { - "end-of-stream": "^1.4.1", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "dynamic-dedupe": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", @@ -5560,6 +5226,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, "optional": true, "requires": { "jsbn": "~0.1.0", @@ -5649,14 +5316,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -6371,6 +6030,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, "optional": true }, "external-editor": { @@ -6388,12 +6048,14 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, "optional": true }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-diff": { "version": "1.2.0", @@ -6417,7 +6079,8 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -6435,11 +6098,6 @@ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" }, - "fastestsmallesttextencoderdecoder": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", - "integrity": "sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==" - }, "fastq": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", @@ -6586,6 +6244,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, "optional": true }, "form-data": { @@ -6650,6 +6309,8 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "optional": true, "requires": { "graceful-fs": "^4.1.2", "inherits": "~2.0.0", @@ -6661,6 +6322,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -6670,6 +6332,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -6757,6 +6420,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0" @@ -6841,18 +6505,21 @@ "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, "optional": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, "optional": true, "requires": { "ajv": "^6.12.3", @@ -6889,27 +6556,6 @@ "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz", "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==" }, - "help-me": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-3.0.0.tgz", - "integrity": "sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==", - "requires": { - "glob": "^7.1.6", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -6974,6 +6620,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0", @@ -7009,11 +6656,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -7091,7 +6733,8 @@ "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "inquirer": { "version": "6.5.2", @@ -7166,11 +6809,6 @@ } } }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -7238,11 +6876,6 @@ "is-extglob": "^2.1.1" } }, - "is-iojs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-iojs/-/is-iojs-1.1.0.tgz", - "integrity": "sha1-TBEDO11dlNbqs3dd7cm+fQCDJfE=" - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7286,7 +6919,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-unicode-supported": { "version": "0.1.0", @@ -7314,12 +6948,14 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, "optional": true }, "istanbul-lib-coverage": { @@ -9762,6 +9398,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "jsdom": { @@ -9823,12 +9460,14 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true, "optional": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -9840,6 +9479,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, "optional": true }, "json5": { @@ -9854,6 +9494,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -9886,6 +9527,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -9924,14 +9566,6 @@ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -10027,11 +9661,6 @@ } } }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" - }, "listr2": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.11.0.tgz", @@ -10189,21 +9818,6 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" - }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -10506,37 +10120,6 @@ } } }, - "memory-stream": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/memory-stream/-/memory-stream-0.0.3.tgz", - "integrity": "sha1-6+jdHDuLw4wOeUHp3dWuvmtN6D8=", - "requires": { - "readable-stream": "~1.0.26-2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "merge": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", @@ -10679,60 +10262,6 @@ } } }, - "mqtt": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-4.2.8.tgz", - "integrity": "sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==", - "requires": { - "commist": "^1.0.0", - "concat-stream": "^2.0.0", - "debug": "^4.1.1", - "duplexify": "^4.1.1", - "help-me": "^3.0.0", - "inherits": "^2.0.3", - "minimist": "^1.2.5", - "mqtt-packet": "^6.8.0", - "pump": "^3.0.0", - "readable-stream": "^3.6.0", - "reinterval": "^1.1.0", - "split2": "^3.1.0", - "ws": "^7.5.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "mqtt-packet": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz", - "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==", - "requires": { - "bl": "^4.0.2", - "debug": "^4.1.1", - "process-nextick-args": "^2.0.1" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -11094,6 +10623,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, "optional": true }, "object-assign": { @@ -11165,14 +10695,6 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -11304,6 +10826,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, "optional": true }, "picomatch": { @@ -11466,21 +10989,14 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "qs": { "version": "6.7.0", @@ -11518,6 +11034,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -11528,7 +11045,8 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true } } }, @@ -11587,15 +11105,12 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "reinterval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "optional": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -11623,6 +11138,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "optional": true, "requires": { "asynckit": "^0.4.0", @@ -11634,12 +11150,14 @@ "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, "optional": true }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, "optional": true, "requires": { "psl": "^1.1.28", @@ -11650,6 +11168,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, "optional": true } } @@ -12012,11 +11531,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", @@ -12191,31 +11705,6 @@ "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "splitargs": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/splitargs/-/splitargs-0.0.7.tgz", - "integrity": "sha1-/p965lc3GzOxDLgNoUPPgknPazs=" - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -12357,6 +11846,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "optional": true, "requires": { "asn1": "~0.2.3", @@ -12397,11 +11887,6 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, "streamsearch": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", @@ -12815,11 +12300,6 @@ "punycode": "^2.1.1" } }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" - }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -12942,6 +12422,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "optional": true, "requires": { "safe-buffer": "^5.0.1" @@ -12951,6 +12432,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "type": { @@ -13017,11 +12499,6 @@ "random-bytes": "~1.0.0" } }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, "umzug": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", @@ -13034,73 +12511,23 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, - "unzipper": { - "version": "0.8.14", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.8.14.tgz", - "integrity": "sha512-8rFtE7EP5ssOwGpN2dt1Q4njl0N1hUXJ7sSPz0leU2hRdq6+pra57z4YPBlVqm40vcgv6ooKZEAx48fMTv9x4w==", - "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "~1.0.10", - "listenercount": "~1.0.1", - "readable-stream": "~2.1.5", - "setimmediate": "~1.0.4" - }, - "dependencies": { - "bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "readable-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", - "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", - "requires": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "requires": { "punycode": "^2.1.0" } }, - "url-join": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz", - "integrity": "sha1-HbSK1CLTQCRpqH99l73r/k+x48g=" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -13165,6 +12592,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "optional": true, "requires": { "assert-plus": "^1.0.0", @@ -13205,42 +12633,6 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "dev": true }, - "websocket-stream": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.2.tgz", - "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==", - "requires": { - "duplexify": "^3.5.1", - "inherits": "^2.0.1", - "readable-stream": "^2.3.3", - "safe-buffer": "^5.1.2", - "ws": "^3.2.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", @@ -13271,6 +12663,7 @@ "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" } @@ -13289,11 +12682,6 @@ "string-width": "^1.0.2 || 2" } }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" - }, "winston": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz", @@ -13441,7 +12829,8 @@ "ws": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz", - "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==" + "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==", + "dev": true }, "xml-name-validator": { "version": "3.0.0", diff --git a/server/package.json b/server/package.json index b393fcb7e..0328538c1 100644 --- a/server/package.json +++ b/server/package.json @@ -16,7 +16,7 @@ }, "license": "MIT", "dependencies": { - "@aws-sdk/client-s3": "^3.29.0", + "@aws-sdk/client-s3": "^3.28.0", "axios": "^0.21.3", "bcrypt": "^5.0.0", "bcryptjs": "^2.4.3",