From 50ec3b93718dd95bb7da4a74aed92edd8092bb07 Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Tue, 22 Oct 2024 16:17:56 +0000 Subject: [PATCH 01/14] Bump to version 1.38.2 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 09736abbd..a6ac68a4b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.38.1", + "version": "1.38.2", "homepage": "ui", "private": true, "scripts": { From 55a62a7b6ae0eb682173e46cb23b88a58abb0103 Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Thu, 24 Oct 2024 09:21:20 +0200 Subject: [PATCH 02/14] fix: Station Maintenances pagination (#715) * Bump to version 1.35.4-1-next * [PPANTT-55] feat: Rework getInstitutions (#701) * [PPANTT-55] feat: reworked party management * [PPANTT-55] feat: reworked party management with label * [PPANTT-55] feat: Align mocks with new Party structure * [PPANTT-55] fix: PSP role label * [PPANTT-55] fix: App build * [PPANTT-55] fix: Unit tests * [PPANTT-55] fix: Coverage --------- Co-authored-by: Alessio Cialini * Bump to version 1.36.1-1-next * Bump to version 1.36.2-1-next [skip ci] * chore: Unit test for coverage * chore: Remove MyHeaderProduct from coverage * fix: Station maintenances pagination --------- Co-authored-by: Alessio Cialini <63233981+alessio-cialini@users.noreply.github.com> Co-authored-by: pagopa-github-bot Co-authored-by: Alessio Cialini --- .../stationMaintenances/list/StationMaintenancesTable.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pages/stationMaintenances/list/StationMaintenancesTable.tsx b/src/pages/stationMaintenances/list/StationMaintenancesTable.tsx index 267771259..80d42b752 100644 --- a/src/pages/stationMaintenances/list/StationMaintenancesTable.tsx +++ b/src/pages/stationMaintenances/list/StationMaintenancesTable.tsx @@ -222,14 +222,16 @@ export default function StationMaintenancesTable({ const handleGetStationMaintenances = (newPage?: number) => { setLoading(true); - const toPage = newPage ?? 0; + if(newPage !== undefined){ + setPage(newPage); + } getStationMaintenances({ brokerTaxCode: selectedParty?.fiscalCode ?? '', stationCode: filterStationCode, state: filterState, year: filterYear, limit: pageLimit, - page, + page: newPage ?? page, }) .then((res: StationMaintenanceListResource) => { if (res?.station_maintenance_list && res.station_maintenance_list.length > 0) { @@ -251,7 +253,6 @@ export default function StationMaintenancesTable({ }); }) .finally(() => { - setPage(toPage); setLoading(false); }); }; From 2076af50fdffc5992338ac03617602ef950ae8c3 Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Thu, 24 Oct 2024 07:21:50 +0000 Subject: [PATCH 03/14] Bump to version 1.38.3 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a6ac68a4b..8d666c186 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.38.2", + "version": "1.38.3", "homepage": "ui", "private": true, "scripts": { From a6672c132e401559acc0287e1811fec6b245b1bd Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Thu, 24 Oct 2024 14:25:33 +0000 Subject: [PATCH 04/14] Bump to version 1.39.0 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8d666c186..5d53dedbb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.38.3", + "version": "1.39.0", "homepage": "ui", "private": true, "scripts": { From 67550c613bcc10c24387a2979b2c9e689ab78e64 Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Thu, 31 Oct 2024 10:12:57 +0100 Subject: [PATCH 05/14] [PPANTT-175] fix: PT api key list (#721) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [PPANTT-175] fix: PT api key list * [PPANTT-175] fix: Org type isPspBroker apikeys * [PPANTT-175] fix: Improved and completed apikey list method * [PPANTT-175] feat: Unit test api keys --- src/model/ApiKey.tsx | 52 +++++++++++------- src/model/__tests__/ApiKey.test.tsx | 81 ++++++++++++++++++++++------- src/pages/apiKeys/AddApiKeyPage.tsx | 4 +- 3 files changed, 99 insertions(+), 38 deletions(-) diff --git a/src/model/ApiKey.tsx b/src/model/ApiKey.tsx index 11c041646..75ed4f3a3 100644 --- a/src/model/ApiKey.tsx +++ b/src/model/ApiKey.tsx @@ -1,3 +1,4 @@ +import { OrgTypes } from '../hooks/useOrganizationType'; import { ENV } from '../utils/env'; export type ProductKeys = { @@ -29,32 +30,45 @@ export const API_KEY_PRODUCTS = { BO_EXT_EC: { id: 'BO_EXT_EC', key: 'selfcareboexternalec-' }, BO_EXT_PSP: { id: 'BO_EXT_PSP', key: 'selfcareboexternalpsp-' }, PRINT_NOTICE: { id: 'PRINT_NOTICE', key: 'printnotice-' }, - ACA: {id: "ACA", key:"aca-"} + ACA: { id: 'ACA', key: 'aca-' }, }; +/* eslint-disable functional/immutable-data */ export const getApiKeyProducts = ( - isPsp: boolean, + orgType: OrgTypes, flagPrintNotice: boolean ): Array => { - const list = isPsp - ? [API_KEY_PRODUCTS.NODOAUTH, API_KEY_PRODUCTS.BO_EXT_PSP] - : [ - API_KEY_PRODUCTS.NODOAUTH, - API_KEY_PRODUCTS.GPD, - API_KEY_PRODUCTS.GPD_PAY, - API_KEY_PRODUCTS.GPD_REP, - API_KEY_PRODUCTS.BIZ, - API_KEY_PRODUCTS.BO_EXT_EC, - API_KEY_PRODUCTS.ACA - ]; + const isPsp = orgType.isPsp || orgType.isPspBroker; + const isEc = orgType.isEc || orgType.isEcBroker; - if (ENV.FEATURES.FDR.ENABLED) { - // eslint-disable-next-line functional/immutable-data - list.push(isPsp ? API_KEY_PRODUCTS.FDR_PSP : API_KEY_PRODUCTS.FDR_ORG); + const list = [API_KEY_PRODUCTS.NODOAUTH]; + + if (isPsp) { + list.push(API_KEY_PRODUCTS.BO_EXT_PSP); } - if (flagPrintNotice && !isPsp) { - // eslint-disable-next-line functional/immutable-data - list.push(API_KEY_PRODUCTS.PRINT_NOTICE); + + if (isEc) { + list.push( + API_KEY_PRODUCTS.BO_EXT_EC, + API_KEY_PRODUCTS.GPD, + API_KEY_PRODUCTS.GPD_PAY, + API_KEY_PRODUCTS.GPD_REP, + API_KEY_PRODUCTS.BIZ, + API_KEY_PRODUCTS.ACA + ); + if (flagPrintNotice) { + list.push(API_KEY_PRODUCTS.PRINT_NOTICE); + } } + + if (ENV.FEATURES.FDR.ENABLED) { + if (isPsp) { + list.push(API_KEY_PRODUCTS.FDR_PSP); + } + if (isEc) { + list.push(API_KEY_PRODUCTS.FDR_ORG); + } + } + return list; }; diff --git a/src/model/__tests__/ApiKey.test.tsx b/src/model/__tests__/ApiKey.test.tsx index 6ceea8b4d..5f6ff2f07 100644 --- a/src/model/__tests__/ApiKey.test.tsx +++ b/src/model/__tests__/ApiKey.test.tsx @@ -1,19 +1,64 @@ +import { OrgTypes } from '../../hooks/useOrganizationType'; import { API_KEY_PRODUCTS, getApiKeyProducts } from '../ApiKey'; -describe("Test ApiKey model methods", ()=> { - test("Test getApiKeysProducts as PSP", () => { - expect(getApiKeyProducts(true, true)).toEqual([API_KEY_PRODUCTS.NODOAUTH, API_KEY_PRODUCTS.BO_EXT_PSP, API_KEY_PRODUCTS.FDR_PSP]) - }) - test("Test getApiKeysProducts as EC", () => { - expect(getApiKeyProducts(false, true)).toEqual([ - API_KEY_PRODUCTS.NODOAUTH, - API_KEY_PRODUCTS.GPD, - API_KEY_PRODUCTS.GPD_PAY, - API_KEY_PRODUCTS.GPD_REP, - API_KEY_PRODUCTS.BIZ, - API_KEY_PRODUCTS.BO_EXT_EC, - API_KEY_PRODUCTS.ACA, - API_KEY_PRODUCTS.FDR_ORG, - API_KEY_PRODUCTS.PRINT_NOTICE, - ]) - }) -}) \ No newline at end of file +describe('Test ApiKey model methods', () => { + test('Test getApiKeysProducts as PSP', () => { + const orgType: OrgTypes = { isPsp: true, isPspBroker: false, isEc: false, isEcBroker: false }; + expect(getApiKeyProducts(orgType, true)).toEqual([ + API_KEY_PRODUCTS.NODOAUTH, + API_KEY_PRODUCTS.BO_EXT_PSP, + API_KEY_PRODUCTS.FDR_PSP, + ]); + }); + test('Test getApiKeysProducts as EC', () => { + const orgType: OrgTypes = { isPsp: false, isPspBroker: false, isEc: true, isEcBroker: false }; + expect(getApiKeyProducts(orgType, true)).toEqual([ + API_KEY_PRODUCTS.NODOAUTH, + API_KEY_PRODUCTS.BO_EXT_EC, + API_KEY_PRODUCTS.GPD, + API_KEY_PRODUCTS.GPD_PAY, + API_KEY_PRODUCTS.GPD_REP, + API_KEY_PRODUCTS.BIZ, + API_KEY_PRODUCTS.ACA, + API_KEY_PRODUCTS.PRINT_NOTICE, + API_KEY_PRODUCTS.FDR_ORG, + ]); + }); + test('Test getApiKeysProducts as PT PSP', () => { + const orgType: OrgTypes = { isPsp: false, isPspBroker: true, isEc: false, isEcBroker: false }; + expect(getApiKeyProducts(orgType, true)).toEqual([ + API_KEY_PRODUCTS.NODOAUTH, + API_KEY_PRODUCTS.BO_EXT_PSP, + API_KEY_PRODUCTS.FDR_PSP, + ]); + }); + test('Test getApiKeysProducts as PT EC', () => { + const orgType: OrgTypes = { isPsp: false, isPspBroker: false, isEc: false, isEcBroker: true }; + expect(getApiKeyProducts(orgType, true)).toEqual([ + API_KEY_PRODUCTS.NODOAUTH, + API_KEY_PRODUCTS.BO_EXT_EC, + API_KEY_PRODUCTS.GPD, + API_KEY_PRODUCTS.GPD_PAY, + API_KEY_PRODUCTS.GPD_REP, + API_KEY_PRODUCTS.BIZ, + API_KEY_PRODUCTS.ACA, + API_KEY_PRODUCTS.PRINT_NOTICE, + API_KEY_PRODUCTS.FDR_ORG + ]); + }); + test('Test getApiKeysProducts as PT EC/PSP', () => { + const orgType: OrgTypes = { isPsp: false, isPspBroker: true, isEc: false, isEcBroker: true }; + expect(getApiKeyProducts(orgType, true)).toEqual([ + API_KEY_PRODUCTS.NODOAUTH, + API_KEY_PRODUCTS.BO_EXT_PSP, + API_KEY_PRODUCTS.BO_EXT_EC, + API_KEY_PRODUCTS.GPD, + API_KEY_PRODUCTS.GPD_PAY, + API_KEY_PRODUCTS.GPD_REP, + API_KEY_PRODUCTS.BIZ, + API_KEY_PRODUCTS.ACA, + API_KEY_PRODUCTS.PRINT_NOTICE, + API_KEY_PRODUCTS.FDR_PSP, + API_KEY_PRODUCTS.FDR_ORG, + ]); + }); +}); diff --git a/src/pages/apiKeys/AddApiKeyPage.tsx b/src/pages/apiKeys/AddApiKeyPage.tsx index bbd6a4d4a..29f04b416 100644 --- a/src/pages/apiKeys/AddApiKeyPage.tsx +++ b/src/pages/apiKeys/AddApiKeyPage.tsx @@ -30,6 +30,7 @@ import ROUTES from '../../routes'; import { createInstitutionApiKeys, getInstitutionApiKeys } from '../../services/apiKeyService'; import { LOADING_TASK_API_KEY_GENERATION } from '../../utils/constants'; import { useFlagValue } from '../../hooks/useFeatureFlags'; +import { useOrganizationType } from '../../hooks/useOrganizationType'; function AddApiKeyPage() { const { t } = useTranslation(); @@ -38,8 +39,9 @@ function AddApiKeyPage() { const selectedParty = useAppSelector(partiesSelectors.selectPartySelected); const setLoading = useLoading(LOADING_TASK_API_KEY_GENERATION); const addError = useErrorDispatcher(); + const orgType = useOrganizationType().orgInfo; const products: Array = getApiKeyProducts( - selectedParty?.institutionType === 'PSP', + orgType.types, useFlagValue('payment-notices') ); From 276b4509734657784556378edb30151dff30d5bf Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Thu, 31 Oct 2024 09:13:25 +0000 Subject: [PATCH 06/14] Bump to version 1.39.1 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d53dedbb..9e38ccbff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.39.0", + "version": "1.39.1", "homepage": "ui", "private": true, "scripts": { From 67aa03706a49dc9e7532b5332f4b934e3fba8e7d Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:04:04 +0100 Subject: [PATCH 07/14] fix: Dashboard exports format hours info (#722) --- src/pages/dashboard/components/DownloadSection.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/dashboard/components/DownloadSection.tsx b/src/pages/dashboard/components/DownloadSection.tsx index 2526f41c8..66e341cdd 100644 --- a/src/pages/dashboard/components/DownloadSection.tsx +++ b/src/pages/dashboard/components/DownloadSection.tsx @@ -6,7 +6,7 @@ import {useEffect, useState} from 'react'; import {Party} from '../../../model/Party'; import {usePermissions} from '../../../hooks/usePermissions'; import {exportCreditorInstitutionToCSV, exportIbanToCSV, getBrokerExportStatus} from '../../../services/ibanService'; -import {downloadBlobAsCSV} from '../../../utils/common-utils'; +import {downloadBlobAsCSV, formatDateTohhmm} from '../../../utils/common-utils'; type Props = { selectedParty?: Party; @@ -83,7 +83,7 @@ const DownloadSection = ({selectedParty}: Props) => { {ibanExportUpdatedAt !== undefined && <>Dati aggiornati al {format(ibanExportUpdatedAt, "dd/MM/yyyy")} alle - ore {format(ibanExportUpdatedAt, "hh:mm")} + ore {formatDateTohhmm(ibanExportUpdatedAt)} } @@ -112,7 +112,7 @@ const DownloadSection = ({selectedParty}: Props) => { {ciExportUpdatedAt !== undefined && <>Dati aggiornati al {format(ciExportUpdatedAt, "dd/MM/yyyy")} alle - ore {format(ciExportUpdatedAt, "hh:mm")} + ore {formatDateTohhmm(ciExportUpdatedAt)} } {ciExportUpdatedAt === undefined && From 807138f2c46c62f8adcb1ba89266b5ba217f1e8e Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Thu, 31 Oct 2024 16:04:42 +0000 Subject: [PATCH 08/14] Bump to version 1.39.2 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9e38ccbff..d5bdfbd84 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.39.1", + "version": "1.39.2", "homepage": "ui", "private": true, "scripts": { From 0a46a2749f1b301a0d7ef08cab2fa8d64b6e7e78 Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:57:48 +0100 Subject: [PATCH 09/14] [PPANTT-147] feat: Rework integration tests (#716) * Bump to version 1.35.4-1-next * [PPANTT-55] feat: Rework getInstitutions (#701) * [PPANTT-55] feat: reworked party management * [PPANTT-55] feat: reworked party management with label * [PPANTT-55] feat: Align mocks with new Party structure * [PPANTT-55] fix: PSP role label * [PPANTT-55] fix: App build * [PPANTT-55] fix: Unit tests * [PPANTT-55] fix: Coverage --------- Co-authored-by: Alessio Cialini * Bump to version 1.36.1-1-next * Bump to version 1.36.2-1-next [skip ci] * chore: Unit test for coverage * chore: Remove MyHeaderProduct from coverage * [PPANTT-147] feat: e2e test login operator * [PPANTT-147] feat: e2e Stations * [PPANTT-142] feat: Delete puppeteer test & move playwright folder * [PPANTT-147] feat: e2e Iban * [PPANTT-147] feat: e2e channel * [PPANTT-147] feat: Completed e2e channel flow * Revert ci_integration_test.yml delition This reverts commit 8a723d86b7bfb6e7fe4306549a3946bcf7564dd6. * [PPANTT-147] feat: e2e Swapped create channel/station with edit * [PPANTT-147] chore: Changed GHA e2e folder --------- Co-authored-by: Alessio Cialini <63233981+alessio-cialini@users.noreply.github.com> Co-authored-by: pagopa-github-bot Co-authored-by: Alessio Cialini --- .eslintrc.js | 2 +- .github/workflows/ci_code_review.yml | 4 +- .github/workflows/ci_integration_test.yml | 19 +- e2e/package.json | 18 - e2e/yarn.lock | 169 - {e2e => integration-test}/.gitignore | 0 integration-test/00_login.js | 601 --- integration-test/02_create_station.js | 210 - integration-test/03_export_ibans.js | 110 - integration-test/04_associate_station.js | 355 -- integration-test/05_operationTable_addEdit.js | 129 - integration-test/06_associate_channel.js | 253 - integration-test/commons.js | 250 - integration-test/features/README.md | 88 - integration-test/features/apikey.feature | 11 - integration-test/features/iban.feature | 13 - integration-test/features/stations.feature | 18 - .../features/step_definitions/alias.json | 51 - .../features/step_definitions/create_jwt.js | 34 - .../features/step_definitions/download_pem.sh | 32 - .../features/step_definitions/login.js | 34 - .../features/step_definitions/steps.js | 712 --- .../features/step_definitions/user_event.js | 111 - integration-test/package.json | 19 +- .../playwright.config.ts | 0 integration-test/run_integration.sh | 10 - integration-test/switch_to.js | 107 - integration-test/tests/channel.spec.ts | 135 + .../tests/delegations.spec.ts | 0 .../tests/globalBundles.spec.ts | 0 integration-test/tests/iban.spec.ts | 53 + .../tests/privateBundles.spec.ts | 0 .../tests/publicBundles.spec.ts | 0 integration-test/tests/stations.spec.ts | 144 + .../tests/utils/bundleUtils.ts | 0 .../tests/utils/createJwt.ts | 4 +- .../tests/utils/e2eUtils.ts | 25 +- {e2e => integration-test}/tsconfig.e2e.json | 0 integration-test/yarn.lock | 4622 +---------------- sonar-project.properties | 2 +- tsconfig.json | 2 +- 41 files changed, 487 insertions(+), 7860 deletions(-) delete mode 100644 e2e/package.json delete mode 100644 e2e/yarn.lock rename {e2e => integration-test}/.gitignore (100%) delete mode 100644 integration-test/00_login.js delete mode 100644 integration-test/02_create_station.js delete mode 100644 integration-test/03_export_ibans.js delete mode 100644 integration-test/04_associate_station.js delete mode 100644 integration-test/05_operationTable_addEdit.js delete mode 100644 integration-test/06_associate_channel.js delete mode 100644 integration-test/commons.js delete mode 100644 integration-test/features/README.md delete mode 100644 integration-test/features/apikey.feature delete mode 100644 integration-test/features/iban.feature delete mode 100644 integration-test/features/stations.feature delete mode 100644 integration-test/features/step_definitions/alias.json delete mode 100644 integration-test/features/step_definitions/create_jwt.js delete mode 100644 integration-test/features/step_definitions/download_pem.sh delete mode 100644 integration-test/features/step_definitions/login.js delete mode 100644 integration-test/features/step_definitions/steps.js delete mode 100644 integration-test/features/step_definitions/user_event.js rename {e2e => integration-test}/playwright.config.ts (100%) delete mode 100755 integration-test/run_integration.sh delete mode 100644 integration-test/switch_to.js create mode 100644 integration-test/tests/channel.spec.ts rename {e2e => integration-test}/tests/delegations.spec.ts (100%) rename {e2e => integration-test}/tests/globalBundles.spec.ts (100%) create mode 100644 integration-test/tests/iban.spec.ts rename {e2e => integration-test}/tests/privateBundles.spec.ts (100%) rename {e2e => integration-test}/tests/publicBundles.spec.ts (100%) create mode 100644 integration-test/tests/stations.spec.ts rename {e2e => integration-test}/tests/utils/bundleUtils.ts (100%) rename {e2e => integration-test}/tests/utils/createJwt.ts (83%) rename {e2e => integration-test}/tests/utils/e2eUtils.ts (79%) rename {e2e => integration-test}/tsconfig.e2e.json (100%) diff --git a/.eslintrc.js b/.eslintrc.js index a4b88ebfc..8e9b38fa1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -10,7 +10,7 @@ module.exports = { ], parser: '@typescript-eslint/parser', parserOptions: { - project: ['tsconfig.json', "e2e/tsconfig.e2e.json" ], + project: ['tsconfig.json', "integration-test/tsconfig.e2e.json" ], sourceType: 'module', }, plugins: ['@typescript-eslint', 'react', 'react-hooks', 'import', 'functional', 'sonarjs'], diff --git a/.github/workflows/ci_code_review.yml b/.github/workflows/ci_code_review.yml index f8a4da207..fdba215b0 100644 --- a/.github/workflows/ci_code_review.yml +++ b/.github/workflows/ci_code_review.yml @@ -217,8 +217,8 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: args: > - -Dsonar.coverage.exclusions=**/utils/**,**/__mocks__/**,**/__tests__/**,**/api/**,**/e2e/**,**/openApi/**,**/model/**,**/hooks/**,**/MyHeaderProduct.tsx - -Dsonar.cpd.exclusions=**/__mocks__/**,**/__tests__/**,**/e2e/**,**/openApi/** + -Dsonar.coverage.exclusions=**/utils/**,**/__mocks__/**,**/__tests__/**,**/api/**,**/integration-test/**,**/openApi/**,**/model/**,**/hooks/**,**/MyHeaderProduct.tsx + -Dsonar.cpd.exclusions=**/__mocks__/**,**/__tests__/**,**/integration-test/**,**/openApi/** close_pull_request_job: if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest diff --git a/.github/workflows/ci_integration_test.yml b/.github/workflows/ci_integration_test.yml index b7edd683a..eaf355e7c 100644 --- a/.github/workflows/ci_integration_test.yml +++ b/.github/workflows/ci_integration_test.yml @@ -65,28 +65,11 @@ jobs: uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3 with: node-version: 18.15.0 - - - name: Run Integration Tests Puppeteer - shell: bash - run: | - - export KEY_PEM='${{ secrets.DEV_KEY_PEM }}' - if [ "${{ inputs.environment || 'dev' }}" = "local" ]; then - export FE_URL=https://icy-island-050778e03-${{ github.event.number }}.westeurope.5.azurestaticapps.net/ui - fi - - if [ "${{ inputs.environment || 'dev' }}" = "dev" ]; then - export FE_URL="https://selfcare.dev.platform.pagopa.it/ui" - fi - - cd ./integration-test - yarn install - yarn run cucumber - name: Run Integration Tests Playwright shell: bash run: | - cd ./e2e + cd ./integration-test yarn install npx playwright install --with-deps diff --git a/e2e/package.json b/e2e/package.json deleted file mode 100644 index fd7fe62c0..000000000 --- a/e2e/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "e2e", - "version": "1.0.0", - "license": "MIT", - "scripts": { - "dep": "npx playwright install --with-deps", - "test": "npx playwright test --workers=1 --max-failures=1 --project=chromium --headed" - }, - "devDependencies": { - "@playwright/test": "^1.44.1", - "@types/jsonwebtoken": "^9.0.6", - "@types/node": "^20.14.2", - "date-fns": "^2.30.0" - }, - "dependencies": { - "jsonwebtoken": "^9.0.2" - } -} diff --git a/e2e/yarn.lock b/e2e/yarn.lock deleted file mode 100644 index bdd644f64..000000000 --- a/e2e/yarn.lock +++ /dev/null @@ -1,169 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.21.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz" - integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== - dependencies: - regenerator-runtime "^0.14.0" - -"@playwright/test@^1.44.1": - version "1.44.1" - resolved "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz" - integrity sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q== - dependencies: - playwright "1.44.1" - -"@types/jsonwebtoken@^9.0.6": - version "9.0.6" - resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz" - integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.14.9" - resolved "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== - dependencies: - undici-types "~5.26.4" - -"@types/node@^20.14.2": - version "20.14.2" - resolved "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz" - integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== - dependencies: - undici-types "~5.26.4" - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -date-fns@^2.30.0: - version "2.30.0" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -fsevents@2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -jsonwebtoken@^9.0.2: - version "9.0.2" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -playwright-core@1.44.1: - version "1.44.1" - resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz" - integrity sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA== - -playwright@1.44.1: - version "1.44.1" - resolved "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz" - integrity sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg== - dependencies: - playwright-core "1.44.1" - optionalDependencies: - fsevents "2.3.2" - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver@^7.5.4: - version "7.6.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== diff --git a/e2e/.gitignore b/integration-test/.gitignore similarity index 100% rename from e2e/.gitignore rename to integration-test/.gitignore diff --git a/integration-test/00_login.js b/integration-test/00_login.js deleted file mode 100644 index 27fb97ef3..000000000 --- a/integration-test/00_login.js +++ /dev/null @@ -1,601 +0,0 @@ -const puppeteer = require('puppeteer'); // v13.0.0 or later -const fs = require('fs'); -const { - waitForSelectors, scrollIntoViewIfNeeded, waitForSelector, - waitForElement, changeSelectElement, changeElementValue, - typeIntoElement -} = require('./commons.js'); - -const login = (async () => { - const browser = await puppeteer.launch({headless: 'new', userDataDir: './user-data'}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - let cookie = [ - { - name: 'OptanonAlertBoxClosed', - value: new Date().toUTCString(), - domain: 'dev.selfcare.pagopa.it', - }, - ]; - await page.setCookie(...cookie); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1920, - height: 1080, - }); - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await targetPage.goto('https://dev.selfcare.pagopa.it/auth/login'); - await Promise.all(promises); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Entra con SPID) >>>> ::-p-aria([role=\\"paragraph\\"])'), - targetPage.locator('#root > div > div.MuiGrid-root > div.MuiGrid-grid-xs-6 p'), - targetPage.locator('::-p-xpath(//*[@id=\\"spidButton\\"]/p)'), - targetPage.locator(':scope >>> #root > div > div.MuiGrid-root > div.MuiGrid-grid-xs-6 p'), - targetPage.locator('::-p-text(Entra con SPID)') - ]) - .setTimeout(timeout) - .click(); - } - { - const targetPage = page; - const promises = []; - const startWaitingForEvents = () => { - promises.push(targetPage.waitForNavigation()); - } - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(test[role=\\"image\\"])'), - targetPage.locator('div:nth-of-type(13) img'), - targetPage.locator('::-p-xpath(//*[@id=\\"xx_testenv2\\"]/span[1]/img)'), - targetPage.locator(':scope >>> div:nth-of-type(13) img') - ]) - .setTimeout(timeout) - .on('action', () => startWaitingForEvents()) - .click({ - offset: { - x: 65.5, - y: 18, - }, - }); - await Promise.all(promises); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [['aria/Username'], ['#username'], ['xpath///*[@id="username"]'], ['pierce/#username']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['aria/Username'], ['#username'], ['xpath///*[@id="username"]'], ['pierce/#username']], - targetPage, - {timeout, visible: true} - ); - const inputType = await element.evaluate((el) => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'test'); - } else if ( - ['textarea', 'text', 'url', 'tel', 'search', 'password', 'number', 'email'].includes( - inputType - ) - ) { - await typeIntoElement(element, 'test'); - } else { - await changeElementValue(element, 'test'); - } - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [['aria/Password'], ['#password'], ['xpath///*[@id="password"]'], ['pierce/#password']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['aria/Password'], ['#password'], ['xpath///*[@id="password"]'], ['pierce/#password']], - targetPage, - {timeout, visible: true} - ); - const inputType = await element.evaluate((el) => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'test'); - } else if ( - ['textarea', 'text', 'url', 'tel', 'search', 'password', 'number', 'email'].includes( - inputType - ) - ) { - await typeIntoElement(element, 'test'); - } else { - await changeElementValue(element, 'test'); - } - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [['section'], ['xpath//html/body/section'], ['pierce/section']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['section'], ['xpath//html/body/section'], ['pierce/section']], - targetPage, - {timeout, visible: true} - ); - await element.click({ - delay: 650.4000000059605, - offset: { - x: 370, - y: 284, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/Username'], - ['#username'], - ['xpath///*[@id="username"]'], - ['pierce/#username'], - ['text/test'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Username'], - ['#username'], - ['xpath///*[@id="username"]'], - ['pierce/#username'], - ['text/test'], - ], - targetPage, - {timeout, visible: true} - ); - const inputType = await element.evaluate((el) => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'test'); - } else if ( - ['textarea', 'text', 'url', 'tel', 'search', 'password', 'number', 'email'].includes( - inputType - ) - ) { - await typeIntoElement(element, 'test'); - } else { - await changeElementValue(element, 'test'); - } - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/[role="main"]', 'aria/[role="article"]'], - ['article'], - ['xpath//html/body/section/main/article'], - ['pierce/article'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/[role="main"]', 'aria/[role="article"]'], - ['article'], - ['xpath//html/body/section/main/article'], - ['pierce/article'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - delay: 496.70000000298023, - offset: { - x: 0, - y: 239.109375, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [['aria/Password'], ['#password'], ['xpath///*[@id="password"]'], ['pierce/#password']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['aria/Password'], ['#password'], ['xpath///*[@id="password"]'], ['pierce/#password']], - targetPage, - {timeout, visible: true} - ); - const inputType = await element.evaluate((el) => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'test'); - } else if ( - ['textarea', 'text', 'url', 'tel', 'search', 'password', 'number', 'email'].includes( - inputType - ) - ) { - await typeIntoElement(element, 'test'); - } else { - await changeElementValue(element, 'test'); - } - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await scrollIntoViewIfNeeded( - [ - ['aria/Invia'], - ['button.u-btn-primary'], - ['xpath//html/body/section/main/article/form/div[3]/button[1]'], - ['pierce/button.u-btn-primary'], - ['text/Invia'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Invia'], - ['button.u-btn-primary'], - ['xpath//html/body/section/main/article/form/div[3]/button[1]'], - ['pierce/button.u-btn-primary'], - ['text/Invia'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 217, - y: 19.7109375, - }, - }); - await Promise.all(promises); - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await scrollIntoViewIfNeeded( - [ - ['aria/Invia'], - ['button.u-btn-primary'], - ['xpath//html/body/section/main/article/form/div/button[1]'], - ['pierce/button.u-btn-primary'], - ['text/Invia'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Invia'], - ['button.u-btn-primary'], - ['xpath//html/body/section/main/article/form/div/button[1]'], - ['pierce/button.u-btn-primary'], - ['text/Invia'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 366, - y: 27.921875, - }, - }); - await Promise.all(promises); - await page.waitForNavigation(); - } - { - const targetPage = page; - // await targetPage.goto('https://dev.selfcare.pagopa.it/dashboard'); - await scrollIntoViewIfNeeded( - [['aria/Cerca ente'], ['#search'], ['xpath///*[@id="search"]'], ['pierce/#search']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['aria/Cerca ente'], ['#search'], ['xpath///*[@id="search"]'], ['pierce/#search']], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 144.078125, - y: 30.7734375, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [['aria/Cerca ente'], ['#search'], ['xpath///*[@id="search"]'], ['pierce/#search']], - targetPage, - timeout - ); - const element = await waitForSelectors( - [['aria/Cerca ente'], ['#search'], ['xpath///*[@id="search"]'], ['pierce/#search']], - targetPage, - {timeout, visible: true} - ); - const inputType = await element.evaluate((el) => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'EC Signed Direct'); - } else if ( - ['textarea', 'text', 'url', 'tel', 'search', 'password', 'number', 'email'].includes( - inputType - ) - ) { - await typeIntoElement(element, 'EC Signed Direct'); - } else { - await changeElementValue(element, 'EC Signed Direct'); - } - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/EC Signed Direct'], - ['h6'], - ['xpath///*[@data-testid="PartyItemContainer: EC Signed Direct"]/div/div/div[2]/h6'], - ['pierce/h6'], - ['text/EC Signed Direct'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/EC Signed Direct'], - ['h6'], - ['xpath///*[@data-testid="PartyItemContainer: EC Signed Direct"]/div/div/div[2]/h6'], - ['pierce/h6'], - ['text/EC Signed Direct'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 94.5, - y: 15.3828125, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/Accedi'], - ['div.css-1h6e12d button'], - ['xpath///*[@id="root"]/div/div[2]/div[2]/div/div[3]/div/button'], - ['pierce/div.css-1h6e12d button'], - ['text/Accedi'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Accedi'], - ['div.css-1h6e12d button'], - ['xpath///*[@id="root"]/div/div[2]/div[2]/div/div[3]/div/button'], - ['pierce/div.css-1h6e12d button'], - ['text/Accedi'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 43.5625, - y: 28.3359375, - }, - }); - } - { - const targetPage = page; - - await waitForElement( - { - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.css-1jp97fw > div:nth-of-type(2) > div:nth-of-type(1) p', - 'xpath///*[@id="prod-pagopa"]/div[1]/div/div/div[2]/div/p', - 'pierce/div.css-1jp97fw > div:nth-of-type(2) > div:nth-of-type(1) p', - 'text/Piattaforma pagoPA', - ], - count: 1, - visible: true, - }, - targetPage, - timeout - ); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['div.css-1jp97fw path'], - ['xpath///*[@data-testid="ArrowForwardIcon"]/path'], - ['pierce/div.css-1jp97fw path'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['div.css-1jp97fw path'], - ['xpath///*[@data-testid="ArrowForwardIcon"]/path'], - ['pierce/div.css-1jp97fw path'], - ], - targetPage, - {timeout, visible: true} - ); - /* await element.click({ - offset: { - x: 11.8515625, - y: 5.4296875, - }, - }); */ - - const elementBtn = await page.waitForSelector('#prod-pagopa button'); - await elementBtn.click(); - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await scrollIntoViewIfNeeded( - [ - ['aria/Produzione'], - ['div.css-1tstxez > button'], - ['xpath//html/body/div[3]/div[3]/div/div/div[2]/div[2]/div[2]/button'], - ['pierce/div.css-1tstxez > button'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Produzione'], - ['div.css-1tstxez > button'], - ['xpath//html/body/div[3]/div[3]/div/div/div[2]/div[2]/div[2]/button'], - ['pierce/div.css-1tstxez > button'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 69.9453125, - y: 27.5, - }, - }); - await Promise.all(promises); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/Accedi'], - ['div.MuiGrid-root button'], - ['xpath///*[@id="root"]/div[2]/div[2]/div/div/div/div[3]/button'], - ['pierce/div.MuiGrid-root button'], - ['text/Accedi'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Accedi'], - ['div.MuiGrid-root button'], - ['xpath///*[@id="root"]/div[2]/div[2]/div/div/div/div[3]/button'], - ['pierce/div.MuiGrid-root button'], - ['text/Accedi'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 49.5625, - y: 29.203125, - }, - }); - } - - - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['div.css-1abzdwk span'], - ['xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[1]/div[2]/span'], - ['pierce/div.css-1abzdwk span'], - ['text/Sviluppo'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['div.css-1abzdwk span'], - ['xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[1]/div[2]/span'], - ['pierce/div.css-1abzdwk span'], - ['text/Sviluppo'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 36.78125, - y: 15.09375, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded( - [ - ['aria/Accedi'], - ['div.MuiGrid-root button'], - ['xpath///*[@id="root"]/div[2]/div[2]/div/div/div/div[3]/button'], - ['pierce/div.MuiGrid-root button'], - ['text/Accedi'], - ], - targetPage, - timeout - ); - const element = await waitForSelectors( - [ - ['aria/Accedi'], - ['div.MuiGrid-root button'], - ['xpath///*[@id="root"]/div[2]/div[2]/div/div/div/div[3]/button'], - ['pierce/div.MuiGrid-root button'], - ['text/Accedi'], - ], - targetPage, - {timeout, visible: true} - ); - await element.click({ - offset: { - x: 59.5625, - y: 21.203125, - }, - }); - } - - await browser.close(); - - console.log("logged"); - -})().catch((err) => { - console.error(err); - process.exit(1); -}); - -module.exports = login; diff --git a/integration-test/02_create_station.js b/integration-test/02_create_station.js deleted file mode 100644 index 90796079c..000000000 --- a/integration-test/02_create_station.js +++ /dev/null @@ -1,210 +0,0 @@ -const puppeteer = require('puppeteer'); // v13.0.0 or later -const { - waitForSelectors, scrollIntoViewIfNeeded, waitForSelector -} = require('./commons.js'); - - -(async () => { - const browser = await puppeteer.launch({headless: "new", userDataDir: './user-data'}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1684, - height: 448 - }) - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'div.MuiGrid-root div:nth-of-type(3) span' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[3]/div[2]/span' - ], - [ - 'pierce/div.MuiGrid-root div:nth-of-type(3) span' - ], - [ - 'text/Stazioni' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'div.MuiGrid-root div:nth-of-type(3) span' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[3]/div[2]/span' - ], - [ - 'pierce/div.MuiGrid-root div:nth-of-type(3) span' - ], - [ - 'text/Stazioni' - ] - ], targetPage, {timeout, visible: true}); - - - await page.waitForSelector('.MuiBackdrop-root', {hidden: true}); - - await element.click({ - offset: { - x: 17.583332061767578, - y: 20.291656494140625, - }, - }); - } - - { - const targetPage = page; - await page.waitForNetworkIdle(); - - await scrollIntoViewIfNeeded([ - [ - 'aria/Crea stazione' - ], - [ - 'div.MuiGrid-root a' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[2]/div[2]/a' - ], - [ - 'pierce/div.MuiGrid-root a' - ], - [ - 'text/Crea stazione' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Crea stazione' - ], - [ - 'div.MuiGrid-root a' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[2]/div[2]/a' - ], - [ - 'pierce/div.MuiGrid-root a' - ], - [ - 'text/Crea stazione' - ] - ], targetPage, {timeout, visible: true}); - - await element.click({ - offset: { - x: 70.5555419921875, - y: 9.333343505859375, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Conferma' - ], - [ - "[data-testid='confirm-button-test']" - ], - [ - 'xpath///*[@data-testid="confirm-button-test"]' - ], - [ - "pierce/[data-testid='confirm-button-test']" - ], - [ - 'text/Conferma' - ] - ], targetPage, timeout); - await page.waitForSelector('.MuiBackdrop-root', {hidden: true}); - const element = await waitForSelectors([ - [ - 'aria/Conferma' - ], - [ - "[data-testid='confirm-button-test']" - ], - [ - 'xpath///*[@data-testid="confirm-button-test"]' - ], - [ - "pierce/[data-testid='confirm-button-test']" - ], - [ - 'text/Conferma' - ] - ], targetPage, {timeout, visible: true}); - await page.waitForSelector('.MuiBackdrop-root', {hidden: true}); - await element.click({ - offset: { - x: 54.9583740234375, - y: 25.986114501953125, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Invia' - ], - [ - "div.MuiModal-root [data-testid='confirm-button-test']" - ], - [ - 'xpath///*[@data-testid="confirm-button-test"]' - ], - [ - "pierce/div.MuiModal-root [data-testid='confirm-button-test']" - ], - [ - 'text/Invia' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Invia' - ], - [ - "div.MuiModal-root [data-testid='confirm-button-test']" - ], - [ - 'xpath///*[@data-testid="confirm-button-test"]' - ], - [ - "pierce/div.MuiModal-root [data-testid='confirm-button-test']" - ], - [ - 'text/Invia' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 30.4583740234375, - y: 23.201385498046875, - }, - }); - } - await page.waitForNetworkIdle(); - await browser.close(); - console.log("create station"); - -})().catch(err => { - console.error(err); - process.exit(1); -}); diff --git a/integration-test/03_export_ibans.js b/integration-test/03_export_ibans.js deleted file mode 100644 index 46567e588..000000000 --- a/integration-test/03_export_ibans.js +++ /dev/null @@ -1,110 +0,0 @@ -const puppeteer = require('puppeteer'); // v20.7.4 or later -const {waitForElement} = require('./commons.js'); - -(async () => { - const browser = await puppeteer.launch({headless: 'new', userDataDir: './user-data'}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1904, - height: 934 - }) - } - { - const targetPage = page; - const promises = []; - const startWaitingForEvents = () => { - promises.push(targetPage.waitForNavigation()); - } - startWaitingForEvents(); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/EC Signed Direct', - 'div.css-1ye32zt h6', - 'xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[2]/div/div/div/div[2]/h6', - 'pierce/div.css-1ye32zt h6' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/EC Signed Direct', - 'div.css-1ye32zt h6', - 'xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[2]/div/div/div/div[2]/h6', - 'pierce/div.css-1ye32zt h6' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/Sezione download', - 'div.MuiGrid-root div:nth-of-type(2) > h6', - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[2]/div/div[2]/div[2]/div[2]/h6', - 'pierce/div.MuiGrid-root div:nth-of-type(2) > h6', - 'text/Sezione download' - ], - visible: true - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Scarica lista IBAN)'), - targetPage.locator("[data-testid='export-iban-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"export-iban-test\\"])'), - targetPage.locator(":scope >>> [data-testid='export-iban-test']"), - targetPage.locator('::-p-text(Scarica lista)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 86, - y: 14.640625, - }, - }); - } - { - const targetPage = page; - await waitUntilDownload(targetPage) - } - - await browser.close(); - console.log("export ibans"); - -})().catch(err => { - console.error(err); - process.exit(1); -}); - -async function waitUntilDownload(page) { - return new Promise((resolve, reject) => { - page._client().on('Page.downloadProgress', e => { // or 'Browser.downloadProgress' - if (e.state === 'completed') { - resolve('file'); - } else if (e.state === 'canceled') { - reject(); - console.error(e); - process.exit(1); - } - }); - }); -} diff --git a/integration-test/04_associate_station.js b/integration-test/04_associate_station.js deleted file mode 100644 index ceacbf00b..000000000 --- a/integration-test/04_associate_station.js +++ /dev/null @@ -1,355 +0,0 @@ -const puppeteer = require('puppeteer'); // v20.7.4 or later -const {waitForElement} = require('./commons.js'); -const {delay} = require("./commons"); - -(async () => { - const browser = await puppeteer.launch({headless: 'new', userDataDir: './user-data'}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1804, - height: 934 - }) - } - { - const targetPage = page; - const promises = []; - const startWaitingForEvents = () => { - promises.push(targetPage.waitForNavigation()); - } - startWaitingForEvents(); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/EC Signed Direct', - 'div.css-1ye32zt h6', - 'xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[2]/div/div/div/div[2]/h6', - 'pierce/div.css-1ye32zt h6' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - "[data-testid='stations-test'] span", - 'xpath///*[@data-testid="stations-test"]/div[2]/span', - "pierce/[data-testid='stations-test'] span", - 'text/Stazioni' - ], - visible: true - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='stations-test'] span"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"stations-test\\"]/div[2]/span)'), - targetPage.locator(":scope >>> [data-testid='stations-test'] span"), - targetPage.locator('::-p-text(Stazioni)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 35.578125, - y: 23.9453125, - }, - }); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - [ - 'aria/99999000004_02', - 'aria/[role="paragraph"]' - ], - 'div.MuiDataGrid-row--lastVisible p', - 'xpath///*[@id="StationsSearchTableBox"]/div/div[2]/div[2]/div/div/div/div[2]/div[1]/div/div/div/div/p', - 'pierce/div.MuiDataGrid-row--lastVisible p', - 'text/99999000004_02' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("div.MuiDataGrid-row--lastVisible [data-testid='MoreVertIcon']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"MoreVertIcon\\"])'), - targetPage.locator(":scope >>> div.MuiDataGrid-row--lastVisible [data-testid='MoreVertIcon']") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 8.9296875, - y: 11.4296875, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Gestisci EC[role=\\"menuitem\\"])'), - targetPage.locator('a:nth-of-type(2) > li'), - targetPage.locator('::-p-xpath(//*[@id=\\"mui-18\\"]/a[2]/li)'), - targetPage.locator(':scope >>> a:nth-of-type(2) > li'), - targetPage.locator('::-p-text(Gestisci EC)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 84.7890625, - y: 20.5, - }, - }); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/Associa EC', - 'div.css-1age63q > a', - 'xpath///*[@id="StationsSearchTableBox"]/div[1]/a', - 'pierce/div.css-1age63q > a' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Associa EC)'), - targetPage.locator('div.css-1age63q > a'), - targetPage.locator('::-p-xpath(//*[@id=\\"StationsSearchTableBox\\"]/div[1]/a)'), - targetPage.locator(':scope >>> div.css-1age63q > a') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 67.09375, - y: 31, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Cerca EC)'), - targetPage.locator("[data-testid='ec-selection-search']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"ec-selection-search\\"])'), - targetPage.locator(":scope >>> [data-testid='ec-selection-search']") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 147.078125, - y: 21.7109375, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Cerca EC)'), - targetPage.locator("[data-testid='ec-selection-search']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"ec-selection-search\\"])'), - targetPage.locator(":scope >>> [data-testid='ec-selection-search']") - ]) - .setTimeout(timeout) - .fill('ec signed direct'); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='PartyItemContainer\\:\\ EC\\ Signed\\ Direct'] > div > div"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"PartyItemContainer: EC Signed Direct\\"]/div/div)'), - targetPage.locator(":scope >>> [data-testid='PartyItemContainer\\:\\ EC\\ Signed\\ Direct'] > div > div") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 231, - y: 34.203125, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('body'), - targetPage.locator('::-p-xpath(/html/body)'), - targetPage.locator(':scope >>> body') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 663, - y: 511, - }, - }); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.MuiGrid-root h6', - 'xpath///*[@data-testid="grid-item"]/div/div[1]/div/div/div[2]/h6', - 'pierce/div.MuiGrid-root h6' - ], - visible: true - }, targetPage, timeout); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - [ - 'aria/removeSelectionIcon', - 'aria/[role="graphics-symbol"]' - ], - 'div.css-70qvj9 path', - 'xpath///*[@data-testid="ClearOutlinedIcon"]/path', - 'pierce/div.css-70qvj9 path' - ] - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(3)'), - targetPage.locator('#menu-auxDigit li'), - targetPage.locator('::-p-xpath(//*[@id=\\"menu-auxDigit\\"]/div[3]/ul/li)'), - targetPage.locator(':scope >>> #menu-auxDigit li') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 92, - y: 19, - }, - }); - } - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'aria/*', - '#segregationCode', - 'xpath///*[@id="segregationCode"]', - 'pierce/#segregationCode' - ], - visible: true - }, targetPage, timeout); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(*)'), - targetPage.locator('#segregationCode'), - targetPage.locator('::-p-xpath(//*[@id=\\"segregationCode\\"])'), - targetPage.locator(':scope >>> #segregationCode') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 200.5, - y: 22.203125, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(00)'), - targetPage.locator('#menu-segregationCode li:nth-of-type(1)'), - targetPage.locator('::-p-xpath(//*[@id=\\"menu-segregationCode\\"]/div[3]/ul/li[1])'), - targetPage.locator(':scope >>> #menu-segregationCode li:nth-of-type(1)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 133, - y: 22, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Conferma)'), - targetPage.locator("[data-testid='confirm-btn-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"confirm-btn-test\\"])'), - targetPage.locator(":scope >>> [data-testid='confirm-btn-test']") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 85.84375, - y: 25.3984375, - }, - }); - } - { - await delay(2000); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('div.MuiDataGrid-main > div:nth-of-type(2) path'), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"RemoveCircleIcon\\"]/path)'), - targetPage.locator(':scope >>> div.MuiDataGrid-main > div:nth-of-type(2) path') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 9.03125, - y: 12, - }, - }); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Dissocia EC)'), - targetPage.locator('div.css-1cv3pxx > button'), - targetPage.locator('::-p-xpath(/html/body/div[3]/div[3]/div/div/div[2]/div[2]/div/div[2]/button)'), - targetPage.locator(':scope >>> div.css-1cv3pxx > button') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 50.421875, - y: 25.5, - }, - }); - } - - await browser.close(); - console.log("associate station"); - - -})().catch(err => { - console.error(err); - process.exit(1); -}); diff --git a/integration-test/05_operationTable_addEdit.js b/integration-test/05_operationTable_addEdit.js deleted file mode 100644 index 044298fb1..000000000 --- a/integration-test/05_operationTable_addEdit.js +++ /dev/null @@ -1,129 +0,0 @@ -const puppeteer = require('puppeteer'); -const {waitForElement, delay} = require("./commons"); -const {switchTo} = require("./switch_to"); // v20.7.4 or later - -(async () => { - const browser = await puppeteer.launch({headless: 'new', userDataDir: './user-data', slowMo: 10}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1920, - height: 1080, - }); - } - { - const targetPage = page; - const promises = []; - promises.push(targetPage.waitForNavigation()); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - - await switchTo(page, timeout, "EC Signed Direct"); - await createOperationTableTest(page, timeout); - - await browser.close(); - console.log('Operation table created/updated'); -})().catch((err) => { - console.error(err); - process.exit(1); -}); - -const createOperationTableTest = async (page, timeout) => { - let i = 0; - console.log(`createOperationTableTest ${i++}`); - const targetPage = page; - { - await targetPage.waitForNetworkIdle(); - await delay(5000); - await puppeteer.Locator.race([ - targetPage.locator('div.MuiGrid-root div:nth-of-type(3) button'), - targetPage.locator('::-p-xpath(//*[@id=\\"root\\"]/div[2]/div[2]/div/div[2]/div/div[2]/div[3]/div/div[2]/div[5]/button)'), - targetPage.locator(':scope >>> div.MuiGrid-root div:nth-of-type(3) button') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 50.5, - y: 20.203125, - }, - }); - } - console.log(`createOperationTableTest ${i++}`); - { - await targetPage.waitForNetworkIdle(); - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(E-mail)'), - targetPage.locator("[data-testid='email-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"email-test\\"])'), - targetPage.locator(":scope >>> [data-testid='email-test']") - ]) - .setTimeout(timeout) - .click({ - count: 3, - offset: { - x: 94, - y: 18.578125, - }, - }); - } - console.log(`createOperationTableTest ${i++}`); - { - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(E-mail)'), - targetPage.locator("[data-testid='email-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"email-test\\"])'), - targetPage.locator(":scope >>> [data-testid='email-test']") - ]) - .setTimeout(timeout) - .fill('mail@test.com'); - } - console.log(`createOperationTableTest ${i++}`); - { - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Telefono)'), - targetPage.locator("[data-testid='phone-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"phone-test\\"])'), - targetPage.locator(":scope >>> [data-testid='phone-test']") - ]) - .setTimeout(timeout) - .click({ - count: 3, - offset: { - x: 33.015625, - y: 21.578125, - }, - }); - } - console.log(`createOperationTableTest ${i++}`); - { - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Telefono)'), - targetPage.locator("[data-testid='phone-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"phone-test\\"])'), - targetPage.locator(":scope >>> [data-testid='phone-test']"), - targetPage.locator('::-p-text(1234324234)') - ]) - .setTimeout(timeout) - .fill('1234567'); - } - console.log(`createOperationTableTest ${i++}`); - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Conferma)'), - targetPage.locator("[data-testid='submit-button-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"submit-button-test\\"])'), - targetPage.locator(":scope >>> [data-testid='submit-button-test']"), - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 56.484375, - y: 18.703125, - }, - }); - console.log(`createOperationTableTest ${i++}`); -}; diff --git a/integration-test/06_associate_channel.js b/integration-test/06_associate_channel.js deleted file mode 100644 index b8bd7ce2e..000000000 --- a/integration-test/06_associate_channel.js +++ /dev/null @@ -1,253 +0,0 @@ -const puppeteer = require('puppeteer'); // v20.7.4 or later -const {waitForElement} = require('./commons.js'); -const {switchTo} = require("./switch_to"); -const {delay} = require("./commons"); - -(async () => { - const browser = await puppeteer.launch({headless: 'new', userDataDir: './user-data', slowMo: 100}); - const page = await browser.newPage(); - const timeout = 30000; - page.setDefaultTimeout(timeout); - - { - const targetPage = page; - await targetPage.setViewport({ - width: 1102, - height: 868 - }) - } - { - const targetPage = page; - const promises = []; - const startWaitingForEvents = () => { - promises.push(targetPage.waitForNavigation()); - } - startWaitingForEvents(); - await targetPage.goto('https://selfcare.dev.platform.pagopa.it/ui'); - await Promise.all(promises); - } - - await switchTo(page, timeout, "PSP DEMO DIRECT"); - await delay(10000); - let i = 0; - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - "[data-testid='channels-test'] span", - 'xpath///*[@data-testid="channels-test"]/div[2]/span', - "pierce/[data-testid='channels-test'] span", - 'text/Canali' - ] - }, targetPage, timeout); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='channels-test'] span"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"channels-test\\"]/div[2]/span)'), - targetPage.locator(":scope >>> [data-testid='channels-test'] span"), - targetPage.locator('::-p-text(Canali)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 38.578125, - y: 16.9453125, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("div.MuiDataGrid-main > div:nth-of-type(2) > div > div > div > div:nth-of-type(1) [data-testid='MoreVertIcon']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"MoreVertIcon\\"])'), - targetPage.locator(":scope >>> div.MuiDataGrid-main > div:nth-of-type(2) > div > div > div > div:nth-of-type(1) [data-testid='MoreVertIcon']") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 15.265625, - y: 10.4296875, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('a:nth-of-type(2) > li'), - targetPage.locator('::-p-xpath(//*[@id=\\"mui-42\\"]/a[2]/li)'), - targetPage.locator(':scope >>> a:nth-of-type(2) > li'), - targetPage.locator('::-p-aria(Gestisci PSP[role=\\"menuitem\\"])'), - targetPage.locator('::-p-text(Gestisci PSP)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 81.1875, - y: 9, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Associa PSP)'), - targetPage.locator('div.MuiGrid-root a'), - targetPage.locator('::-p-xpath(//*[@id=\\"root\\"]/div[2]/div[2]/div/div[2]/div[4]/a)'), - targetPage.locator(':scope >>> div.MuiGrid-root a'), - targetPage.locator('::-p-text(Associa PSP)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 45.8984375, - y: 8, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='psp-selection-search']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"psp-selection-search\\"])'), - targetPage.locator(":scope >>> [data-testid='psp-selection-search']"), - targetPage.locator('::-p-aria(Cerca PSP)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 294.578125, - y: 27.7734375, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='psp-selection-search']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"psp-selection-search\\"])'), - targetPage.locator(":scope >>> [data-testid='psp-selection-search']"), - targetPage.locator('::-p-aria(Cerca PSP)') - ]) - .setTimeout(timeout) - .fill('psp'); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.MuiGrid-root h6', - 'xpath///*[@data-testid="PartyItemContainer: PSP DEMO DIRECT"]/div/div/div[2]/h6', - 'pierce/div.MuiGrid-root h6', - [ - 'aria/PSP DEMO DIRECT[role="button"]', - 'aria/[role="heading"]' - ] - ] - }, targetPage, timeout); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('div.MuiGrid-root h6'), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"PartyItemContainer: PSP DEMO DIRECT\\"]/div/div/div[2]/h6)'), - targetPage.locator(':scope >>> div.MuiGrid-root h6'), - targetPage.locator('::-p-aria(PSP DEMO DIRECT[role=\\"button\\"]) >>>> ::-p-aria([role=\\"heading\\"])') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 12, - y: 18.5859375, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator("[data-testid='confirm-btn-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"confirm-btn-test\\"])'), - targetPage.locator(":scope >>> [data-testid='confirm-btn-test']"), - targetPage.locator('::-p-aria(Conferma)'), - targetPage.locator('::-p-text(Conferma)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 76.34375, - y: 39.3359375, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.MuiDataGrid-main > div:nth-of-type(2) div:nth-of-type(3) > div', - 'xpath///*[@id="ChannelsSearchTableBox"]/div/div[2]/div[2]/div/div/div/div/div[3]/div', - 'pierce/div.MuiDataGrid-main > div:nth-of-type(2) div:nth-of-type(3) > div' - ] - }, targetPage, timeout); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('div.MuiDataGrid-main > div:nth-of-type(2) path'), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"RemoveCircleIcon\\"]/path)'), - targetPage.locator(':scope >>> div.MuiDataGrid-main > div:nth-of-type(2) path'), - targetPage.locator('::-p-aria([role=\\"grid\\"]) >>>> ::-p-aria([role=\\"graphics-symbol\\"])') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 11.96875, - y: 4.6015625, - }, - }); - } - console.log(`associateChannel ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('div.css-1cv3pxx > button'), - targetPage.locator('::-p-xpath(/html/body/div[2]/div[3]/div/div/div[2]/div[2]/div/div[2]/button)'), - targetPage.locator(':scope >>> div.css-1cv3pxx > button'), - targetPage.locator('::-p-aria(Dissocia PSP)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 86.0703125, - y: 28.5, - }, - }); - } - - console.log("associate channel"); - await browser.close(); - -})().catch(err => { - console.error(err); - process.exit(1); -}); diff --git a/integration-test/commons.js b/integration-test/commons.js deleted file mode 100644 index 86eb1d812..000000000 --- a/integration-test/commons.js +++ /dev/null @@ -1,250 +0,0 @@ -async function waitForSelectors(selectors, frame, options) { - for (const selector of selectors) { - try { - return await waitForSelector(selector, frame, options); - } catch (err) { - console.error(err); - } - } - throw new Error('Could not find element for selectors: ' + JSON.stringify(selectors)); -} - -async function scrollIntoViewIfNeeded(selectors, frame, timeout) { - const element = await waitForSelectors(selectors, frame, {visible: false, timeout}); - if (!element) { - throw new Error('The element could not be found.'); - } - await waitForConnected(element, timeout); - const isInViewport = await element.isIntersectingViewport({threshold: 0}); - if (isInViewport) { - return; - } - await element.evaluate((element) => { - element.scrollIntoView({ - block: 'center', - inline: 'center', - behavior: 'auto', - }); - }); - await waitForInViewport(element, timeout); -} - -async function waitForConnected(element, timeout) { - await waitForFunction(async () => { - return await element.getProperty('isConnected'); - }, timeout); -} - -async function waitForInViewport(element, timeout) { - await waitForFunction(async () => { - return await element.isIntersectingViewport({threshold: 0}); - }, timeout); -} - -async function waitForSelector(selector, frame, options) { - if (!Array.isArray(selector)) { - selector = [selector]; - } - if (!selector.length) { - throw new Error('Empty selector provided to waitForSelector'); - } - let element = null; - for (let i = 0; i < selector.length; i++) { - const part = selector[i]; - if (element) { - element = await element.waitForSelector(part, options); - } else { - element = await frame.waitForSelector(part, options); - } - if (!element) { - throw new Error('Could not find element: ' + selector.join('>>')); - } - if (i < selector.length - 1) { - element = ( - await element.evaluateHandle((el) => (el.shadowRoot ? el.shadowRoot : el)) - ).asElement(); - } - } - if (!element) { - throw new Error('Could not find element: ' + selector.join('|')); - } - return element; -} - -async function waitForElement(step, frame, timeout) { - const {count = 1, operator = '>=', visible = true, properties, attributes} = step; - const compFn = { - '==': (a, b) => a === b, - '>=': (a, b) => a >= b, - '<=': (a, b) => a <= b, - }[operator]; - await waitForFunction(async () => { - const elements = await querySelectorsAll(step.selectors, frame); - let result = compFn(elements.length, count); - const elementsHandle = await frame.evaluateHandle((...elements) => { - return elements; - }, ...elements); - await Promise.all(elements.map((element) => element.dispose())); - if (result && (properties || attributes)) { - result = await elementsHandle.evaluate( - (elements, properties, attributes) => { - for (const element of elements) { - if (attributes) { - for (const [name, value] of Object.entries(attributes)) { - if (element.getAttribute(name) !== value) { - return false; - } - } - } - if (properties) { - if (!isDeepMatch(properties, element)) { - return false; - } - } - } - return true; - - function isDeepMatch(a, b) { - if (a === b) { - return true; - } - if ((a && !b) || (!a && b)) { - return false; - } - if (!(a instanceof Object) || !(b instanceof Object)) { - return false; - } - for (const [key, value] of Object.entries(a)) { - if (!isDeepMatch(value, b[key])) { - return false; - } - } - return true; - } - }, - properties, - attributes - ); - } - await elementsHandle.dispose(); - return result === visible; - }, timeout); -} - -async function querySelectorsAll(selectors, frame) { - for (const selector of selectors) { - const result = await querySelectorAll(selector, frame); - if (result.length) { - return result; - } - } - return []; -} - -async function querySelectorAll(selector, frame) { - if (!Array.isArray(selector)) { - selector = [selector]; - } - if (!selector.length) { - throw new Error('Empty selector provided to querySelectorAll'); - } - let elements = []; - for (let i = 0; i < selector.length; i++) { - const part = selector[i]; - if (i === 0) { - elements = await frame.$$(part); - } else { - const tmpElements = elements; - elements = []; - for (const el of tmpElements) { - elements.push(...(await el.$$(part))); - } - } - if (elements.length === 0) { - return []; - } - if (i < selector.length - 1) { - const tmpElements = []; - for (const el of elements) { - const newEl = ( - await el.evaluateHandle((el) => (el.shadowRoot ? el.shadowRoot : el)) - ).asElement(); - if (newEl) { - tmpElements.push(newEl); - } - } - elements = tmpElements; - } - } - return elements; -} - -async function waitForFunction(fn, timeout) { - let isActive = true; - const timeoutId = setTimeout(() => { - isActive = false; - }, timeout); - while (isActive) { - const result = await fn(); - if (result) { - clearTimeout(timeoutId); - return; - } - await new Promise((resolve) => setTimeout(resolve, 100)); - } - throw new Error('Timed out'); -} - -async function changeSelectElement(element, value) { - await element.select(value); - await element.evaluateHandle((e) => { - e.blur(); - e.focus(); - }); -} - -async function changeElementValue(element, value) { - await element.focus(); - await element.evaluate((input, value) => { - input.value = value; - input.dispatchEvent(new Event('input', {bubbles: true})); - input.dispatchEvent(new Event('change', {bubbles: true})); - }, value); -} - -async function typeIntoElement(element, value) { - const textToType = await element.evaluate((input, newValue) => { - if (newValue.length <= input.value.length || !newValue.startsWith(input.value)) { - input.value = ''; - return newValue; - } - const originalValue = input.value; - input.value = ''; - input.value = originalValue; - return newValue.substring(originalValue.length); - }, value); - await element.type(textToType); -} - -function delay(time) { - return new Promise(function (resolve) { - setTimeout(resolve, time) - }); -} - - -module.exports = { - waitForSelectors, - scrollIntoViewIfNeeded, - waitForConnected, - waitForInViewport, - waitForSelector, - waitForElement, - querySelectorsAll, - querySelectorAll, - waitForFunction, - changeSelectElement, - changeElementValue, - typeIntoElement, - delay -} diff --git a/integration-test/features/README.md b/integration-test/features/README.md deleted file mode 100644 index 794ddfe1e..000000000 --- a/integration-test/features/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# Available Steps - -See the alias.json file to map your alis with a selector. - -## Given - -All the Given steps. - -### Logged User and selected org {organization name} - -| var | type | description | -|-------------------|----------|----------------------| -| organization name | `string` | organization name | - -## When - -All the When steps. - -### the client goes to {url} - -| var | type | description | -|-----|----------|-------------| -| url | `string` | an URL | - -### types {text} on {input text} - -| var | type | description | -|------------|----------|------------------------------------| -| text | `string` | the text to write | -| input text | `string` | an alias for an input text element | - -### clicks on {html element} - -| var | type | description | -|--------------|----------|-----------------------------| -| html element | `string` | an alias for a HTML element | - -### fills the form < table > - -| var | type | description | -|-------|-------------|---------------------------------------------------| -| table | `dataTable` | a table with the input text alias and them values | - -### selects for {select} the value {option} - -| var | type | description | -|--------|----------|--------------------------------| -| select | `string` | an alias for a select element | -| option | `string` | an alias for an option element | - -### types and selects for {filter} the value {option} - -### types {text} in {filter} and selects the value {option} - -| var | type | description | -|--------|----------|---------------------------------------------| -| text | `string` | some text to type | -| filter | `string` | an alias for a filtering input text element | -| option | `string` | an alias for an option element | - -## Then - -All the Then steps. - -### element {alias} has {value} as value - -| var | type | description | -|-------|----------|-----------------------------| -| alias | `string` | an alias for a HTML element | -| value | `string` | some text | - -### element {alias} exists - -| var | type | description | -|-------|----------|-----------------------------| -| alias | `string` | an alias for a HTML element | - -### text {string} exists in the page - -| var | type | description | -|------|----------|------------------------------| -| text | `string` | some text exists in the page | - -### {alias} is disabled - -| var | type | description | -|-------|----------|-----------------------------| -| alias | `string` | an alias for a HTML element | diff --git a/integration-test/features/apikey.feature b/integration-test/features/apikey.feature deleted file mode 100644 index e3a5ffa77..000000000 --- a/integration-test/features/apikey.feature +++ /dev/null @@ -1,11 +0,0 @@ -Feature: Api Key - - Background: - Given Logged User and selected org "Comune di Frosinone" - - - Scenario: Api Key for GPD Exists - When the client goes to "https://selfcare.dev.platform.pagopa.it/ui" -# When the client goes to "http://localhost:3000/ui#logged=forced" - And clicks on "Menu API Key" - Then text "GPD - Posizioni Debitorie" exists in the page diff --git a/integration-test/features/iban.feature b/integration-test/features/iban.feature deleted file mode 100644 index afdba1660..000000000 --- a/integration-test/features/iban.feature +++ /dev/null @@ -1,13 +0,0 @@ -#Feature: IBAN -# -# Background: -# Given Logged User and selected org "EC Signed Direct" -# -# -# Scenario: Iban Add -# When the client goes to "https://selfcare.dev.platform.pagopa.it/ui" -# And adds the iban -# -# Scenario: Iban Delete -# When the client goes to "https://selfcare.dev.platform.pagopa.it/ui" -# And deletes the iban diff --git a/integration-test/features/stations.feature b/integration-test/features/stations.feature deleted file mode 100644 index 32d1b45e2..000000000 --- a/integration-test/features/stations.feature +++ /dev/null @@ -1,18 +0,0 @@ -#Feature: Stazioni -# -# Background: -# Given Logged User and selected org "Comune di Frosinone" -# -# -# Scenario: Create Station -# When the client goes to "https://selfcare.dev.platform.pagopa.it/ui" -## When the client goes to "http://localhost:3000/ui" -# And clicks on "Menu Stazioni" -# And clicks on "Crea Stazione" -# And fills the form -# | endpoint-rt | redirect | modello unico | -# | http://test.it | http://test.it | http://test.it | -# And selects for "versione primitive" the value "primitiva 1" -# And clicks on "Conferma" -# And clicks on "Conferma Popup" -# diff --git a/integration-test/features/step_definitions/alias.json b/integration-test/features/step_definitions/alias.json deleted file mode 100644 index fef43019b..000000000 --- a/integration-test/features/step_definitions/alias.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "Comune di Frosinone": "5b46b1d5-63fa-43fb-adc4-21093b1d6cd6", - "PSP Signed Direct": "2d6fe3c6-5656-43c8-afd4-ccf2bb352cec", - "login con spid": "#spidButton", - "spid test": "#xx_testenv2", - "username": "#username", - "password": "#password", - "invia": "[name=confirm]", - "selfcare cerca enti": "/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/div/div/div[1]/div/div/div/input", - "selfcare ente selezionato": "/html/body/div[1]/div/div[2]/div[2]/div/div[2]/div/div/div/div[2]/div/div/div", - "accedi su selfcare": "/html/body/div[1]/div/div[2]/div[2]/div/div[3]/div/button", - "Panoramica selfcare": "/html/body/div[1]/div/div[2]/div[2]/nav/div/div/div/ul/ul[1]/div/div[2]/span", - "Piattaforma pagoPA": "#forward_prod-pagopa", - "Ambiente Collaudo": "/html/body/div[3]/div[3]/div/div/div[2]/div[2]/div/label[1]/span[1]/input", - "Accedi a Backoffice": "/html/body/div[3]/div[3]/div/div/div[2]/div[3]/div/div[2]/button", - "Accetta Privacy": "//button[contains(text(), \"Accedi\")]", - "Menu API Key": "[data-testid=\"apikeys-test\"]", - "Menu Stazioni": "[data-testid=\"stations-test\"]", - "Crea Stazione": "[data-testid=\"create-station\"]", - "endpoint-rt": "[data-testid=\"targetConcat-test\"]", - "redirect": "[data-testid=\"redirectConcat-test\"]", - "modello unico": "[data-testid=\"targetPofConcat-test\"]", - "versione primitive": "[data-testid=\"primitive-version-test\"]", - "primitiva 1": "li[data-value=\"1\"]", - "Conferma": "[data-testid=\"confirm-button-test\"]", - "Conferma Popup": "[data-testid=\"confirm-button-modal-test\"", - "Pacchetti Commissione Menu": "[data-testid=\"commission-bundles-test\"]", - "Crea Pacchetto": "[data-testid=\"create-bundle-button\"]", - "Globale": "[value=GLOBAL]", - "nome pacchetto": "[data-testid=name-test]", - "descrizione pacchetto": "[data-testid=description-test]", - "importo minimo": "[data-testid=min-import-test]", - "importo massimo": "[data-testid=max-import-test]", - "fee": "[data-testid=payment-amount-test]", - "payment type": "[data-testid=payment-type-test]", - "touchpoint": "[data-testid=touchpoint-test]", - "bancomat Pay": "li[data-value=BPAY]", - "codice intermediario": "#brokerCodes", - "PSP Signed Direct Option": "#brokerCodes-option-0", - "codice canale": "#idChannel", - "data inizio validità": "#validityDateFrom", - "data fine validità": "#validityDateTo", - "Conferma Pacchetto": "[data-testid=open-modal-button-test]", - "99999000001_01": "#idChannel-option-0", - "Gestisci Pacchetto": "[aria-label='Gestisci pacchetto']", - "Elimina": "[data-testid=delete-button]", - "Sfoglia Catalogo": "[data-testid='open-taxonomies-drawer']", - "filtro tassonomie": "#catalogue-filter", - "9/0601134AP/": "[data-testid='checkbox-taxonomy']", - "Aggiungi": "[data-testid=taxonomies-add-button-test]" -} diff --git a/integration-test/features/step_definitions/create_jwt.js b/integration-test/features/step_definitions/create_jwt.js deleted file mode 100644 index ed219d3f0..000000000 --- a/integration-test/features/step_definitions/create_jwt.js +++ /dev/null @@ -1,34 +0,0 @@ -const fs = require('fs'); -const jwt = require('jsonwebtoken'); - -const create_jwt = async (org_id) => { - - - let cert = process.env.KEY_PEM; - if (!cert) { - console.log("read cert from file"); - cert = fs.readFileSync('./key.pem'); - } - - const payload = { - iat: Date.now(), - aud: "api.platform.pagopa.it", - iss: "https://api.dev.platform.pagopa.it", - uid: "5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8", - name: "Anselmo", - family_name: "Sartori", - email: "furiovitale@martino.it", - org_id: org_id, - org_vat: "00000000000", - org_party_role: "MANAGER", - org_role: "admin" - }; - - const signOptions = { - algorithm: 'RS256', - expiresIn: '4h' - }; - - return jwt.sign(payload, cert, signOptions); -} -module.exports = {create_jwt}; diff --git a/integration-test/features/step_definitions/download_pem.sh b/integration-test/features/step_definitions/download_pem.sh deleted file mode 100644 index 382ad8668..000000000 --- a/integration-test/features/step_definitions/download_pem.sh +++ /dev/null @@ -1,32 +0,0 @@ -# stackoverflow -> https://stackoverflow.com/questions/65097173/azure-key-vault-download-certificate-with-private-key - - -# Define the passphrase for the PKCS#12 file. -passphrase="" - -pkcs12_file="client_certificate.pfx" -certificate_name="pagopa-d-weu-selfcare-jwt-signing-cert" -KeyVaultName="pagopa-d-selfcare-kv" - -# Retrieve the client certificate from the Key Vault -certificate_pfx_base64=$(az keyvault secret show --name ${certificate_name} --vault-name ${KeyVaultName} --query value --output tsv) - -echo "$certificate_pfx_base64" | base64 --decode > client_certificate.pfx - -# Extract private key and certificates -openssl pkcs12 -in "$pkcs12_file" -passin "pass:$passphrase" -nocerts -nodes -out key.pem -openssl pkcs12 -in "$pkcs12_file" -passin "pass:$passphrase" -nokeys -out cert.pem - -# Print the private key -echo "Private Key:" -cat key.pem - -# Print the certificates -echo "Certificates:" -cat cert.pem - -# Retrieve the public key certificate from the Key Vault -az keyvault certificate download --vault-name ${KeyVaultName} --name ${certificate_name} --encoding PEM -f public.pem - -# display the public certificate -cat public.pem diff --git a/integration-test/features/step_definitions/login.js b/integration-test/features/step_definitions/login.js deleted file mode 100644 index 1ff70274f..000000000 --- a/integration-test/features/step_definitions/login.js +++ /dev/null @@ -1,34 +0,0 @@ -const {clickXPath, typeXPath, click, type} = require("./user_event"); - - -const login = async (page, username, password, org) => { - await click(page, "login con spid"); - await click(page, "spid test") - await type(page, "username", username) - await type(page, "password", password) - await click(page, "invia") - await click(page, "invia") - await typeXPath(page, "selfcare cerca enti", org) - await clickXPath(page, "selfcare ente selezionato") - await clickXPath(page, "accedi su selfcare") - await clickXPath(page, "Panoramica selfcare") - await page.waitForNetworkIdle(); - await delay(500); - await click(page, "Piattaforma pagoPA") - await delay(500); - await clickXPath(page, "Ambiente Collaudo") - await delay(2000); - await clickXPath(page, "Accedi a Backoffice") - await page.waitForNetworkIdle(); - await delay(1000); - await clickXPath(page, "Accetta Privacy") -} - -module.exports = {login}; - - -function delay(time) { - return new Promise(function (resolve) { - setTimeout(resolve, time) - }); -} diff --git a/integration-test/features/step_definitions/steps.js b/integration-test/features/step_definitions/steps.js deleted file mode 100644 index 75920d05f..000000000 --- a/integration-test/features/step_definitions/steps.js +++ /dev/null @@ -1,712 +0,0 @@ -const {login} = require("./login"); -const {checkXPath, clickXPath, typeXPath, check, click, type, exist} = require("./user_event"); -const {Given, After, When, Then, Before} = require('@cucumber/cucumber') -const puppeteer = require('puppeteer'); -const {setDefaultTimeout} = require('@cucumber/cucumber'); -const assert = require("assert"); -const idMapper = require(`./alias.json`); -const { - scrollIntoViewIfNeeded, - waitForSelectors, - waitForSelector, - changeSelectElement, - typeIntoElement, - changeElementValue -} = require("../../commons"); -const {create_jwt} = require("./create_jwt"); - - -let page; -let browser; -let jwt = ''; -const defaultTimeout = 30000; -setDefaultTimeout(defaultTimeout); - -Before(function () { - -}); - -Given('Logged User and selected org {string}', async (org) => { - browser = await puppeteer.launch({headless: 'new'}); - // browser = await puppeteer.launch({headless: false}); - page = await browser.newPage(); - page.setDefaultTimeout(defaultTimeout); - let cookie = [ - { - name: 'OptanonAlertBoxClosed', - value: new Date().toUTCString(), - domain: 'dev.selfcare.pagopa.it', - }, - ]; - await page.setCookie(...cookie); - await page.setViewport({ - width: 1800, - height: 900, - }); - org = idMapper[org] ?? org; - - jwt = await create_jwt(org); -}); - -When('the client goes to {string}', async function (url) { - await page.goto(url+'#logged=forced'); - await page.evaluate((jwt) => { - let user = { - "uid": "5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8", - "name": "Anselmo", - "surname": "Sartori", - "email": "furiovitale@martino.it" - }; - let tos = {"id": "5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8", "timestamp": "2024-02-20T14:28:10.041Z"}; - window.localStorage.setItem('user', JSON.stringify(user)); - window.localStorage.setItem('acceptTOS', JSON.stringify(tos)); - window.localStorage.setItem('token', jwt); - }, jwt); - await delay(1000); - await page.goto(url, {'waitUntil':'load'}); -}); - -When('types {string} on {string}', async function (value, selector) { - // await type(page, elem, value); - selector = idMapper[selector] ?? selector; - await puppeteer.Locator.race([ - page.locator(selector), - ]) - .setTimeout(defaultTimeout) - .click({count: 2}); - await puppeteer.Locator.race([ - page.locator(selector), - ]) - .setTimeout(defaultTimeout) - .fill(value); -}); -When('clicks on {string}', async function (elem) { - await click(page, elem); - await delay(500); -}); - -When(/^fills the form$/, async function (dataTable) { - for (const key of dataTable.raw()[0]) { - console.log(`typing on ${key} the value`) - await type(page, key, dataTable.hashes()[0][key]); - } -}); -When('selects for {string} the value {string}', async function (selector, valueSelector) { - await click(page, selector); - await click(page, valueSelector); - await delay(500); -}); - -When('types {string} in {string} and selects the value {string}', async function (text, selector, valueSelector) { - await click(page, selector); - await type(page, selector, text) - await delay(1000); - - valueSelector = idMapper[valueSelector] ?? selector; - console.log(`searching for ${valueSelector}`); - await puppeteer.Locator.race([ - page.locator(valueSelector), - ]) - .setTimeout(defaultTimeout) - .click(); - await delay(1000); -}); - -Then('element {string} has {string} as value', async function (elem, expectedValue) { - await check(page, elem, expectedValue); -}); -Then('element {string} exists', async function (elem) { - await exist(page, elem); -}); -Then('text {string} exists in the page', async function (text) { - await page.waitForXPath(`//*[contains(text(), "${text}")]`); -}); -Then('{string} is disabled', async function (selector) { - selector = idMapper[selector] ?? selector; - selector += '[disabled]'; - - await page.waitForSelector(selector, {timeout: defaultTimeout}); - const element = await page.$(selector); - - assert.notEqual(element, null); -}); - - -After(async function () { - await browser.close(); -}); - - -function delay(time) { - return new Promise(function (resolve) { - setTimeout(resolve, time) - }); -} - - -/* EXTRA STEPS */ - -When(/^adds the iban$/, async function () { - const timeout = defaultTimeout; - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/IBAN' - ], - [ - 'div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[4]' - ], - [ - 'pierce/div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ] - ], targetPage, timeout); - await targetPage.waitForNetworkIdle(); - const element = await waitForSelectors([ - [ - 'aria/IBAN' - ], - [ - 'div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[4]' - ], - [ - 'pierce/div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 54, - y: 35.385406494140625, - }, - }); - } - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - } - { - const targetPage = page; - const element = await waitForSelector('[id="StationsSearchTableBox"] button.MuiButton-root', targetPage, { - timeout, - visible: true - }); - await element.click(); - } - { - const targetPage = page; - await targetPage.waitForNetworkIdle({idleTime: 3000}); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Codice IBAN' - ], - [ - '#iban' - ], - [ - 'xpath///*[@id="iban"]' - ], - [ - 'pierce/#iban' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Codice IBAN' - ], - [ - '#iban' - ], - [ - 'xpath///*[@id="iban"]' - ], - [ - 'pierce/#iban' - ] - ], targetPage, {timeout, visible: true}); - const inputType = await element.evaluate(el => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'IT12R0300203280489943937131') - } else if ([ - 'textarea', - 'text', - 'url', - 'tel', - 'search', - 'password', - 'number', - 'email' - ].includes(inputType)) { - await typeIntoElement(element, 'IT12R0300203280489943937131'); - } else { - await changeElementValue(element, 'IT12R0300203280489943937131'); - } - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Descrizione' - ], - [ - '#description' - ], - [ - 'xpath///*[@id="description"]' - ], - [ - 'pierce/#description' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Descrizione' - ], - [ - '#description' - ], - [ - 'xpath///*[@id="description"]' - ], - [ - 'pierce/#description' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 202.34375, - y: 14.822906494140625, - }, - }); - } - - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Descrizione' - ], - [ - '#description' - ], - [ - 'xpath///*[@id="description"]' - ], - [ - 'pierce/#description' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Descrizione' - ], - [ - '#description' - ], - [ - 'xpath///*[@id="description"]' - ], - [ - 'pierce/#description' - ] - ], targetPage, {timeout, visible: true}); - const inputType = await element.evaluate(el => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, 'Created by Puppeteer') - } else if ([ - 'textarea', - 'text', - 'url', - 'tel', - 'search', - 'password', - 'number', - 'email' - ].includes(inputType)) { - await typeIntoElement(element, 'Created by Puppeteer'); - } else { - await changeElementValue(element, 'Created by Puppeteer'); - } - } - - /* datePicking startDate - START */ - - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Data inizio' - ], - [ - "[data-testid='start-date-test']" - ], - [ - 'xpath///*[@data-testid="start-date-test"]' - ], - [ - "pierce/[data-testid='start-date-test']" - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Data inizio' - ], - [ - "[data-testid='start-date-test']" - ], - [ - 'xpath///*[@data-testid="start-date-test"]' - ], - [ - "pierce/[data-testid='start-date-test']" - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 8.5, - y: 18.875, - }, - }); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Data inizio' - ], - [ - "[data-testid='start-date-test']" - ], - [ - 'xpath///*[@data-testid="start-date-test"]' - ], - [ - "pierce/[data-testid='start-date-test']" - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Data inizio' - ], - [ - "[data-testid='start-date-test']" - ], - [ - 'xpath///*[@data-testid="start-date-test"]' - ], - [ - "pierce/[data-testid='start-date-test']" - ] - ], targetPage, {timeout, visible: true}); - const inputType = await element.evaluate(el => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, '10/10/2030') - } else if ([ - 'textarea', - 'text', - 'url', - 'tel', - 'search', - 'password', - 'number', - 'email' - ].includes(inputType)) { - await typeIntoElement(element, '10/10/2030'); - } else { - await changeElementValue(element, '10/10/2030'); - } - } - - - /* datePicking startDate - END */ - - /* datePicking endDate - START */ - { - const targetPage = page; - await targetPage.keyboard.down('Tab'); - } - { - const targetPage = page; - await targetPage.keyboard.up('Tab'); - } - { - const targetPage = page; - await targetPage.keyboard.down('Tab'); - } - { - const targetPage = page; - await targetPage.keyboard.up('Tab'); - } - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Data fine' - ], - [ - "[data-testid='end-date-test']" - ], - [ - 'xpath///*[@data-testid="end-date-test"]' - ], - [ - "pierce/[data-testid='end-date-test']" - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Data fine' - ], - [ - "[data-testid='end-date-test']" - ], - [ - 'xpath///*[@data-testid="end-date-test"]' - ], - [ - "pierce/[data-testid='end-date-test']" - ] - ], targetPage, {timeout, visible: true}); - const inputType = await element.evaluate(el => el.type); - if (inputType === 'select-one') { - await changeSelectElement(element, '11/10/2030') - } else if ([ - 'textarea', - 'text', - 'url', - 'tel', - 'search', - 'password', - 'number', - 'email' - ].includes(inputType)) { - await typeIntoElement(element, '11/10/2030'); - } else { - await changeElementValue(element, '11/10/2030'); - } - } - - /* datePicking endDate - END */ - - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/Conferma' - ], - [ - 'div.css-iu3ey5 > button' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div/div[5]/div[2]/button' - ], - [ - 'pierce/div.css-iu3ey5 > button' - ], - [ - 'text/Conferma' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Conferma' - ], - [ - 'div.css-iu3ey5 > button' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div/div[5]/div[2]/button' - ], - [ - 'pierce/div.css-iu3ey5 > button' - ], - [ - 'text/Conferma' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 44.875, - y: 21.583328247070312, - }, - }); - } - - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - await scrollIntoViewIfNeeded([ - [ - 'div[data-id="IT12R0300203280489943937131"]' - ], - [ - 'text/IT12R0300203280489943937131' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'div[data-id="IT12R0300203280489943937131"]' - ], - [ - 'text/IT12R0300203280489943937131' - ] - ], targetPage, {timeout, visible: true}); - } - - -}); -When(/^deletes the iban$/, async function () { - const timeout = defaultTimeout; - - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'aria/IBAN' - ], - [ - 'div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[4]' - ], - [ - 'pierce/div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ] - ], targetPage, timeout); - await targetPage.waitForNetworkIdle(); - const element = await waitForSelectors([ - [ - 'aria/IBAN' - ], - [ - 'div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ], - [ - 'xpath///*[@id="root"]/div[2]/div[2]/div/div[1]/div/div/div/ul/div[4]' - ], - [ - 'pierce/div.MuiGrid-grid-xs-2 div:nth-of-type(4)' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 54, - y: 35.385406494140625, - }, - }); - } - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - } - - - { - const targetPage = page; - await scrollIntoViewIfNeeded([ - [ - 'button[data-testid="open-IT12R0300203280489943937131"]' - ] - - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'button[data-testid="open-IT12R0300203280489943937131"]' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 10.953125, - y: 13.8125, - }, - }); - } - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - } - { - const targetPage = page; - await page.evaluate(() => { - window.scroll(0, 0); - }); - await scrollIntoViewIfNeeded([ - [ - 'aria/Elimina' - ], - [ - "[data-testid='delete-button-test']" - ], - [ - 'xpath///*[@data-testid="delete-button-test"]' - ], - [ - "pierce/[data-testid='delete-button-test']" - ], - [ - 'text/Elimina' - ] - ], targetPage, timeout); - const element = await waitForSelectors([ - [ - 'aria/Elimina' - ], - [ - "[data-testid='delete-button-test']" - ], - [ - 'xpath///*[@data-testid="delete-button-test"]' - ], - [ - "pierce/[data-testid='delete-button-test']" - ], - [ - 'text/Elimina' - ] - ], targetPage, {timeout, visible: true}); - await element.click({ - offset: { - x: 49.4375, - y: 24, - }, - }); - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - } - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('::-p-aria(Elimina IBAN[role=\\"button\\"])'), - targetPage.locator("[data-testid='confirm-button-test']"), - targetPage.locator('::-p-xpath(//*[@data-testid=\\"confirm-button-test\\"])'), - targetPage.locator(":scope >>> [data-testid='confirm-button-test']") - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 65, - y: 34.703125, - }, - }); - } - - } - { - const targetPage = page; - await targetPage.waitForNetworkIdle(); - } - -}); - - -module.exports = {delay} diff --git a/integration-test/features/step_definitions/user_event.js b/integration-test/features/step_definitions/user_event.js deleted file mode 100644 index 6c2a15144..000000000 --- a/integration-test/features/step_definitions/user_event.js +++ /dev/null @@ -1,111 +0,0 @@ -const assert = require("assert"); -const defaultTimeout = 30000; - -const idMapper = require('./alias.json'); -const {delay} = require("../../commons"); - -async function typeXPath(page, selector, value) { - selector = idMapper[selector] ?? selector; - - // wait for element defined by XPath appear in page - await page.waitForXPath(selector, {timeout: defaultTimeout}); - // evaluate XPath expression of the target selector (it return array of ElementHandle) - let elements = await page.$x(selector); - - await elements[0].type(value); -} - -async function checkXPath(page, selector, expectedValue) { - selector = idMapper[selector] ?? selector; - - // wait for element defined by XPath appear in page - await page.waitForXPath(selector, {timeout: defaultTimeout}); - // evaluate XPath expression of the target selector (it return array of ElementHandle) - let elements = await page.$x(selector); - - const currentVal = await page.evaluate(e => e.innerText, elements[0]); - assert.strictEqual(expectedValue, currentVal); -} - -async function clickXPath(page, selector) { - selector = idMapper[selector] ?? selector; - console.log(`searching for ${selector}`); - - // wait for element defined by XPath appear in page - await page.waitForXPath(selector, {timeout: defaultTimeout}); - // evaluate XPath expression of the target selector (it return array of ElementHandle) - let elements = await page.$x(selector); - - const selectorSpinner = 'span[role="loadingSpinner"]'; - - await page.waitForFunction((selectorSpinner) => { - let isLoading = false; - const node = document.querySelectorAll(selectorSpinner); - if (node.length !== 0) { - isLoading = true; - } - return !isLoading; - }, - {}, // empty options object - selectorSpinner - ); - await elements[0].click() -} - - -async function type(page, selector, value) { - selector = idMapper[selector] ?? selector; - - await page.waitForSelector(selector, {timeout: defaultTimeout}); - let element = await page.$(selector); - - await element.type(value); -} - -async function check(page, selector, expectedValue) { - selector = idMapper[selector] ?? selector; - - await page.waitForSelector(selector, {timeout: defaultTimeout}); - let element = await page.$(selector); - - const currentVal = await page.evaluate(e => e.innerText, element); - assert.strictEqual(expectedValue, currentVal); -} - -async function exist(page, selector) { - selector = idMapper[selector] ?? selector; - - await page.waitForSelector(selector, {timeout: defaultTimeout}); - const element = await page.$(selector); - - assert.notEqual(element, null); -} - -async function click(page, selector) { - selector = idMapper[selector] ?? selector; - selector += ':not([disabled])' - - console.log(`searching for ${selector}`); - - await page.waitForSelector(selector, {timeout: defaultTimeout}); - let element = await page.$(selector); - - const selectorSpinner = 'span[role="loadingSpinner"]'; - await page.waitForFunction((selectorSpinner) => { - let isLoading = false; - const node = document.querySelectorAll(selectorSpinner); - console.log(node); - console.log(node.length !== 0); - if (node.length !== 0) { - isLoading = true; - } - return !isLoading; - }, - {}, // empty options object - selectorSpinner - ); - await element.click() -} - - -module.exports = {type, click, check, exist, typeXPath, clickXPath, checkXPath}; diff --git a/integration-test/package.json b/integration-test/package.json index 222766caf..fd7fe62c0 100644 --- a/integration-test/package.json +++ b/integration-test/package.json @@ -1,13 +1,18 @@ { + "name": "e2e", + "version": "1.0.0", + "license": "MIT", "scripts": { - "cucumber": "npx cucumber-js --publish" - }, - "dependencies": { - "jsonwebtoken": "^9.0.2", - "npx": "^10.2.2", - "puppeteer": "^21.6.1" + "dep": "npx playwright install --with-deps", + "test": "npx playwright test --workers=1 --max-failures=1 --project=chromium --headed" }, "devDependencies": { - "@cucumber/cucumber": "^10.3.1" + "@playwright/test": "^1.44.1", + "@types/jsonwebtoken": "^9.0.6", + "@types/node": "^20.14.2", + "date-fns": "^2.30.0" + }, + "dependencies": { + "jsonwebtoken": "^9.0.2" } } diff --git a/e2e/playwright.config.ts b/integration-test/playwright.config.ts similarity index 100% rename from e2e/playwright.config.ts rename to integration-test/playwright.config.ts diff --git a/integration-test/run_integration.sh b/integration-test/run_integration.sh deleted file mode 100755 index 983741a68..000000000 --- a/integration-test/run_integration.sh +++ /dev/null @@ -1,10 +0,0 @@ -rm -rf ./user-data/ -node ./00_login.js -node ./01_iban_add.js -node ./01_iban_delete.js -#node ./02_create_station.js -node ./03_export_ibans.js -#node ./04_associate_station.js -node ./05_operationTable_addEdit.js -node ./06_associate_channel.js - diff --git a/integration-test/switch_to.js b/integration-test/switch_to.js deleted file mode 100644 index 188aef681..000000000 --- a/integration-test/switch_to.js +++ /dev/null @@ -1,107 +0,0 @@ -const {waitForElement, delay} = require("./commons"); -const puppeteer = require("puppeteer"); - -const switchTo = async (page, timeout, actor) => { - let i = 0; - await delay(2000); - console.log(`switchTo ${i++}`); - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.css-1ye32zt h6', - 'xpath///*[@id="root"]/div[2]/div[1]/nav/div/div/div/div[2]/div/div/div/div[2]/h6', - 'pierce/div.css-1ye32zt h6', - ] - }, targetPage, timeout); - } - console.log(`switchTo ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('div.css-1ye32zt h6'), - targetPage.locator('::-p-xpath(//*[@id=\\"root\\"]/div[2]/div[1]/nav/div/div/div/div[2]/div/div/div/div[2]/h6)'), - targetPage.locator(':scope >>> div.css-1ye32zt h6'), - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 55.1953125, - y: 9.046875, - }, - }); - } - console.log(`switchTo ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('#mui-2'), - targetPage.locator('::-p-xpath(//*[@id=\\"mui-2\\"])'), - targetPage.locator(':scope >>> #mui-2'), - targetPage.locator('::-p-aria(Cerca ente)') - ]) - .setTimeout(timeout) - .click({ - offset: { - x: 109.171875, - y: 23, - }, - }); - } - console.log(`switchTo ${i++}`); - { - const targetPage = page; - await puppeteer.Locator.race([ - targetPage.locator('#mui-2'), - targetPage.locator('::-p-xpath(//*[@id=\\"mui-2\\"])'), - targetPage.locator(':scope >>> #mui-2'), - targetPage.locator('::-p-aria(Cerca ente)') - ]) - .setTimeout(timeout) - .fill(actor); - } - console.log(`switchTo ${i++}`); - { - const targetPage = page; - await waitForElement({ - type: 'waitForElement', - target: 'main', - selectors: [ - 'div.MuiModal-root h6', - 'xpath//html/body/div[2]/div[3]/div[3]/div/div[2]/h6', - 'pierce/div.MuiModal-root h6', - `aria/${actor}` - ] - }, targetPage, timeout); - } - console.log(`switchTo ${i++}`); - { - const targetPage = page; - const promises = []; - const startWaitingForEvents = () => { - promises.push(targetPage.waitForNavigation()); - } - await puppeteer.Locator.race([ - targetPage.locator('div.MuiModal-root h6'), - targetPage.locator('::-p-xpath(/html/body/div[2]/div[3]/div[3]/div/div[2]/h6)'), - targetPage.locator(':scope >>> div.MuiModal-root h6'), - targetPage.locator(`::-p-aria(${actor})`) - ]) - .setTimeout(timeout) - .on('action', () => startWaitingForEvents()) - .click({ - offset: { - x: 109.59375, - y: 19.171875, - }, - }); - await Promise.all(promises); - } - console.log(`switched to ${actor}`); -}; - -module.exports = { - switchTo -} diff --git a/integration-test/tests/channel.spec.ts b/integration-test/tests/channel.spec.ts new file mode 100644 index 000000000..689e0f681 --- /dev/null +++ b/integration-test/tests/channel.spec.ts @@ -0,0 +1,135 @@ +import { Page, test } from '@playwright/test'; +import { changeToPspUser, checkReturnHomepage } from './utils/e2eUtils'; + +const endpoint = 'https://test.it:80/'; + +test.setTimeout(100000); +test.describe('Channel flow', () => { + // eslint-disable-next-line functional/no-let + let page: Page; + const channelId: string = "99999000011_20"; + + test.beforeAll(async ({ browser }) => { + page = await browser.newPage({ storageState: undefined }); + }); + + test.afterAll(async () => { + // TODO delete channel + await page.close(); + }); + + // test('PSP creates channel', async () => { + // await changeToPspUser(page); + // await page.getByTestId('channels-test').click(); + // await page.getByTestId('create-channel').click(); + // await page.waitForTimeout(2000); + // channelId = await page.getByTestId('channel-code-test').inputValue(); + // await page.getByTestId('target-union-test').click(); + // await page.getByTestId('target-union-test').fill(endpoint); + // await page.getByRole('option', { name: 'Bancomat Pay - BPAY' }).click(); + // await page.getByRole('button', { name: 'Conferma' }).click(); + // await page.getByTestId('confirm-button-modal-test').click(); + // await checkReturnHomepage(page); + // }); + test('PSP modifies already existing channel', async () => { + await changeToPspUser(page); + await page.getByTestId('channels-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci canale' }).click(); + await page.getByRole('link', { name: 'Modifica' }).click(); + await page.getByTestId('target-union-test').click(); + await page.getByTestId('target-union-test').press('ArrowRight'); + await page.getByTestId('target-union-test').fill('https://test.it:81/modify'); + await page.getByRole('button', { name: 'Conferma' }).click(); + await page.getByTestId('confirm-button-modal-test').click(); + await checkReturnHomepage(page); + }); + + test('Pagopa Operator request edit', async () => { + await changeToPspUser(page, true); + await page.getByTestId('channels-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci canale' }).click(); + await page.getByTestId('request-edit-button').click(); + await page.getByTestId('requestInput').click(); + await page.getByTestId('requestInput').fill('Edit'); + await page.getByTestId('confirm-and-send-button').click(); + await page.waitForTimeout(1000); + await page.getByTestId('back-button-test').click(); + await checkReturnHomepage(page); + }); + + test('PSP modify channel', async () => { + await changeToPspUser(page); + await page.getByTestId('channels-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci canale' }).click(); + await page.getByRole('link', { name: 'Modifica' }).click(); + await page.getByTestId('target-union-test').click(); + await page.getByTestId('target-union-test').press('ArrowRight'); + await page.getByTestId('target-union-test').fill('https://test.it:81/'); + await page.getByRole('button', { name: 'Conferma' }).click(); + await page.getByTestId('confirm-button-modal-test').click(); + await checkReturnHomepage(page); + }); + + test('Pagopa Operator approves channel', async () => { + await changeToPspUser(page, true); + await page.getByTestId('channels-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci canale' }).click(); + await page.getByRole('link', { name: 'Approva e valida' }).click(); + await page.getByTestId('password-test').fill('password'); + await page.getByRole('button', { name: 'Conferma' }).click(); + await page.getByTestId('confirm-button-modal-test').click(); + await page.waitForTimeout(1000); + await page.getByTestId('back-button-test').click(); + await checkReturnHomepage(page); + }); + + test('PSP associate another PSP to Channel', async () => { + await changeToPspUser(page); + await page.getByTestId('channels-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci PSP' }).click(); + await page.getByRole('link', { name: 'Associa PSP' }).first().click(); + await page.waitForTimeout(1000); + await page.getByTestId('psp-selection-search').click(); + await page.keyboard.insertText("PSP DEMO"); + await page.getByTestId('PartyItemContainer: PSP DEMO DIRECT').getByRole('button', { name: 'PSP DEMO DIRECT' }).click(); + await page.getByTestId('confirm-btn-test').click(); + await checkReturnHomepage(page); + }); + + test('PSP dissociate another PSP from Channel', async () => { + await changeToPspUser(page); + await page.getByTestId('channels-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(channelId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci PSP' }).click(); + await page.waitForTimeout(1000); + await page.getByTestId('dissociate-99999000011').click(); + await page.getByRole('button', { name: 'Dissocia PSP' }).click(); + await checkReturnHomepage(page); + }); +}); diff --git a/e2e/tests/delegations.spec.ts b/integration-test/tests/delegations.spec.ts similarity index 100% rename from e2e/tests/delegations.spec.ts rename to integration-test/tests/delegations.spec.ts diff --git a/e2e/tests/globalBundles.spec.ts b/integration-test/tests/globalBundles.spec.ts similarity index 100% rename from e2e/tests/globalBundles.spec.ts rename to integration-test/tests/globalBundles.spec.ts diff --git a/integration-test/tests/iban.spec.ts b/integration-test/tests/iban.spec.ts new file mode 100644 index 000000000..a7448a74b --- /dev/null +++ b/integration-test/tests/iban.spec.ts @@ -0,0 +1,53 @@ +import { Page, test } from '@playwright/test'; +import { changeToEcUser, checkReturnHomepage } from './utils/e2eUtils'; + +test.setTimeout(100000); +test.describe('IBAN flow', () => { + // eslint-disable-next-line functional/no-let + let page: Page; + const IBAN: string = 'IT49S0300203280447684177591'; + + test.beforeAll(async ({ browser }) => { + page = await browser.newPage({ storageState: undefined }); + }); + + test.afterAll(async () => { + await page.close(); + }); + + test('EC creates IBAN', async () => { + await changeToEcUser(page); + await page.getByTestId('iban-test').click(); + await page.getByRole('button', { name: 'Aggiungi IBAN' }).click(); + await page.getByTestId('iban-test').click(); + await page.getByTestId('iban-test').fill(IBAN); + await page.getByTestId('description-test').click(); + await page.getByTestId('description-test').fill('desc'); + await page.getByTestId('submit-button-test').click(); + await checkReturnHomepage(page); + }); + + test('EC edits IBAN', async () => { + await changeToEcUser(page); + await page.getByTestId('iban-test').click(); + await page.getByPlaceholder('Cerca per Codice IBAN').click(); + await page.getByPlaceholder('Cerca per Codice IBAN').fill(IBAN); + await page.getByTestId(`open-${IBAN}`).click(); + await page.getByTestId('button Edit').click(); + await page.getByTestId('description-test').click(); + await page.getByTestId('description-test').fill('desc2'); + await page.getByTestId('submit-button-test').click(); + await checkReturnHomepage(page); + }); + + test('EC deletes IBAN', async () => { + await changeToEcUser(page); + await page.getByTestId('iban-test').click(); + await page.getByPlaceholder('Cerca per Codice IBAN').click(); + await page.getByPlaceholder('Cerca per Codice IBAN').fill(IBAN); + await page.getByTestId(`open-${IBAN}`).click(); + await page.getByTestId('delete-button-test').click(); + await page.getByTestId('confirm-button-test').click(); + await checkReturnHomepage(page); + }); +}); diff --git a/e2e/tests/privateBundles.spec.ts b/integration-test/tests/privateBundles.spec.ts similarity index 100% rename from e2e/tests/privateBundles.spec.ts rename to integration-test/tests/privateBundles.spec.ts diff --git a/e2e/tests/publicBundles.spec.ts b/integration-test/tests/publicBundles.spec.ts similarity index 100% rename from e2e/tests/publicBundles.spec.ts rename to integration-test/tests/publicBundles.spec.ts diff --git a/integration-test/tests/stations.spec.ts b/integration-test/tests/stations.spec.ts new file mode 100644 index 000000000..4f06bb4f8 --- /dev/null +++ b/integration-test/tests/stations.spec.ts @@ -0,0 +1,144 @@ +import { Page, test } from '@playwright/test'; +import { changeToEcUser, checkReturnHomepage } from './utils/e2eUtils'; + +test.setTimeout(100000); +test.describe('Station flow', () => { + // eslint-disable-next-line functional/no-let + let page: Page; + const stationId: string = "99999000013_20"; + + test.beforeAll(async ({ browser }) => { + page = await browser.newPage({ storageState: undefined }); + }); + + test.afterAll(async () => { + // TODO delete station + await page.close(); + }); + + // test('EC creates async station', async () => { + // await changeToEcUser(page); + // await page.getByTestId('stations-test').click(); + // await page.getByTestId('create-station').click(); + // await page.waitForTimeout(2000); + // stationId = await page.getByTestId('station-code-test').inputValue(); + // await page.getByTestId('confirm-button-test').click(); + // await page.getByTestId('confirm-button-modal-test').click(); + // await checkReturnHomepage(page); + // }); + test('EC modify already existing station from sync to async', async () => { + await changeToEcUser(page); + await page.getByTestId('stations-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci stazione' }).click(); + await page.getByTestId('edit-button').click(); + await page.getByLabel('AsincronaGestito da PagoPA').check(); + await page.getByTestId('confirm-button-test').click(); + await page.getByTestId('confirm-button-modal-test').click(); + await checkReturnHomepage(page); + }); + + test('Pagopa Operator request edit', async () => { + await changeToEcUser(page, true); + await page.getByTestId('stations-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci stazione' }).click(); + await page.getByTestId('request-edit-button').click(); + await page.getByTestId('requestInput').click(); + await page.getByTestId('requestInput').fill('Edit'); + await page.getByTestId('confirm-and-send-button').click(); + await page.waitForTimeout(1000); + await page.getByTestId('back-btn-test').click(); + await checkReturnHomepage(page); + }); + + test('EC modify station from async to sync', async () => { + await changeToEcUser(page); + await page.getByTestId('stations-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci stazione' }).click(); + await page.getByTestId('edit-button').click(); + await page.getByLabel('SincronaGestito da EC/PT').check(); + await page.getByTestId('targetConcat-test').click(); + await page.getByTestId('targetConcat-test').click(); + await page.getByTestId('targetConcat-test').fill('test'); + await page.getByTestId('redirectConcat-test').click(); + await page.getByTestId('targetConcat-test').click(); + await page.getByTestId('targetConcat-test').fill('https://test.it'); + await page.getByTestId('redirectConcat-test').click(); + await page.getByTestId('redirectConcat-test').fill('https://test.it'); + await page.getByTestId('targetPofConcat-test').click(); + await page.getByTestId('targetPofConcat-test').click(); + await page.getByTestId('targetPofConcat-test').fill('https://test.it'); + await page.getByTestId('restEndpoint-test').click(); + await page.getByTestId('restEndpoint-test').fill('https://restendpoint.it'); + await page.locator('#odpService').check(); + await page.getByTestId('confirm-button-test').click(); + await page.getByTestId('confirm-button-modal-test').click(); + await checkReturnHomepage(page); + }); + + test('Pagopa Operator approves station', async () => { + await changeToEcUser(page, true); + await page.getByTestId('stations-test').click(); + await page.getByTestId('tab-toBeValidated').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci stazione' }).click(); + await page.getByTestId('edit-button').click(); + await page.getByTestId('password-test').fill('password'); + await page.getByTestId('radio-button-newConn').getByLabel('Nuova connettività').click(); + await page.getByLabel('Seleziona').click(); + await page.getByRole('option', { name: 'FORWARDER01 - https://api.dev' }).click(); + await page.getByTestId('confirm-button-test').click(); + await page.getByTestId('confirm-button-modal-test').click(); + await page.waitForTimeout(1000); + await page.getByTestId('back-btn-test').click(); + await checkReturnHomepage(page); + }); + + test('EC associate another EC to Station', async () => { + await changeToEcUser(page); + await page.getByTestId('stations-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci EC' }).click(); + await page.getByRole('link', { name: 'Associa EC' }).first().click(); + await page.getByLabel('Cerca EC').click(); + await page.getByRole('option', { name: 'EC Signed Direct' }).click(); + await page.getByRole('combobox', { name: '​', exact: true }).click(); + await page.getByRole('option', { name: '01' }).click(); + await page.getByTestId('confirm-btn-test').click(); + await checkReturnHomepage(page); + }); + + test('EC dissociate another EC from station', async () => { + await changeToEcUser(page); + await page.getByTestId('stations-test').click(); + await page.getByTestId('search-input').click(); + await page.getByTestId('search-input').fill(stationId); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByRole('link', { name: 'Gestisci EC' }).click(); + await page.waitForTimeout(1000); + await page.getByLabel('more').click(); + await page.getByTestId('dissociate-action').click(); + await page.getByTestId('confirm-button-modal-test').click(); + await checkReturnHomepage(page); + }); +}); diff --git a/e2e/tests/utils/bundleUtils.ts b/integration-test/tests/utils/bundleUtils.ts similarity index 100% rename from e2e/tests/utils/bundleUtils.ts rename to integration-test/tests/utils/bundleUtils.ts diff --git a/e2e/tests/utils/createJwt.ts b/integration-test/tests/utils/createJwt.ts similarity index 83% rename from e2e/tests/utils/createJwt.ts rename to integration-test/tests/utils/createJwt.ts index cb963dfcf..64ed5c555 100644 --- a/e2e/tests/utils/createJwt.ts +++ b/integration-test/tests/utils/createJwt.ts @@ -1,7 +1,7 @@ import fs from 'fs'; import jwt, { SignOptions } from 'jsonwebtoken'; -export function createJWT(org_id: string): string { +export function createJWT(org_id: string, isOperator?: boolean): string { // eslint-disable-next-line functional/no-let let cert: string | Buffer | undefined = process.env.KEY_PEM; if (!cert) { @@ -16,7 +16,7 @@ export function createJWT(org_id: string): string { uid: '5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8', name: 'Anselmo', family_name: 'Sartori', - email: 'furiovitale@martino.it', + email: isOperator ? 'operatorePagopa@test.it' : 'furiovitale@martino.it', org_id, org_vat: '00000000000', org_party_role: 'MANAGER', diff --git a/e2e/tests/utils/e2eUtils.ts b/integration-test/tests/utils/e2eUtils.ts similarity index 79% rename from e2e/tests/utils/e2eUtils.ts rename to integration-test/tests/utils/e2eUtils.ts index fae8c4ba5..7a7a97ba8 100644 --- a/e2e/tests/utils/e2eUtils.ts +++ b/integration-test/tests/utils/e2eUtils.ts @@ -9,9 +9,6 @@ export enum BundleTypes { } export const DEV_URL = 'https://selfcare.dev.platform.pagopa.it/ui'; -export const BASE_BE_URL = 'https://api.dev.platform.pagopa.it'; -export const BACKOFFICE_BE_URL = BASE_BE_URL + '/backoffice/v1'; -export const MARKETPLACE_BE_URL = BASE_BE_URL + '/afm/marketplace-service/v1'; export const PSP_DEMO_DIRECT = '99999000011'; export const PSP_DEMO_DIRECT_CODE = 'ABI50004'; @@ -21,16 +18,16 @@ export const ORG_ID = { PSP_DEMO_DIRECT: '5b7130fb-dbe1-4e3b-b02b-2a9cfaf54602', }; -export async function login(page: Page, org_id: string = ORG_ID.COMUNE_FROSINONE) { +export async function login(page: Page, org_id: string = ORG_ID.COMUNE_FROSINONE, isOperator?:boolean) { const feURL: string = process.env.FE_URL ?? DEV_URL; - const jwt = createJWT(org_id); // id Comune di Frosinone + const jwt = createJWT(org_id, isOperator); // id Comune di Frosinone await page.goto(feURL + '#logged=forced'); - await page.evaluate((jwt) => { + await page.evaluate(({jwt, isOperator}) => { const user = { uid: '5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8', name: 'Anselmo', surname: 'Sartori', - email: 'furiovitale@martino.it', + email: isOperator ? 'operatorePagopa@test.it' : 'furiovitale@martino.it' }; const tos = { id: '5096e4c6-25a1-45d5-9bdf-2fb974a7c1c8', @@ -39,22 +36,26 @@ export async function login(page: Page, org_id: string = ORG_ID.COMUNE_FROSINONE window.localStorage.setItem('acceptTOS', JSON.stringify(tos)); window.localStorage.setItem('user', JSON.stringify(user)); window.localStorage.setItem('token', jwt); - }, jwt); + }, {jwt, isOperator}); await page.waitForTimeout(1000); await page.goto(feURL, { waitUntil: 'load' }); } +export async function isOperator(page: Page){ + await page.getByText('Operatore PagoPA'); +} + export async function checkReturnHomepage(page: Page) { await page.waitForTimeout(2000); await page.getByTestId('commission-bundles-test').click(); } -export async function changeToEcUser(page: Page) { - await login(page, ORG_ID.EC_DEMO_DIRECT); +export async function changeToEcUser(page: Page, isOperator?: boolean) { + await login(page, ORG_ID.EC_DEMO_DIRECT, isOperator); } -export async function changeToPspUser(page: Page) { - await login(page, ORG_ID.PSP_DEMO_DIRECT); +export async function changeToPspUser(page: Page, isOperator?: boolean) { + await login(page, ORG_ID.PSP_DEMO_DIRECT, isOperator); } export function getTodayDate() { diff --git a/e2e/tsconfig.e2e.json b/integration-test/tsconfig.e2e.json similarity index 100% rename from e2e/tsconfig.e2e.json rename to integration-test/tsconfig.e2e.json diff --git a/integration-test/yarn.lock b/integration-test/yarn.lock index 9b9037a9a..e802bd014 100644 --- a/integration-test/yarn.lock +++ b/integration-test/yarn.lock @@ -2,4546 +2,168 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== +"@babel/runtime@^7.21.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.7.tgz#7ffb53c37a8f247c8c4d335e89cdf16a2e0d0fb6" + integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" + regenerator-runtime "^0.14.0" -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cucumber/ci-environment@10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-10.0.0.tgz" - integrity sha512-lRkiehckosIOdc7p1L44nZsttO5dVHFjpwKKWZ07x8SeoAdV/sPuGe1PISe0AmAowFGza62nMOgG4KaroGzwFQ== - -"@cucumber/cucumber-expressions@17.0.1": - version "17.0.1" - resolved "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-17.0.1.tgz" - integrity sha512-reR7/sNRmDWgdz8BtFuHEwpksPnAkHty7gxUC2n0iaUPmckv9G5I5i+Vonc6xwUHDb/hmHPz/DyUL+Iv4Ao96w== - dependencies: - regexp-match-indices "1.0.2" - -"@cucumber/cucumber@^10.3.1": - version "10.3.1" - resolved "https://registry.npmjs.org/@cucumber/cucumber/-/cucumber-10.3.1.tgz" - integrity sha512-0H0NkOXcYTCG1qCh3o0p1HPSMODGJmlHi1rm5yfoiMx5tJbBjxVNI2VVD2xtPWA+D6ehHQD9asewuzjMXrbPIw== - dependencies: - "@cucumber/ci-environment" "10.0.0" - "@cucumber/cucumber-expressions" "17.0.1" - "@cucumber/gherkin" "27.0.0" - "@cucumber/gherkin-streams" "5.0.1" - "@cucumber/gherkin-utils" "8.0.5" - "@cucumber/html-formatter" "21.2.0" - "@cucumber/message-streams" "4.0.1" - "@cucumber/messages" "24.0.1" - "@cucumber/tag-expressions" "6.1.0" - assertion-error-formatter "^3.0.0" - capital-case "^1.0.4" - chalk "^4.1.2" - cli-table3 "0.6.3" - commander "^10.0.0" - debug "^4.3.4" - error-stack-parser "^2.1.4" - figures "^3.2.0" - glob "^10.3.10" - has-ansi "^4.0.1" - indent-string "^4.0.0" - is-installed-globally "^0.4.0" - is-stream "^2.0.0" - knuth-shuffle-seeded "^1.0.6" - lodash.merge "^4.6.2" - lodash.mergewith "^4.6.2" - luxon "3.2.1" - mkdirp "^2.1.5" - mz "^2.7.0" - progress "^2.0.3" - read-pkg-up "^7.0.1" - resolve-pkg "^2.0.0" - semver "7.5.3" - string-argv "0.3.1" - strip-ansi "6.0.1" - supports-color "^8.1.1" - tmp "^0.2.1" - type-fest "^4.8.3" - util-arity "^1.1.0" - xmlbuilder "^15.1.1" - yaml "^2.2.2" - yup "1.2.0" - -"@cucumber/gherkin-streams@5.0.1": - version "5.0.1" - resolved "https://registry.npmjs.org/@cucumber/gherkin-streams/-/gherkin-streams-5.0.1.tgz" - integrity sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q== - dependencies: - commander "9.1.0" - source-map-support "0.5.21" - -"@cucumber/gherkin-utils@8.0.5": - version "8.0.5" - resolved "https://registry.npmjs.org/@cucumber/gherkin-utils/-/gherkin-utils-8.0.5.tgz" - integrity sha512-kxM1OCDjYddF26VKc892PF0GokW4wUIl1PUz3TIXsPZgS39ExM1pF8oww8mlGFD2B0+4op/cSE3SSIME5H3aNw== - dependencies: - "@cucumber/gherkin" "^26.0.0" - "@cucumber/messages" "^22.0.0" - "@teppeis/multimaps" "3.0.0" - commander "10.0.1" - source-map-support "^0.5.21" - -"@cucumber/gherkin@27.0.0": - version "27.0.0" - resolved "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-27.0.0.tgz" - integrity sha512-j5rCsjqzRiC3iVTier3sa0kzyNbkcAmF7xr7jKnyO7qDeK3Z8Ye1P3KSVpeQRMY+KCDJ3WbTDdyxH0FwfA/fIw== - dependencies: - "@cucumber/messages" ">=19.1.4 <=22" - -"@cucumber/gherkin@^26.0.0": - version "26.2.0" - resolved "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-26.2.0.tgz" - integrity sha512-iRSiK8YAIHAmLrn/mUfpAx7OXZ7LyNlh1zT89RoziSVCbqSVDxJS6ckEzW8loxs+EEXl0dKPQOXiDmbHV+C/fA== - dependencies: - "@cucumber/messages" ">=19.1.4 <=22" - -"@cucumber/html-formatter@21.2.0": - version "21.2.0" - resolved "https://registry.npmjs.org/@cucumber/html-formatter/-/html-formatter-21.2.0.tgz" - integrity sha512-4OcSa12Y0v5e4ySDl67+QFTxCG/Y9fxGSkFqvm98ggpTvS7b75whwzupu+lM2lMBw+h3H6P8ZURQr0xQIAwE2A== - -"@cucumber/message-streams@4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz" - integrity sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA== - -"@cucumber/messages@24.0.1": - version "24.0.1" - resolved "https://registry.npmjs.org/@cucumber/messages/-/messages-24.0.1.tgz" - integrity sha512-dKfNkvgc6stSQIyeHk7p/221iqEZe1BP+e/Js8XKtSmc0sS8khKMvbSBwYVeonn/67/vYKiAyo6Eo0SzXd5Plw== - dependencies: - "@types/uuid" "9.0.7" - class-transformer "0.5.1" - reflect-metadata "0.2.1" - uuid "9.0.1" - -"@cucumber/messages@>=19.1.4 <=22", "@cucumber/messages@^22.0.0": - version "22.0.0" - resolved "https://registry.npmjs.org/@cucumber/messages/-/messages-22.0.0.tgz" - integrity sha512-EuaUtYte9ilkxcKmfqGF9pJsHRUU0jwie5ukuZ/1NPTuHS1LxHPsGEODK17RPRbZHOFhqybNzG2rHAwThxEymg== - dependencies: - "@types/uuid" "9.0.1" - class-transformer "0.5.1" - reflect-metadata "0.1.13" - uuid "9.0.0" - -"@cucumber/tag-expressions@6.1.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-6.1.0.tgz" - integrity sha512-+3DwRumrCJG27AtzCIL37A/X+A/gSfxOPLg8pZaruh5SLumsTmpvilwroVWBT2fPzmno/tGXypeK5a7NHU4RzA== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@puppeteer/browsers@1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz" - integrity sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA== - dependencies: - debug "4.3.4" - extract-zip "2.0.1" - progress "2.0.3" - proxy-agent "6.3.1" - tar-fs "3.0.4" - unbzip2-stream "1.4.3" - yargs "17.7.2" - -"@teppeis/multimaps@3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-3.0.0.tgz" - integrity sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q== - -"@tootallnate/quickjs-emscripten@^0.23.0": - version "0.23.0" - resolved "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz" - integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== - -"@types/node@*": - version "20.11.30" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz" - integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== +"@playwright/test@^1.44.1": + version "1.48.1" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.48.1.tgz#343e710fcf2e559529e3ec8d7782e09f325b9396" + integrity sha512-s9RtWoxkOLmRJdw3oFvhFbs9OJS0BzrLUc8Hf6l2UdCNd1rqeEyD4BhCJkvzeEoD1FsK4mirsWwGerhVmYKtZg== dependencies: - undici-types "~5.26.4" - -"@types/normalize-package-data@^2.4.0": - version "2.4.4" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" - integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + playwright "1.48.1" -"@types/uuid@9.0.1": - version "9.0.1" - resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz" - integrity sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA== - -"@types/uuid@9.0.7": +"@types/jsonwebtoken@^9.0.6": version "9.0.7" - resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz" - integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.7.tgz#e49b96c2b29356ed462e9708fc73b833014727d2" + integrity sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg== dependencies: "@types/node" "*" -JSONStream@~1.3.1: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@1, abbrev@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -agent-base@4, agent-base@^4.1.0, agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - -agent-base@^7.0.2, agent-base@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" - -agentkeepalive@^3.3.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" - integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== - dependencies: - humanize-ms "^1.2.1" - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - integrity sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ== - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA== - dependencies: - string-width "^2.0.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^3.0.0, ansi-regex@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== - -ansistyles@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" - integrity sha512-6QWEyvMgIXX0eO972y7YPBLSBsq7UWKFAoNNTLGaOJ9bstcEL9sCbcjf96dVfNDdUsRoGOK82vWFJlKApXds7g== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -aproba@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" - integrity sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw== - -archy@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - integrity sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw== - -assertion-error-formatter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz" - integrity sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ== - dependencies: - diff "^4.0.1" - pad-right "^0.2.2" - repeat-string "^1.6.1" - -ast-types@^0.13.4: - version "0.13.4" - resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz" - integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== - dependencies: - tslib "^2.0.1" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - integrity sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.2.1, aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -b4a@^1.6.4: - version "1.6.6" - resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz" - integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bare-events@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz" - integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -basic-ftp@^5.0.2: - version "5.0.5" - resolved "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz" - integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bl@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ== - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.0, bluebird@^3.5.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bluebird@~3.5.0: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - integrity sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q== - dependencies: - hoek "2.x.x" - -boxen@^1.0.0, boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== +"@types/node@*": + version "22.7.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.8.tgz#a1dbf0dc5f71bdd2642fc89caef65d58747ce825" + integrity sha512-a922jJy31vqR5sk+kAdIENJjHblqcZ4RmERviFsER4WJcEONqxKcjNOlk0q7OUfrF5sddT+vng070cdfMlrPLg== dependencies: - balanced-match "^1.0.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + undici-types "~6.19.2" -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== +"@types/node@^20.14.2": + version "20.16.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.14.tgz#67eeca19cd821f516ee7da2f2e72d319f47e6a4d" + integrity sha512-vtgGzjxLF7QT88qRHtXMzCWpAAmwonE7fwgVjFtXosUva2oSpnIEc3gNO9P7uIfOxKnii2f79/xtOnfreYtDaA== dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + undici-types "~6.19.2" buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.2.1: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== +date-fns@^2.30.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ== + "@babel/runtime" "^7.21.0" -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== - -cacache@^10.0.0: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^5.2.4" - unique-filename "^1.1.0" - y18n "^4.0.0" + safe-buffer "^5.0.1" -cacache@^9.2.9: - version "9.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.3.0.tgz#9cd58f2dd0b8c8cacf685b7067b416d6d3cf9db1" - integrity sha512-Vbi8J1XfC8v+FbQ6QkOtKXsHpPnB0i9uMeYFJoj40EbdOsEqWB3DPpNjfsnYBkqOPYA8UvrqH6FZPpBP0zdN7g== - dependencies: - bluebird "^3.5.0" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^1.3.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^4.1.6" - unique-filename "^1.1.0" - y18n "^3.2.1" +fsevents@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -cacache@~9.2.9: - version "9.2.9" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.2.9.tgz#f9d7ffe039851ec94c28290662afa4dd4bb9e8dd" - integrity sha512-ghg1j5OyTJ6qsrqU++dN23QiTDxb5AZCFGsF3oB+v9v/gY+F4X8L/0gdQMEjd+8Ot3D29M2etX5PKozHRn2JQw== +jsonwebtoken@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: - bluebird "^3.5.0" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^1.3.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^4.1.6" - unique-filename "^1.1.0" - y18n "^3.2.1" + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" -call-bind@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -call-limit@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.1.tgz#ef15f2670db3f1992557e2d965abc459e6e358d4" - integrity sha512-5twvci5b9eRBw2wCfPtN0GmlR2/gadZqyFpPhOK6CvMFoFgA+USnZ6Jpu1lhG9h85pQ3Ouil3PfXWRD4EUaRiQ== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^4.0.0, camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" -capital-case@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz" - integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -capture-stack-trace@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz#1c43f6b059d4249e7f3f8724f15f048b927d3a8a" - integrity sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + jwa "^1.4.1" + safe-buffer "^5.0.1" -chalk@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== -chalk@^2.0.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== -chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== -chownr@^1.0.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== -chownr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - integrity sha512-cKnqUJAC8G6cuN1DiRRTifu+s1BlAQNtalzGphFEV0pl0p46dsxJD4l1AOlyKJeLZOFzo3c34R7F3djxaCu8Kw== +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== -chromium-bidi@0.5.8: - version "0.5.8" - resolved "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.8.tgz" - integrity sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw== - dependencies: - mitt "3.0.1" - urlpattern-polyfill "10.0.0" +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== -class-transformer@0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz" - integrity sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg== +playwright-core@1.48.1: + version "1.48.1" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.48.1.tgz#5fe28fb9a9326dae88d4608c35e819163cceeb23" + integrity sha512-Yw/t4VAFX/bBr1OzwCuOMZkY1Cnb4z/doAFSwf4huqAGWmf9eMNjmK7NiOljCdLmxeRYcGPPmcDgU0zOlzP0YA== -cli-table3@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== +playwright@1.48.1: + version "1.48.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.48.1.tgz#2a920cfbec4572c84789e757d8b044baaed49435" + integrity sha512-j8CiHW/V6HxmbntOfyB4+T/uk08tBy6ph0MpBXwuoofkSnLmlfdYNNkFTYD6ofzzlSqLA1fwH4vwvVFvJgLN0w== dependencies: - string-width "^4.2.0" + playwright-core "1.48.1" optionalDependencies: - "@colors/colors" "1.5.0" - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + fsevents "2.3.2" -cmd-shim@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" - integrity sha512-NLt0ntM0kvuSNrToO0RTFiNRHdioWsLW+OgDAEVDvIivsYwR+AjlzvLaMJ2Z+SNRpV3vdsDrHp1WI00eetDYzw== - dependencies: - graceful-fs "^4.1.2" - mkdirp "~0.5.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -columnify@~1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - integrity sha512-rFl+iXVT1nhLQPfGDw+3WcS8rmm7XsLKUmhsGE3ihzzpIikeGrTaZPIRKYWeLsLBypsHzjXIvYEltVUZS84XxQ== - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - -combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@~1.0.5, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@10.0.1, commander@^10.0.0: - version "10.0.1" - resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz" - integrity sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.5.0, concat-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -config-chain@~1.1.11: - version "1.1.13" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" - integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^3.0.0: - version "3.1.5" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.5.tgz#e9af331fadc14dabd544d3e7e76dc446a09a530f" - integrity sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA== - dependencies: - dot-prop "^4.2.1" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" - integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== - dependencies: - env-paths "^2.2.1" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw== - dependencies: - capture-stack-trace "^1.0.0" - -cross-fetch@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz" - integrity sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - integrity sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog== - dependencies: - boom "2.x.x" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== - -cyclist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3" - integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz" - integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== - -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== -debug@4, debug@4.3.4, debug@^4.1.1, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debuglog@*, debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== - -decamelize@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -degenerator@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz" - integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== - dependencies: - ast-types "^0.13.4" - escodegen "^2.1.0" - esprima "^4.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -detect-indent@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== - -devtools-protocol@0.0.1232444: - version "0.0.1232444" - resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz" - integrity sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg== - -dezalgo@^1.0.0, dezalgo@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dot-prop@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" - integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== - dependencies: - is-obj "^1.0.0" - -dotenv@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" - integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== - -duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -editor@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" - integrity sha512-SoRmbGStwNYHgKfjOrX2L0mUvp9bUVv0uPppZSOMAntEbcFtoC3MKF5b3T6HQPXKIV+QGY3xPO3JK5it5lVkuw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - 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== - dependencies: - once "^1.4.0" - -env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA== - -"errno@>=0.1.1 <0.2.0-0": - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escodegen@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -extend@~3.0.0, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - integrity sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -from2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz#88413baaa5f9a597cfde9221d86986cd3c061dfd" - integrity sha512-1eKYoECvhpM4IT70THQV8XNfmZoIlnROymbwOSazfmQO3kK+zCV+LSqUDzl7gDo3MZddCFeVa9Zg3Hi6FXqcgg== - dependencies: - inherits "~2.0.1" - readable-stream "~1.1.10" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-vacuum@~1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" - integrity sha512-bwbv1FcWYwxN1F08I1THN8nS4Qe/pGq0gM8dy1J34vpxxp3qgZKJPPaqex36RyZO0sD2J+2ocnbwC2d/OjYICQ== - dependencies: - graceful-fs "^4.1.2" - path-is-inside "^1.0.1" - rimraf "^2.5.2" - -fs-write-stream-atomic@^1.0.8, fs-write-stream-atomic@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fstream-ignore@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - integrity sha512-VVRuOs41VUqptEGiR0N5ZoWEcfGvbGRqLINyZAhHRnF3DH5wrqjNkYr3VbRoZnI41BZgO7zIVdiobc13TVI1ow== - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream-npm@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.2.1.tgz#08c4a452f789dcbac4c89a4563c902b2c862fd5b" - integrity sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw== - dependencies: - fstream-ignore "^1.0.0" - inherits "2" - -fstream@^1.0.0, fstream@^1.0.12, fstream@~1.0.11: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -genfun@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1" - integrity sha512-48yv1eDS5Qrz6cbSDBBik0u7jCgC/eA9eZrl9MIN1LfKzFTuGt6EHgr31YM8yT9cjb5BplXb4Iz3VtOYmgt8Jg== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-uri@^6.0.1: - version "6.0.3" - resolved "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz" - integrity sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw== - dependencies: - basic-ftp "^5.0.2" - data-uri-to-buffer "^6.0.2" - debug "^4.3.4" - fs-extra "^11.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob@^10.3.10: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@~7.1.2: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== - dependencies: - ini "^1.3.4" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha512-Y/K3EDuiQN9rTZhBvPRWMLXIKdeD1Rj0nzunfoi0Yyn5WBEbzxXKU9Ub2X41oZBagVWOBU3MuDonFMgPWQFnwg== - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graceful-fs@~4.1.11: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - integrity sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - integrity sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw== - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-ansi@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-4.0.1.tgz" - integrity sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A== - dependencies: - ansi-regex "^4.1.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-unicode@^2.0.0, has-unicode@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -hasown@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - integrity sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg== - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - integrity sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ== - -hosted-git-info@^2.1.4, hosted-git-info@^2.4.2, hosted-git-info@^2.7.1: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== - -http-cache-semantics@^3.8.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -http-proxy-agent@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - -http-proxy-agent@^7.0.0: - version "7.0.2" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - integrity sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg== - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-proxy-agent@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -https-proxy-agent@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== - dependencies: - agent-base "^7.0.2" - debug "4" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5, iferr@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - -import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - -imurmurhash@*, imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4, inflight@~1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, ini@~1.3.0, ini@~1.3.4: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -init-package-json@~1.10.1: - version "1.10.3" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" - integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw== - dependencies: - glob "^7.1.1" - npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "1 || 2" - semver "2.x || 3.x || 4 || 5" - validate-npm-package-license "^3.0.1" - validate-npm-package-name "^3.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" - -ip@^1.1.4: - version "1.1.9" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" - integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - integrity sha512-C2wz7Juo5pUZTFQVer9c+9b4qw3I5T/CHQxQyhVu7BJel6C22FmsLIWsdseYyOw6xz9Pqy9eJWSkQ7+3iN1HVw== - dependencies: - builtin-modules "^1.0.0" - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha512-ERNhMg+i/XgDwPIPF3u24qpajVreaiSuvpb1Uu0jugw7KKcxGyCX8cgp8P5fwTmAuXku6beDHHECdKArjlg7tw== - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha512-9r39FIr3d+KD9SbX0sfMsHzb5PP3uimOiwr3YupUaUFG4W0l1U57Rx3utpttV7qz5U3jmrO5auUa04LU9pyHsg== - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g== - dependencies: - path-is-inside "^1.0.1" - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw== - -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== - dependencies: - call-bind "^1.0.5" - isarray "^2.0.5" - jsonify "^0.0.1" - object-keys "^1.1.1" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonwebtoken@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -knuth-shuffle-seeded@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz" - integrity sha512-9pFH0SplrfyKyojCLxZfMcvkhf5hH0d+UwR9nTVJ/DDQJGuzcXjTwB7TP7sDfehSudlGGaOLblmEWqv04ERVWg== - dependencies: - seed-random "~2.2.0" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha512-Be1YRHWWlZaSsrz2U+VInk+tO0EwLIyV+23RhWLINJYwg/UIikxjlj3MhH37/6/EDCAusjajvMkMMUXRaMWl/w== - dependencies: - package-json "^4.0.0" - -lazy-property@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" - integrity sha512-O52TK7FHpBPzdtvc5GoF0EPLQIBMqrAupANPGBidPkrDpl9IXlzuma3T+m0o0OpkRVPmTu3SDoT7985lw4KbNQ== - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -libnpx@10.2.2: - version "10.2.2" - resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.2.tgz#5a4171b9b92dd031463ef66a4af9f5cbd6b09572" - integrity sha512-ujaYToga1SAX5r7FU5ShMFi88CWpY75meNZtr6RtEyv4l2ZK3+Wgvxq2IqlwWBiDZOqhumdeiocPS1aKrCMe3A== - dependencies: - dotenv "^5.0.1" - npm-package-arg "^6.0.0" - rimraf "^2.6.2" - safe-buffer "^5.1.0" - update-notifier "^2.3.0" - which "^1.3.0" - y18n "^4.0.0" - yargs "^11.0.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lockfile@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" - integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== - dependencies: - signal-exit "^3.0.2" - -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - integrity sha512-bSYo8Pc/f0qAkr8fPJydpJjtrHiSynYfYBjtANIgXv5xEf1WlTC63dIDlgu0s9dmTvzRu1+JJTxcIAHe+sH0FQ== - -lodash._baseuniq@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" - integrity sha512-Ja1YevpHZctlI5beLA7oc5KNDhGcPixFhcqSiORHNsp/1QTv7amAXzw+gu4YOvErqVlMVyIJGgtzeepCnnur0A== - dependencies: - lodash._createset "~4.0.0" - lodash._root "~3.0.0" - -lodash._bindcallback@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - integrity sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ== - -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - integrity sha512-S8dUjWr7SUT/X6TBIQ/OYoCHo1Stu1ZRy6uMUSKqzFnZp5G5RyQizSm6kvxD2Ewyy6AVfMg4AToeZzKfF99T5w== - -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - integrity sha512-ev5SP+iFpZOugyab/DEUQxUeZP5qyciVTlgQ1f4Vlw7VUcCD8fVnyIqVUEIaoFH9zjAqdgi69KiofzvVmda/ZQ== - dependencies: - lodash._getnative "^3.0.0" - -lodash._createset@~4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" - integrity sha512-GTkC6YMprrJZCYU3zcqZj+jkXkrXzq3IPBcF/fIPpNEAB4hZEtXU8zp/RwKOvZl43NUmwDbyRk3+ZTbeRdEBXA== - -lodash._getnative@*, lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA== - -lodash._root@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - integrity sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ== - -lodash.clonedeep@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash.restparam@*: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - integrity sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw== - -lodash.union@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw== - -lodash.uniq@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.without@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" - integrity sha512-M3MefBwfDhgKgINVuBJCO1YR3+gf6s9HNJsIiZ/Ru77Ws6uTb9eBuvrkpzO+9iLoAaRodGuq7tyrPCx+74QYGQ== - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@~4.1.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -luxon@3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz" - integrity sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg== - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-fetch-happen@^2.4.13: - version "2.6.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" - integrity sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw== - dependencies: - agentkeepalive "^3.3.0" - cacache "^10.0.0" - http-cache-semantics "^3.8.0" - http-proxy-agent "^2.0.0" - https-proxy-agent "^2.1.0" - lru-cache "^4.1.1" - mississippi "^1.2.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^3.0.1" - ssri "^5.0.0" - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.7: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.1: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" - integrity sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^1.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mitt@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz" - integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== - -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^2.1.5: - version "2.1.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" - integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== - -move-concurrently@^1.0.1, move-concurrently@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.0.0, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -netmask@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz" - integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch-npm@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" - integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - -node-fetch@^2.6.12: - version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp@~3.6.2: - version "3.6.3" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.3.tgz#369fcb09146ae2167f25d8d23d8b49cc1a110d8d" - integrity sha512-7789TDMqJpv5iHxn1cAESCBEC/sBHAFxAvgXAcvzWenEWl0qf6E2Kk/Xwdl5ZclktUJzxJPVa27OMkBvaHKqCQ== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request ">=2.9.0 <2.82.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - -nopt@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.0.0, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0, "normalize-package-data@~1.0.1 || ^2.0.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@~2.4.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.2.tgz#6b2abd85774e51f7936f1395e45acb905dc849b2" - integrity sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw== - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -npm-cache-filename@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" - integrity sha512-5v2y1KG06izpGvZJDSBR5q1Ej+NaPDO05yAAWBJE6+3eiId0R176Gz3Qc2vEmJnE+VGul84g6Qpq8fXzD82/JA== - -npm-install-checks@~3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.2.tgz#ab2e32ad27baa46720706908e5b14c1852de44d9" - integrity sha512-E4kzkyZDIWoin6uT5howP8VDvkM+E8IQDcHAycaAxMbwkqhIg5eEYALnXOl3Hq9MrkdQB/2/g1xwBINXdKSRkg== - dependencies: - semver "^2.3.0 || 3.x || 4 || 5" - -npm-normalize-package-bin@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0", npm-package-arg@^5.1.2, npm-package-arg@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" - integrity sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA== - dependencies: - hosted-git-info "^2.4.2" - osenv "^0.1.4" - semver "^5.1.0" - validate-npm-package-name "^3.0.0" - -"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" - integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== - dependencies: - hosted-git-info "^2.7.1" - osenv "^0.1.5" - semver "^5.6.0" - validate-npm-package-name "^3.0.0" - -npm-pick-manifest@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8" - integrity sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ== - dependencies: - npm-package-arg "^5.1.2" - semver "^5.3.0" - -npm-registry-client@~8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.4.0.tgz#d52b901685647fc62a4c03eafecb6ceaa5018d4c" - integrity sha512-PVNfqq0lyRdFnE//nDmn3CC9uqTsr8Bya9KPLIevlXMfkP0m4RpCVyFFk0W1Gfx436kKwyhLA6J+lV+rgR81gQ== - dependencies: - concat-stream "^1.5.2" - graceful-fs "^4.1.6" - normalize-package-data "~1.0.1 || ^2.0.0" - npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0" - once "^1.3.3" - request "^2.74.0" - retry "^0.10.0" - semver "2 >=2.2.1 || 3.x || 4 || 5" - slide "^1.1.3" - ssri "^4.1.2" - optionalDependencies: - npmlog "2 || ^3.1.0 || ^4.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-user-validate@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" - integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== - -npm@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-5.1.0.tgz#cf8201e044018e9c89532041c90094541982b2c0" - integrity sha512-pt5ClxEmY/dLpb60SmGQQBKi3nB6Ljx1FXmpoCUdAULlGqGVn2uCyXxPCWFbcuHGthT7qGiaGa1wOfs/UjGYMw== - dependencies: - JSONStream "~1.3.1" - abbrev "~1.1.0" - ansi-regex "~3.0.0" - ansicolors "~0.3.2" - ansistyles "~0.1.3" - aproba "~1.1.2" - archy "~1.0.0" - bluebird "~3.5.0" - cacache "~9.2.9" - call-limit "~1.1.0" - chownr "~1.0.1" - cmd-shim "~2.0.2" - columnify "~1.5.4" - config-chain "~1.1.11" - detect-indent "~5.0.0" - dezalgo "~1.0.3" - editor "~1.0.0" - fs-vacuum "~1.2.10" - fs-write-stream-atomic "~1.0.10" - fstream "~1.0.11" - fstream-npm "~1.2.1" - glob "~7.1.2" - graceful-fs "~4.1.11" - has-unicode "~2.0.1" - hosted-git-info "~2.5.0" - iferr "~0.1.5" - inflight "~1.0.6" - inherits "~2.0.3" - ini "~1.3.4" - init-package-json "~1.10.1" - lazy-property "~1.0.0" - lockfile "~1.0.3" - lodash._baseuniq "~4.6.0" - lodash.clonedeep "~4.5.0" - lodash.union "~4.6.0" - lodash.uniq "~4.5.0" - lodash.without "~4.4.0" - lru-cache "~4.1.1" - mississippi "~1.3.0" - mkdirp "~0.5.1" - move-concurrently "~1.0.1" - node-gyp "~3.6.2" - nopt "~4.0.1" - normalize-package-data "~2.4.0" - npm-cache-filename "~1.0.2" - npm-install-checks "~3.0.0" - npm-package-arg "~5.1.2" - npm-registry-client "~8.4.0" - npm-user-validate "~1.0.0" - npmlog "~4.1.2" - once "~1.4.0" - opener "~1.4.3" - osenv "~0.1.4" - pacote "~2.7.38" - path-is-inside "~1.0.2" - promise-inflight "~1.0.1" - read "~1.0.7" - read-cmd-shim "~1.0.1" - read-installed "~4.0.3" - read-package-json "~2.0.9" - read-package-tree "~5.1.6" - readable-stream "~2.3.2" - request "~2.81.0" - retry "~0.10.1" - rimraf "~2.6.1" - safe-buffer "~5.1.1" - semver "~5.3.0" - sha "~2.0.1" - slide "~1.1.6" - sorted-object "~2.0.1" - sorted-union-stream "~2.1.3" - ssri "~4.1.6" - strip-ansi "~4.0.0" - tar "~2.2.1" - text-table "~0.2.0" - uid-number "0.0.6" - umask "~1.1.0" - unique-filename "~1.1.0" - unpipe "~1.0.0" - update-notifier "~2.2.0" - uuid "~3.1.0" - validate-npm-package-name "~3.0.0" - which "~1.2.14" - worker-farm "~1.3.1" - wrappy "~1.0.2" - write-file-atomic "~2.1.0" - -"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@~4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -npx@^10.2.2: - version "10.2.2" - resolved "https://registry.npmjs.org/npx/-/npx-10.2.2.tgz" - integrity sha512-eImmySusyeWphzs5iNh791XbZnZG0FSNvM4KSah34pdQQIDsdTDhIwg1sjN3AIVcjGLpbQ/YcfqHPshKZQK1fA== - dependencies: - libnpx "10.2.2" - npm "5.1.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - integrity sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -opener@~1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" - integrity sha512-4Im9TrPJcjAYyGR5gBe3yZnBzw5n3Bfh1ceHHGNOpMurINKc6RdSIPXMyon4BZacJbJc36lLkhipioGbWh5pwg== - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -osenv@0, osenv@^0.1.4, osenv@^0.1.5, osenv@~0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pac-proxy-agent@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz" - integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== - dependencies: - "@tootallnate/quickjs-emscripten" "^0.23.0" - agent-base "^7.0.2" - debug "^4.3.4" - get-uri "^6.0.1" - http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.2" - pac-resolver "^7.0.0" - socks-proxy-agent "^8.0.2" - -pac-resolver@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz" - integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== - dependencies: - degenerator "^5.0.0" - netmask "^2.0.2" - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA== - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -pacote@~2.7.38: - version "2.7.38" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-2.7.38.tgz#5091f8774298c26c3eca24606037f1bb73db74c1" - integrity sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA== - dependencies: - bluebird "^3.5.0" - cacache "^9.2.9" - glob "^7.1.2" - lru-cache "^4.1.1" - make-fetch-happen "^2.4.13" - minimatch "^3.0.4" - mississippi "^1.2.0" - normalize-package-data "^2.4.0" - npm-package-arg "^5.1.2" - npm-pick-manifest "^1.0.4" - osenv "^0.1.4" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^4.0.0" - safe-buffer "^5.1.1" - semver "^5.3.0" - ssri "^4.1.6" - tar-fs "^1.15.3" - tar-stream "^1.5.4" - unique-filename "^1.1.0" - which "^1.2.12" - -pad-right@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz" - integrity sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g== - dependencies: - repeat-string "^1.5.2" - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-is-inside@^1.0.1, path-is-inside@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - integrity sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@2.0.3, progress@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1, promise-inflight@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha512-StEy2osPr28o17bIW776GtwO6+Q+M9zPiZkYfosciUUMYqjhU/ffwRAH0zN2+uvGyUsn8/YICIHRzLbPacpZGw== - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== - dependencies: - read "1" - -property-expr@^2.0.5: - version "2.0.6" - resolved "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz" - integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== - -protoduck@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-4.0.0.tgz#fe4874d8c7913366cfd9ead12453a22cd3657f8e" - integrity sha512-9sxuz0YTU/68O98xuDn8NBxTVH9EuMhrBTxZdiBL0/qxRmWhB/5a8MagAebDa+98vluAZTs8kMZibCdezbRCeQ== - dependencies: - genfun "^4.0.1" - -proxy-agent@6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz" - integrity sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ== - dependencies: - agent-base "^7.0.2" - debug "^4.3.4" - http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.2" - lru-cache "^7.14.1" - pac-proxy-agent "^7.0.1" - proxy-from-env "^1.1.0" - socks-proxy-agent "^8.0.2" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^2.0.0, pump@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -puppeteer-core@21.11.0: - version "21.11.0" - resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.11.0.tgz" - integrity sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q== - dependencies: - "@puppeteer/browsers" "1.9.1" - chromium-bidi "0.5.8" - cross-fetch "4.0.0" - debug "4.3.4" - devtools-protocol "0.0.1232444" - ws "8.16.0" - -puppeteer@^21.6.1: - version "21.11.0" - resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-21.11.0.tgz" - integrity sha512-9jTHuYe22TD3sNxy0nEIzC7ZrlRnDgeX3xPkbS7PnbdwYjl2o/z/YuCrRBwezdKpbTDTJ4VqIggzNyeRcKq3cg== - dependencies: - "@puppeteer/browsers" "1.9.1" - cosmiconfig "9.0.0" - puppeteer-core "21.11.0" - -qs@~6.4.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.1.tgz#2bad97710a5b661c366b378b1e3a44a592ff45e6" - integrity sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ== - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - -rc@^1.0.1, rc@^1.1.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-cmd-shim@~1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" - integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA== - dependencies: - graceful-fs "^4.1.2" - -read-installed@~4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" - integrity sha512-O03wg/IYuV/VtnK2h/KXEt9VIbMUFbk3ERG0Iu4FhLZw0EP0T9znqrYDGn6ncbEsXUFaUjiVAWXHzxwt3lhRPQ== - dependencies: - debuglog "^1.0.1" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - semver "2 || 3 || 4 || 5" - slide "~1.1.3" - util-extend "^1.0.1" - optionalDependencies: - graceful-fs "^4.1.2" - -"read-package-json@1 || 2", read-package-json@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" - integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== - dependencies: - glob "^7.1.1" - json-parse-even-better-errors "^2.3.0" - normalize-package-data "^2.0.0" - npm-normalize-package-bin "^1.0.0" - -read-package-json@~2.0.9: - version "2.0.13" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" - integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.1" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - -read-package-tree@~5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.1.6.tgz#4f03e83d0486856fb60d97c94882841c2a7b1b7a" - integrity sha512-FCX1aT3GWyY658wzDICef4p+n0dB+ENRct8E/Qyvppj6xVpOYerBHfUu7OP5Rt1/393Tdglguf5ju5DEX4wZNg== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - once "^1.3.0" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read@1, read@~1.0.1, read@~1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== - dependencies: - mute-stream "~0.0.4" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.2, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@~1.1.10: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - -reflect-metadata@0.1.13: - version "0.1.13" - resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - -reflect-metadata@0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz" - integrity sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw== - -regexp-match-indices@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regexp-match-indices/-/regexp-match-indices-1.0.2.tgz" - integrity sha512-DwZuAkt8NF5mKwGGER1EGh2PRqyvhRhhLviH+R8y8dIuaQROlUfXjt4s9ZTXstIsSkptf06BSvwcEmmfheJJWQ== - dependencies: - regexp-tree "^0.1.11" - -regexp-tree@^0.1.11: - version "0.1.27" - resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" - integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== - -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA== - dependencies: - rc "^1.0.1" - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -"request@>=2.9.0 <2.82.0", request@~2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - integrity sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw== - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@^2.74.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-2.0.0.tgz" - integrity sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ== - dependencies: - resolve-from "^5.0.0" - -resolve@^1.10.0: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -retry@^0.10.0, retry@~0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ== - -rimraf@2, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@~2.6.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -seed-random@~2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz" - integrity sha512-34EQV6AAHQGhoc0tn/96a9Fsi6v2xdqe/dMUwljGRaFOzR3EgRmECvD0O8vi8X+/uQ50LGHfkNu/Eue5TPKZkQ== - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw== - dependencies: - semver "^5.0.3" - -"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@7.5.3: - version "7.5.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" +safe-buffer@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== semver@^7.5.4: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw== - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -sha@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" - integrity sha512-Lj/GiNro+/4IIvhDvTo2HDqTmQkbqgg/O3lbkM5lMgagriGPpWamxtq1KJPx7mCvyF1/HG6Hs7zaYaj4xpfXbA== - dependencies: - graceful-fs "^4.1.2" - readable-stream "^2.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - -slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw== - -smart-buffer@^1.0.13: - version "1.1.15" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - integrity sha512-1+8bxygjTsNfvQe0/0pNBesTOlSHtOeG6b6LYbvsZCCHDKYZ40zcQo6YTnZBWrBSLWOCbrHljLdEmGMYebu7aQ== - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - integrity sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A== - dependencies: - hoek "2.x.x" - -socks-proxy-agent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" - integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA== - dependencies: - agent-base "^4.1.0" - socks "^1.1.10" - -socks-proxy-agent@^8.0.2: - version "8.0.2" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz" - integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g== - dependencies: - agent-base "^7.0.2" - debug "^4.3.4" - socks "^2.7.1" - -socks@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" - integrity sha512-ArX4vGPULWjKDKgUnW8YzfI2uXW7kzgkJuB0GnFBA/PfT3exrrOk+7Wk2oeb894Qf20u1PWv9LEgrO0Z82qAzA== - dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" - -socks@^2.7.1: - version "2.8.1" - resolved "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz" - integrity sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ== - dependencies: - ip-address "^9.0.5" - smart-buffer "^4.2.0" - -sorted-object@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" - integrity sha512-oKAAs26HeTu3qbawzUGCkTOBv/5MRrcuJyRWwbfEnWdpXnXsj+WEM3HTvarV73tMcf9uBEZNZoNDVRL62VLxzA== - -sorted-union-stream@~2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz#c7794c7e077880052ff71a8d4a2dbb4a9a638ac7" - integrity sha512-RaKskQJZkmVREIwyAFho1RRU+sKjDdg51Crvxg2VxmIyiIrNhPNoJD/by5/pklWBXAZoO6LfAAGv8xd47p9TnQ== - dependencies: - from2 "^1.3.0" - stream-iterate "^1.1.0" - -source-map-support@0.5.21, source-map-support@^0.5.21: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== - -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - -sshpk@^1.7.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^4.1.2, ssri@^4.1.6, ssri@~4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" - integrity sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA== - dependencies: - safe-buffer "^5.1.0" - -ssri@^5.0.0, ssri@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" - integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== - dependencies: - safe-buffer "^5.1.1" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-iterate@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" - integrity sha512-QVfGkdBQ8NzsSIiL3rV6AoFFWwMvlg1qpTwVQaMGY5XYThDUuNM4hYSzi8pbKlimTsWyQdaWRZE+jwlPsMiiZw== - dependencies: - readable-stream "^2.1.5" - stream-shift "^1.0.0" - -stream-shift@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" - integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== - -streamx@^2.15.0: - version "2.16.1" - resolved "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz" - integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - optionalDependencies: - bare-events "^2.2.0" - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4: - version "0.0.6" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" - integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0, strip-ansi@~4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tar-fs@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz" - integrity sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w== - dependencies: - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^3.1.5" - -tar-fs@^1.15.3: - version "1.16.3" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" - integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" - -tar-stream@^1.1.2, tar-stream@^1.5.4: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" - -tar-stream@^3.1.5: - version "3.1.7" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz" - integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - -tar@^2.0.0, tar@~2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ== - dependencies: - execa "^0.7.0" - -text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -"through@>=2.2.7 <3", through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - -tiny-case@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz" - integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q== - -tmp@^0.2.1: - version "0.2.3" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz" - integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== - -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" - integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== - -tough-cookie@~2.3.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" - integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA== - dependencies: - punycode "^1.4.1" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -tslib@^2.0.1, tslib@^2.0.3: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-fest@^2.19.0: - version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - -type-fest@^4.8.3: - version "4.14.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.14.0.tgz" - integrity sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -uid-number@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - integrity sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w== - -umask@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - integrity sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA== - -unbzip2-stream@1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unique-filename@^1.1.0, unique-filename@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== - dependencies: - crypto-random-string "^1.0.0" - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw== - -update-notifier@^2.3.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -update-notifier@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" - integrity sha512-BrfvANq8gJjhtaeDiK1QFunFoo5ad9BJ+bTgeSaonpHUzjTtCdzqzuxCSKYfRvS/R20BAYT8HlCMZO2r4xDaQg== - dependencies: - boxen "^1.0.0" - chalk "^1.0.0" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -upper-case-first@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz" - integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== - dependencies: - tslib "^2.0.3" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA== - dependencies: - prepend-http "^1.0.1" - -urlpattern-polyfill@10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz" - integrity sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg== - -util-arity@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz" - integrity sha512-kkyIsXKwemfSy8ZEoaIz06ApApnWsk5hQO0vLjZS6UkBiGiW++Jsyb8vSBoc0WKlffGoGs5yYy/j5pp8zckrFA== - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util-extend@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" - integrity sha512-mLs5zAK+ctllYBj+iAQvlDCwoxU/WDOUaJkcFudeiAX6OajC6BKXJUa9a+tbtkC11dz2Ufb7h0lyvIOVn4LADA== - -uuid@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - -uuid@9.0.1: - version "9.0.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -uuid@^3.0.0, uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - integrity sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g== - -validate-npm-package-license@*, validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0, validate-npm-package-name@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== - dependencies: - builtins "^1.0.3" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -wcwidth@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which@1, which@^1.2.12, which@^1.2.9, which@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@~1.2.14: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - integrity sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - -worker-farm@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" - integrity sha512-ikAfMCRFdPRJjXG4TzMI2bs/I7kZPJrejDFbSUG6n0JptwUHEPfq/7Uap/aylHjPhxyfTueeWRmakCsLA5xJsg== - dependencies: - errno ">=0.1.1 <0.2.0-0" - xtend ">=4.0.0 <4.1.0-0" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1, wrappy@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" - integrity sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -ws@8.16.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== - -xmlbuilder@^15.1.1: - version "15.1.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.2.2: - version "2.4.1" - resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz" - integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - integrity sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw== - dependencies: - camelcase "^4.1.0" - -yargs@17.7.2: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@^11.0.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.1.tgz#5052efe3446a4df5ed669c995886cc0f13702766" - integrity sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yup@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/yup/-/yup-1.2.0.tgz" - integrity sha512-PPqYKSAXjpRCgLgLKVGPA33v5c/WgEx3wi6NFjIiegz90zSwyMpvTFp/uGcVnnbx6to28pgnzp/q8ih3QRjLMQ== - dependencies: - property-expr "^2.0.5" - tiny-case "^1.0.3" - toposort "^2.0.2" - type-fest "^2.19.0" + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== diff --git a/sonar-project.properties b/sonar-project.properties index 397b4c58e..21c2cf555 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -5,5 +5,5 @@ sonar.projectKey=pagopa_pagopa-selfcare-frontend # in https://sonarcloud.io/documentation/project-administration/narrowing-the-focus/ sonar.sources=. sonar.javascript.lcov.reportPaths=coverage/lcov.info -sonar.coverage.exclusions = src/**/*.test.tsx,src/**/*.test.ts,integration-test/*,**/__mocks__/**,,**/__test__/**,openApi/scripts/**,e2e/** +sonar.coverage.exclusions = src/**/*.test.tsx,src/**/*.test.ts,integration-test/*,**/__mocks__/**,,**/__test__/**,openApi/scripts/** sonar.cpd.exclusions=src/locale/it.json,**/__tests__/**,**/__test__/**,openApi/scripts/**,e2e/** diff --git a/tsconfig.json b/tsconfig.json index 0d73e581e..28d6d4788 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -36,6 +36,6 @@ "node_modules", "**/__tests__/*", "Dangerfile.ts", - "e2e" + "integration-test" ] } From 51d68c6aced64ddf1843ced984d473edfa73ab5d Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:50:44 +0100 Subject: [PATCH 10/14] fix: Revert delete e2e Marketplace be url (#728) --- integration-test/tests/utils/e2eUtils.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/integration-test/tests/utils/e2eUtils.ts b/integration-test/tests/utils/e2eUtils.ts index 7a7a97ba8..2ac053b13 100644 --- a/integration-test/tests/utils/e2eUtils.ts +++ b/integration-test/tests/utils/e2eUtils.ts @@ -9,6 +9,10 @@ export enum BundleTypes { } export const DEV_URL = 'https://selfcare.dev.platform.pagopa.it/ui'; +export const BASE_BE_URL = 'https://api.dev.platform.pagopa.it'; +export const BACKOFFICE_BE_URL = BASE_BE_URL + '/backoffice/v1'; +export const MARKETPLACE_BE_URL = BASE_BE_URL + '/afm/marketplace-service/v1'; + export const PSP_DEMO_DIRECT = '99999000011'; export const PSP_DEMO_DIRECT_CODE = 'ABI50004'; From cc395edda94a398568d918ced88ceffadd902706 Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Tue, 12 Nov 2024 10:32:19 +0100 Subject: [PATCH 11/14] fix: e2e GHA upload report folder (#731) --- .github/workflows/ci_integration_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_integration_test.yml b/.github/workflows/ci_integration_test.yml index eaf355e7c..50dc7ae2d 100644 --- a/.github/workflows/ci_integration_test.yml +++ b/.github/workflows/ci_integration_test.yml @@ -83,7 +83,7 @@ jobs: - name: Upload artifact uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3 with: - path: './e2e/playwright-report/' + path: './integration-test/playwright-report/' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 From 7f77d64886f3c3afe3064018a325372c4010640f Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Fri, 15 Nov 2024 14:28:08 +0100 Subject: [PATCH 12/14] [PPANTT-182] feat: New Ec's roles (#730) * [PPANTT-182] feat: New Ec's roles * Bump to version 1.39.2-1-PPANTT-182-new-ec-roles [skip ci] --------- Co-authored-by: pagopa-github-bot --- package.json | 2 +- src/utils/constants.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d5bdfbd84..449a263fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.39.2", + "version": "1.39.2-1-PPANTT-182-new-ec-roles", "homepage": "ui", "private": true, "scripts": { diff --git a/src/utils/constants.ts b/src/utils/constants.ts index b3aaa0058..299bd7cd9 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -61,6 +61,6 @@ export const LOADING_TASK_STATION_MAINTENANCES = 'STATION_MAINTENANCES'; export const LOADING_TASK_STATION_MAINTENANCES_HOURS_SUMMARY = 'STATION_MAINTENANCES_HOURS_SUMMARY'; export const LOADING_TASK_STATION_MAINTENANCES_ACTION = 'STATION_MAINTENANCES_ACTION'; export const INSTITUTIONS_PSP_TYPES = ['PSP']; -export const INSTITUTIONS_EC_TYPES = ['PA', 'GSP', 'SCP', 'PG']; +export const INSTITUTIONS_EC_TYPES = ['PA', 'GSP', 'SCP', 'PG', 'GPU"', 'PRV']; export const INSTITUTIONS_PT_TYPES = ['PT']; export const DISALLOWED_PAYMENT_TYPES = [ 'OBEP', 'JIF', 'BP', 'BBT', 'AD']; From 695e417ded248e69593563fa34bf57d760e0e13d Mon Sep 17 00:00:00 2001 From: pagopa-github-bot Date: Fri, 15 Nov 2024 13:28:37 +0000 Subject: [PATCH 13/14] Bump to version 1.39.3 [skip ci] --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 449a263fc..a41c025bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pagopa-selfcare-backoffice-frontend", - "version": "1.39.2-1-PPANTT-182-new-ec-roles", + "version": "1.39.3", "homepage": "ui", "private": true, "scripts": { From 96bb3bf7dbb40225acbcf252801cc8d3162f0c6a Mon Sep 17 00:00:00 2001 From: Samuele Varianti <128470180+svariant@users.noreply.github.com> Date: Tue, 19 Nov 2024 11:19:53 +0100 Subject: [PATCH 14/14] fix: Delete typo in Private Subject roles (#736) --- src/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 299bd7cd9..a1315949d 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -61,6 +61,6 @@ export const LOADING_TASK_STATION_MAINTENANCES = 'STATION_MAINTENANCES'; export const LOADING_TASK_STATION_MAINTENANCES_HOURS_SUMMARY = 'STATION_MAINTENANCES_HOURS_SUMMARY'; export const LOADING_TASK_STATION_MAINTENANCES_ACTION = 'STATION_MAINTENANCES_ACTION'; export const INSTITUTIONS_PSP_TYPES = ['PSP']; -export const INSTITUTIONS_EC_TYPES = ['PA', 'GSP', 'SCP', 'PG', 'GPU"', 'PRV']; +export const INSTITUTIONS_EC_TYPES = ['PA', 'GSP', 'SCP', 'PG', 'GPU', 'PRV']; export const INSTITUTIONS_PT_TYPES = ['PT']; export const DISALLOWED_PAYMENT_TYPES = [ 'OBEP', 'JIF', 'BP', 'BBT', 'AD'];