├── complete-project ├── .nvmrc ├── cypress │ ├── fixtures │ │ └── example.json │ ├── support │ │ ├── e2e.js │ │ └── commands.js │ └── e2e │ │ └── app.cy.js ├── cypress.config.js ├── package.json ├── app.feature └── package-lock.json ├── in-class-project ├── .vscode │ └── settings.json ├── cypress │ ├── fixtures │ │ └── example.json │ ├── support │ │ ├── e2e.js │ │ └── commands.js │ └── e2e │ │ └── app.cy.js ├── cypress.config.js ├── package.json ├── app.feature └── package-lock.json ├── ci-print.png ├── .github └── workflows │ ├── cypress-complete-project.yml │ └── cypress-in-class-project.yml ├── README.md ├── script.txt └── .gitignore /complete-project/.nvmrc: -------------------------------------------------------------------------------- 1 | v20.11.1 2 | -------------------------------------------------------------------------------- /in-class-project/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "window.zoomLevel": 3 3 | } -------------------------------------------------------------------------------- /ci-print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ErickWendel/cypress-for-begginers/HEAD/ci-print.png -------------------------------------------------------------------------------- /complete-project/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /in-class-project/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /complete-project/cypress.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "cypress"; 2 | 3 | export default defineConfig({ 4 | "chromeWebSecurity": false, 5 | "experimentalModuleVariables": true, 6 | e2e: { 7 | setupNodeEvents(on, config) { 8 | 9 | }, 10 | baseUrl: 'https://erickwendel.github.io/vanilla-js-web-app-example', 11 | testIsolation: false, 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /in-class-project/cypress.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "cypress"; 2 | 3 | export default defineConfig({ 4 | chromeWebSecurity: false, 5 | e2e: { 6 | setupNodeEvents(on, config) { 7 | // implement node event listeners here 8 | }, 9 | baseUrl: 'https://erickwendel.github.io/vanilla-js-web-app-example/', 10 | // não vai limpar o estado da tela após cada it 11 | testIsolation: false 12 | }, 13 | }); 14 | -------------------------------------------------------------------------------- /in-class-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "in-class-project", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "type": "module", 7 | "engines": { 8 | "node": "v20.12.1" 9 | }, 10 | "scripts": { 11 | "cypress:web": "npx cypress open", 12 | "cypress:headless": "npx cypress run --browser electron" 13 | }, 14 | "keywords": [], 15 | "author": "", 16 | "license": "ISC", 17 | "devDependencies": { 18 | "cypress": "^13.7.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /complete-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vanilla-js-web-app-example", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "cypress:web": "npx cypress open", 8 | "cypress:headless": "npx cypress run --browser electron" 9 | }, 10 | "keywords": [], 11 | "author": "erickwendel", 12 | "license": "ISC", 13 | "type": "module", 14 | "engines": { 15 | "node": "v20.12.1" 16 | }, 17 | "devDependencies": { 18 | "cypress": "^13.7.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /complete-project/cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/e2e.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') -------------------------------------------------------------------------------- /in-class-project/cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/e2e.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import './commands' 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') -------------------------------------------------------------------------------- /.github/workflows/cypress-complete-project.yml: -------------------------------------------------------------------------------- 1 | name: Cypress Tests - Complete Project 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - 'complete-project/**.js' 9 | - 'complete-project/**.json' 10 | - 'complete-project/**.yml' 11 | 12 | jobs: 13 | complete-project-tests: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Checkout code 18 | uses: actions/checkout@v4 19 | 20 | - name: Setup Node.js 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 20.12.1 24 | 25 | - name: Install dependencies 26 | run: npm install 27 | working-directory: ./complete-project 28 | 29 | - name: Run Cypress tests 30 | run: npm run cypress:headless 31 | working-directory: ./complete-project 32 | -------------------------------------------------------------------------------- /.github/workflows/cypress-in-class-project.yml: -------------------------------------------------------------------------------- 1 | name: Cypress Tests - In Class Project 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths: 8 | - 'in-class-project/**.js' 9 | - 'in-class-project/**.json' 10 | - 'in-class-project/**.yml' 11 | 12 | jobs: 13 | in-class-project-tests: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - name: Checkout code 18 | uses: actions/checkout@v4 19 | 20 | - name: Setup Node.js 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 20.12.1 24 | 25 | - name: Install dependencies 26 | run: npm install 27 | working-directory: ./in-class-project 28 | 29 | - name: Run Cypress tests 30 | run: npm run cypress:headless 31 | working-directory: ./in-class-project 32 | -------------------------------------------------------------------------------- /complete-project/cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add('login', (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This will overwrite an existing command -- 25 | // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -------------------------------------------------------------------------------- /in-class-project/cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add('login', (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This will overwrite an existing command -- 25 | // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Example of how to run e2e and unit tests on serverless apps using LocalStack and Jest 2 | 3 | [![Cypress Tests - Complete Project](https://github.com/ErickWendel/cypress-for-begginers/actions/workflows/cypress-complete-project.yml/badge.svg)](https://github.com/ErickWendel/cypress-for-begginers/actions/workflows/cypress-complete-project.yml) 4 | 5 | [![Cypress Tests - In Class Project](https://github.com/ErickWendel/cypress-for-begginers/actions/workflows/cypress-in-class-project.yml/badge.svg)](https://github.com/ErickWendel/cypress-for-begginers/actions/workflows/cypress-in-class-project.yml) 6 | 7 | Hi this is the repo containing code examples and challenges of my video on [Cypress for begginers - Creating e2e tests on frontend apps](https://bit.ly/mini-curso-cypress). 8 | 9 | **First leave your star in the repo 🌟** 10 | ![Mini curso de Cypress para Iniciantes (1)](https://github.com/ErickWendel/cypress-for-begginers/assets/8060102/b898d7e2-d1bf-4210-a0d0-6e0e7f3dca7f) 11 | 12 | There are two folders. In the [./in-class-project](./in-class-project) you''ll find the examples shown in class and challenges and on [./complete-project](./complete-project) the final project containing the answers of the challenge 13 | 14 | The CI output of the solved challenges will look like below: 15 | ![ci print results](./ci-print.png) 16 | -------------------------------------------------------------------------------- /script.txt: -------------------------------------------------------------------------------- 1 | go to https://github.com/ErickWendel/vanilla-js-web-app-example/ 2 | go to https://github.com/ErickWendel/vanilla-js-web-app-example/blob/main/app.feature 3 | 4 | mkdir class-project 5 | 6 | node -v # v20.12.1 7 | npm init -y 8 | npm pkg set type=module engines.node=$(node -v) author=erickwendel 9 | touch app.feature 10 | paste from https://github.com/ErickWendel/vanilla-js-web-app-example/blob/main/app.feature 11 | 12 | npm i -D cypress@13.7.2 13 | package.json 14 | "cypress:web": "npx cypress open", 15 | "cypress:headless": "npx cypress run --browser electron" 16 | 17 | npm i -g ntl 18 | ntl 19 | npm run crypress:web 20 | 21 | electron -> sample spec 22 | 23 | go to cypress.config.js 24 | add 25 | "chromeWebSecurity": false, 26 | "experimentalModuleVariables": true, 27 | e2e : { 28 | baseUrl: 'https://erickwendel.github.io/vanilla-js-web-app-example', 29 | testIsolation: false, 30 | } 31 | 32 | show how to get title from the page by inspecting it 33 | 34 | e2e/app.cy.js 35 | first describe with all its empty 36 | first it 37 | -> should see the webpage 38 | 39 | class RegisterForm 40 | all elements 41 | typeTitle 42 | second it 43 | -> should see typing 44 | 45 | registerForm 46 | typeUrl 47 | clickSubmit 48 | hitEnter 49 | 50 | second it 51 | -> should see typing 52 | 53 | third it 54 | -> should see typing 55 | 56 | fourth it 57 | -> should see submiting and errors 58 | 59 | all 60 | 61 | ntl 62 | - headless 63 | duplicate ci file 64 | change to the new folder 65 | upload to github 66 | see results 67 | 68 | done :) 69 | 70 | -------------------------------------------------------------------------------- /complete-project/app.feature: -------------------------------------------------------------------------------- 1 | Feature: Image Registration 2 | 3 | Scenario: Submitting an image with invalid inputs 4 | Given I am on the image registration page 5 | When I enter "" in the title field 6 | Then I enter "" in the URL field 7 | Then I click the submit button 8 | Then I should see "Please type a title for the image" message above the title field 9 | And I should see "Please type a valid URL" message above the imageUrl field 10 | And I should see an exclamation icon in the title and URL fields 11 | 12 | Scenario: Submitting an image with valid inputs using enter key 13 | Given I am on the image registration page 14 | When I enter "Alien BR" in the title field 15 | Then I should see a check icon in the title field 16 | When I enter "https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg" in the URL field 17 | Then I should see a check icon in the imageUrl field 18 | Then I can hit enter to submit the form 19 | And the list of registered images should be updated with the new item 20 | And the new item should be stored in the localStorage 21 | Then The inputs should be cleared 22 | 23 | Scenario: Submitting an image and updating the list 24 | Given I am on the image registration page 25 | Then I have entered "BR Alien" in the title field 26 | Then I have entered "https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg" in the URL field 27 | When I click the submit button 28 | And the list of registered images should be updated with the new item 29 | And the new item should be stored in the localStorage 30 | Then The inputs should be cleared 31 | 32 | Scenario: Refreshing the page after submitting an image clicking in the submit button 33 | Given I am on the image registration page 34 | Then I have submitted an image by clicking the submit button 35 | When I refresh the page 36 | Then I should still see the submitted image in the list of registered images -------------------------------------------------------------------------------- /in-class-project/app.feature: -------------------------------------------------------------------------------- 1 | Feature: Image Registration 2 | 3 | Scenario: Submitting an image with invalid inputs 4 | Given I am on the image registration page 5 | When I enter "" in the title field 6 | Then I enter "" in the URL field 7 | Then I click the submit button 8 | Then I should see "Please type a title for the image" message above the title field 9 | And I should see "Please type a valid URL" message above the imageUrl field 10 | And I should see an exclamation icon in the title and URL fields 11 | 12 | Scenario: Submitting an image with valid inputs using enter key 13 | Given I am on the image registration page 14 | When I enter "Alien BR" in the title field 15 | Then I should see a check icon in the title field 16 | When I enter "https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg" in the URL field 17 | Then I should see a check icon in the imageUrl field 18 | Then I can hit enter to submit the form 19 | And the list of registered images should be updated with the new item 20 | And the new item should be stored in the localStorage 21 | Then The inputs should be cleared 22 | 23 | Scenario: Submitting an image and updating the list 24 | Given I am on the image registration page 25 | Then I have entered "BR Alien" in the title field 26 | Then I have entered "https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg" in the URL field 27 | When I click the submit button 28 | And the list of registered images should be updated with the new item 29 | And the new item should be stored in the localStorage 30 | Then The inputs should be cleared 31 | 32 | Scenario: Refreshing the page after submitting an image clicking in the submit button 33 | Given I am on the image registration page 34 | Then I have submitted an image by clicking the submit button 35 | When I refresh the page 36 | Then I should still see the submitted image in the list of registered images -------------------------------------------------------------------------------- /in-class-project/cypress/e2e/app.cy.js: -------------------------------------------------------------------------------- 1 | import assert from 'assert' 2 | 3 | class RegisterForm { 4 | elements = { 5 | titleInput: () => cy.get('#title'), 6 | titleFeedback: () => cy.get('#titleFeedback'), 7 | imageUrlInput: () => cy.get('#imageUrl'), 8 | urlFeedback: () => cy.get('#urlFeedback'), 9 | submitBtn: () => cy.get('#btnSubmit') 10 | } 11 | 12 | typeTitle(text) { 13 | if (!text) return; 14 | this.elements.titleInput().type(text) 15 | } 16 | 17 | typeUrl(text) { 18 | if (!text) return; 19 | this.elements.imageUrlInput().type(text) 20 | } 21 | clickSubmit() { 22 | this.elements.submitBtn().click() 23 | } 24 | } 25 | const registerForm = new RegisterForm() 26 | const colors = { 27 | errors: 'rgb(220, 53, 69)', 28 | success: '' 29 | } 30 | describe('Image Registration', () => { 31 | describe('Submitting an image with invalid inputs', () => { 32 | after(() => { 33 | cy.clearAllLocalStorage() 34 | }) 35 | const input = { 36 | title: '', 37 | url: '' 38 | } 39 | it('Given I am on the image registration page', () => { 40 | cy.visit('/') 41 | }) 42 | 43 | it(`When I enter "${input.title}" in the title field`, () => { 44 | registerForm.typeTitle(input.title) 45 | }) 46 | it(`Then I enter "${input.url}" in the URL field`, () => { 47 | registerForm.typeUrl(input.url) 48 | }) 49 | 50 | it(`Then I click the submit button`, () => { 51 | registerForm.clickSubmit() 52 | }) 53 | 54 | it(`Then I should see "Please type a title for the image" message above the title field`, () => { 55 | registerForm.elements.titleFeedback().should('contains.text', 'Please type a title for the image') 56 | }) 57 | it(`And I should see "Please type a valid URL" message above the imageUrl field`, () => { 58 | registerForm.elements.urlFeedback().should('contains.text', 'Please type a valid URL') 59 | }) 60 | it(`And I should see an exclamation icon in the title and URL fields`, () => { 61 | 62 | registerForm.elements.titleInput().should(([element]) => { 63 | const styles = window.getComputedStyle(element) 64 | const border = styles.getPropertyValue('border-right-color') 65 | assert.strictEqual(border, colors.errors) 66 | }) 67 | }) 68 | 69 | }) 70 | }) -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | -------------------------------------------------------------------------------- /complete-project/cypress/e2e/app.cy.js: -------------------------------------------------------------------------------- 1 | import assert from 'assert' 2 | class RegisterForm { 3 | elements = { 4 | titleInput: () => cy.get('#title'), 5 | titleFeedback: () => cy.get('#titleFeedback'), 6 | imageUrlInput: () => cy.get('#imageUrl'), 7 | urlFeedback: () => cy.get('#urlFeedback'), 8 | submitBtn: () => cy.get('#btnSubmit'), 9 | } 10 | 11 | typeTitle(text) { 12 | if (!text) return; 13 | this.elements.titleInput().type(text) 14 | } 15 | 16 | typeUrl(url) { 17 | if (!url) return; 18 | this.elements.imageUrlInput().type(url) 19 | } 20 | clickSubmit() { 21 | this.elements.submitBtn().click() 22 | } 23 | hitEnter() { 24 | cy.focused().type('{enter}') 25 | } 26 | } 27 | 28 | const registerForm = new RegisterForm() 29 | const colors = { 30 | error: 'rgb(220, 53, 69)', 31 | success: 'rgb(222, 226, 230)' 32 | } 33 | describe('Image Registration', () => { 34 | 35 | describe('Submitting an image with invalid inputs', () => { 36 | const input = { 37 | title: '', 38 | url: '', 39 | } 40 | 41 | it('Given I am on the image registration page', () => { 42 | cy.visit('/') 43 | }) 44 | 45 | it(`When I enter "${input.title}" in the title field`, () => { 46 | registerForm.typeTitle(input.title) 47 | }) 48 | 49 | it(`Then I enter "${input.url}" in the URL field`, () => { 50 | registerForm.typeUrl(input.url) 51 | }) 52 | 53 | it('Then I click the submit button', () => { 54 | registerForm.clickSubmit() 55 | }) 56 | 57 | it('Then I should see "Please type a title for the image" message above the title field', () => { 58 | registerForm.elements.titleFeedback().should('contain.text', 'Please type a title for the image') 59 | }) 60 | 61 | it('And I should see "Please type a valid URL" message above the imageUrl field', () => { 62 | registerForm.elements.urlFeedback().should('contain.text', 'Please type a valid URL') 63 | }) 64 | 65 | it('And I should see an exclamation icon in the title and URL fields', () => { 66 | registerForm.elements.titleInput().should(([$input]) => { 67 | const styles = window.getComputedStyle($input); 68 | const border = styles.getPropertyValue('border-right-color') 69 | assert.strictEqual(border, colors.error) 70 | }) 71 | }) 72 | 73 | }) 74 | 75 | describe('Submitting an image with valid inputs using enter key', () => { 76 | 77 | const input = { 78 | title: 'Alien BR', 79 | url: 'https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg', 80 | 81 | } 82 | 83 | after(() => { 84 | cy.clearLocalStorage() 85 | }) 86 | 87 | it('Given I am on the image registration page', () => { 88 | cy.visit('/') 89 | }) 90 | 91 | it(`When I enter "${input.title}" in the title field`, () => { 92 | registerForm.typeTitle(input.title) 93 | }) 94 | 95 | it(`Then I enter "${input.url}" in the URL field`, () => { 96 | registerForm.typeUrl(input.url) 97 | }) 98 | 99 | it('I should see a check icon in the imageUrl field', () => { 100 | registerForm.elements.titleInput().should(([$input]) => { 101 | const styles = window.getComputedStyle($input); 102 | const border = styles.getPropertyValue('border-right-color') 103 | assert.strictEqual(border, colors.success) 104 | }) 105 | }) 106 | 107 | it('Then I can hit enter to submit the form', () => { 108 | registerForm.hitEnter() 109 | cy.wait(100) 110 | }) 111 | 112 | it('And the list of registered images should be updated with the new item', () => { 113 | cy.get('#card-list .card-img').should((elements) => { 114 | const lastElement = elements[elements.length - 1] 115 | const src = lastElement.getAttribute('src') 116 | assert.strictEqual(src, input.url) 117 | }) 118 | }); 119 | 120 | it('And the new item should be stored in the localStorage', () => { 121 | cy.getAllLocalStorage().should((ls) => { 122 | const currentLs = ls[window.location.origin] 123 | const elements = JSON.parse(Object.values(currentLs)) 124 | const lastElement = elements[elements.length - 1] 125 | 126 | assert.deepStrictEqual(lastElement, { 127 | title: input.title, 128 | imageUrl: input.url, 129 | }) 130 | 131 | }) 132 | }) 133 | 134 | it('Then The inputs should be cleared', () => { 135 | registerForm.elements.titleInput().should('have.value', '') 136 | registerForm.elements.imageUrlInput().should('have.value', '') 137 | }) 138 | 139 | }) 140 | 141 | describe('Refreshing the page after submitting an image clicking in the submit button', () => { 142 | const input = { 143 | title: 'Alien BRAZIL', 144 | url: 'https://cdn.mos.cms.futurecdn.net/eM9EvWyDxXcnQTTyH8c8p5-1200-80.jpg', 145 | } 146 | 147 | after(() => { 148 | cy.clearLocalStorage() 149 | }) 150 | 151 | it('Given I am on the image registration page', () => { 152 | cy.visit('/') 153 | }) 154 | 155 | it(`Then I have submitted an image by clicking the submit button`, () => { 156 | registerForm.typeTitle(input.title) 157 | registerForm.typeUrl(input.url) 158 | registerForm.clickSubmit() 159 | cy.wait(100) 160 | }) 161 | 162 | it(`When I refresh the page`, () => { 163 | cy.reload() 164 | }) 165 | 166 | it('Then I should still see the submitted image in the list of registered images', () => { 167 | cy.getAllLocalStorage().should((ls) => { 168 | const currentLs = ls[window.location.origin] 169 | const elements = JSON.parse(Object.values(currentLs)) 170 | const lastElement = elements[elements.length - 1] 171 | 172 | assert.deepStrictEqual(lastElement, { 173 | title: input.title, 174 | imageUrl: input.url, 175 | }) 176 | }) 177 | }) 178 | 179 | }) 180 | 181 | }) -------------------------------------------------------------------------------- /complete-project/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "preclass", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "preclass", 9 | "version": "0.0.1", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "cypress": "^13.7.2" 13 | }, 14 | "engines": { 15 | "node": "v20.11.1" 16 | } 17 | }, 18 | "node_modules/@colors/colors": { 19 | "version": "1.5.0", 20 | "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", 21 | "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", 22 | "dev": true, 23 | "optional": true, 24 | "engines": { 25 | "node": ">=0.1.90" 26 | } 27 | }, 28 | "node_modules/@cypress/request": { 29 | "version": "3.0.1", 30 | "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", 31 | "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", 32 | "dev": true, 33 | "dependencies": { 34 | "aws-sign2": "~0.7.0", 35 | "aws4": "^1.8.0", 36 | "caseless": "~0.12.0", 37 | "combined-stream": "~1.0.6", 38 | "extend": "~3.0.2", 39 | "forever-agent": "~0.6.1", 40 | "form-data": "~2.3.2", 41 | "http-signature": "~1.3.6", 42 | "is-typedarray": "~1.0.0", 43 | "isstream": "~0.1.2", 44 | "json-stringify-safe": "~5.0.1", 45 | "mime-types": "~2.1.19", 46 | "performance-now": "^2.1.0", 47 | "qs": "6.10.4", 48 | "safe-buffer": "^5.1.2", 49 | "tough-cookie": "^4.1.3", 50 | "tunnel-agent": "^0.6.0", 51 | "uuid": "^8.3.2" 52 | }, 53 | "engines": { 54 | "node": ">= 6" 55 | } 56 | }, 57 | "node_modules/@cypress/xvfb": { 58 | "version": "1.2.4", 59 | "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", 60 | "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", 61 | "dev": true, 62 | "dependencies": { 63 | "debug": "^3.1.0", 64 | "lodash.once": "^4.1.1" 65 | } 66 | }, 67 | "node_modules/@cypress/xvfb/node_modules/debug": { 68 | "version": "3.2.7", 69 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 70 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 71 | "dev": true, 72 | "dependencies": { 73 | "ms": "^2.1.1" 74 | } 75 | }, 76 | "node_modules/@types/node": { 77 | "version": "20.12.4", 78 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.4.tgz", 79 | "integrity": "sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==", 80 | "dev": true, 81 | "optional": true, 82 | "dependencies": { 83 | "undici-types": "~5.26.4" 84 | } 85 | }, 86 | "node_modules/@types/sinonjs__fake-timers": { 87 | "version": "8.1.1", 88 | "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", 89 | "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", 90 | "dev": true 91 | }, 92 | "node_modules/@types/sizzle": { 93 | "version": "2.3.8", 94 | "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", 95 | "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", 96 | "dev": true 97 | }, 98 | "node_modules/@types/yauzl": { 99 | "version": "2.10.3", 100 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", 101 | "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", 102 | "dev": true, 103 | "optional": true, 104 | "dependencies": { 105 | "@types/node": "*" 106 | } 107 | }, 108 | "node_modules/aggregate-error": { 109 | "version": "3.1.0", 110 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 111 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 112 | "dev": true, 113 | "dependencies": { 114 | "clean-stack": "^2.0.0", 115 | "indent-string": "^4.0.0" 116 | }, 117 | "engines": { 118 | "node": ">=8" 119 | } 120 | }, 121 | "node_modules/ansi-colors": { 122 | "version": "4.1.3", 123 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", 124 | "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", 125 | "dev": true, 126 | "engines": { 127 | "node": ">=6" 128 | } 129 | }, 130 | "node_modules/ansi-escapes": { 131 | "version": "4.3.2", 132 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 133 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 134 | "dev": true, 135 | "dependencies": { 136 | "type-fest": "^0.21.3" 137 | }, 138 | "engines": { 139 | "node": ">=8" 140 | }, 141 | "funding": { 142 | "url": "https://github.com/sponsors/sindresorhus" 143 | } 144 | }, 145 | "node_modules/ansi-regex": { 146 | "version": "5.0.1", 147 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 148 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 149 | "dev": true, 150 | "engines": { 151 | "node": ">=8" 152 | } 153 | }, 154 | "node_modules/ansi-styles": { 155 | "version": "4.3.0", 156 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 157 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 158 | "dev": true, 159 | "dependencies": { 160 | "color-convert": "^2.0.1" 161 | }, 162 | "engines": { 163 | "node": ">=8" 164 | }, 165 | "funding": { 166 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 167 | } 168 | }, 169 | "node_modules/arch": { 170 | "version": "2.2.0", 171 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 172 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 173 | "dev": true, 174 | "funding": [ 175 | { 176 | "type": "github", 177 | "url": "https://github.com/sponsors/feross" 178 | }, 179 | { 180 | "type": "patreon", 181 | "url": "https://www.patreon.com/feross" 182 | }, 183 | { 184 | "type": "consulting", 185 | "url": "https://feross.org/support" 186 | } 187 | ] 188 | }, 189 | "node_modules/asn1": { 190 | "version": "0.2.6", 191 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 192 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 193 | "dev": true, 194 | "dependencies": { 195 | "safer-buffer": "~2.1.0" 196 | } 197 | }, 198 | "node_modules/assert-plus": { 199 | "version": "1.0.0", 200 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 201 | "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", 202 | "dev": true, 203 | "engines": { 204 | "node": ">=0.8" 205 | } 206 | }, 207 | "node_modules/astral-regex": { 208 | "version": "2.0.0", 209 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 210 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 211 | "dev": true, 212 | "engines": { 213 | "node": ">=8" 214 | } 215 | }, 216 | "node_modules/async": { 217 | "version": "3.2.5", 218 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", 219 | "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", 220 | "dev": true 221 | }, 222 | "node_modules/asynckit": { 223 | "version": "0.4.0", 224 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 225 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 226 | "dev": true 227 | }, 228 | "node_modules/at-least-node": { 229 | "version": "1.0.0", 230 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", 231 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", 232 | "dev": true, 233 | "engines": { 234 | "node": ">= 4.0.0" 235 | } 236 | }, 237 | "node_modules/aws-sign2": { 238 | "version": "0.7.0", 239 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 240 | "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", 241 | "dev": true, 242 | "engines": { 243 | "node": "*" 244 | } 245 | }, 246 | "node_modules/aws4": { 247 | "version": "1.12.0", 248 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", 249 | "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", 250 | "dev": true 251 | }, 252 | "node_modules/base64-js": { 253 | "version": "1.5.1", 254 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 255 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 256 | "dev": true, 257 | "funding": [ 258 | { 259 | "type": "github", 260 | "url": "https://github.com/sponsors/feross" 261 | }, 262 | { 263 | "type": "patreon", 264 | "url": "https://www.patreon.com/feross" 265 | }, 266 | { 267 | "type": "consulting", 268 | "url": "https://feross.org/support" 269 | } 270 | ] 271 | }, 272 | "node_modules/bcrypt-pbkdf": { 273 | "version": "1.0.2", 274 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 275 | "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", 276 | "dev": true, 277 | "dependencies": { 278 | "tweetnacl": "^0.14.3" 279 | } 280 | }, 281 | "node_modules/blob-util": { 282 | "version": "2.0.2", 283 | "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", 284 | "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", 285 | "dev": true 286 | }, 287 | "node_modules/bluebird": { 288 | "version": "3.7.2", 289 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 290 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 291 | "dev": true 292 | }, 293 | "node_modules/buffer": { 294 | "version": "5.7.1", 295 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 296 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 297 | "dev": true, 298 | "funding": [ 299 | { 300 | "type": "github", 301 | "url": "https://github.com/sponsors/feross" 302 | }, 303 | { 304 | "type": "patreon", 305 | "url": "https://www.patreon.com/feross" 306 | }, 307 | { 308 | "type": "consulting", 309 | "url": "https://feross.org/support" 310 | } 311 | ], 312 | "dependencies": { 313 | "base64-js": "^1.3.1", 314 | "ieee754": "^1.1.13" 315 | } 316 | }, 317 | "node_modules/buffer-crc32": { 318 | "version": "0.2.13", 319 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 320 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 321 | "dev": true, 322 | "engines": { 323 | "node": "*" 324 | } 325 | }, 326 | "node_modules/cachedir": { 327 | "version": "2.4.0", 328 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", 329 | "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", 330 | "dev": true, 331 | "engines": { 332 | "node": ">=6" 333 | } 334 | }, 335 | "node_modules/call-bind": { 336 | "version": "1.0.7", 337 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", 338 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", 339 | "dev": true, 340 | "dependencies": { 341 | "es-define-property": "^1.0.0", 342 | "es-errors": "^1.3.0", 343 | "function-bind": "^1.1.2", 344 | "get-intrinsic": "^1.2.4", 345 | "set-function-length": "^1.2.1" 346 | }, 347 | "engines": { 348 | "node": ">= 0.4" 349 | }, 350 | "funding": { 351 | "url": "https://github.com/sponsors/ljharb" 352 | } 353 | }, 354 | "node_modules/caseless": { 355 | "version": "0.12.0", 356 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 357 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", 358 | "dev": true 359 | }, 360 | "node_modules/chalk": { 361 | "version": "4.1.2", 362 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 363 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 364 | "dev": true, 365 | "dependencies": { 366 | "ansi-styles": "^4.1.0", 367 | "supports-color": "^7.1.0" 368 | }, 369 | "engines": { 370 | "node": ">=10" 371 | }, 372 | "funding": { 373 | "url": "https://github.com/chalk/chalk?sponsor=1" 374 | } 375 | }, 376 | "node_modules/chalk/node_modules/supports-color": { 377 | "version": "7.2.0", 378 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 379 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 380 | "dev": true, 381 | "dependencies": { 382 | "has-flag": "^4.0.0" 383 | }, 384 | "engines": { 385 | "node": ">=8" 386 | } 387 | }, 388 | "node_modules/check-more-types": { 389 | "version": "2.24.0", 390 | "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", 391 | "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", 392 | "dev": true, 393 | "engines": { 394 | "node": ">= 0.8.0" 395 | } 396 | }, 397 | "node_modules/ci-info": { 398 | "version": "3.9.0", 399 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", 400 | "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", 401 | "dev": true, 402 | "funding": [ 403 | { 404 | "type": "github", 405 | "url": "https://github.com/sponsors/sibiraj-s" 406 | } 407 | ], 408 | "engines": { 409 | "node": ">=8" 410 | } 411 | }, 412 | "node_modules/clean-stack": { 413 | "version": "2.2.0", 414 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 415 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 416 | "dev": true, 417 | "engines": { 418 | "node": ">=6" 419 | } 420 | }, 421 | "node_modules/cli-cursor": { 422 | "version": "3.1.0", 423 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 424 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 425 | "dev": true, 426 | "dependencies": { 427 | "restore-cursor": "^3.1.0" 428 | }, 429 | "engines": { 430 | "node": ">=8" 431 | } 432 | }, 433 | "node_modules/cli-table3": { 434 | "version": "0.6.4", 435 | "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", 436 | "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", 437 | "dev": true, 438 | "dependencies": { 439 | "string-width": "^4.2.0" 440 | }, 441 | "engines": { 442 | "node": "10.* || >= 12.*" 443 | }, 444 | "optionalDependencies": { 445 | "@colors/colors": "1.5.0" 446 | } 447 | }, 448 | "node_modules/cli-truncate": { 449 | "version": "2.1.0", 450 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 451 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 452 | "dev": true, 453 | "dependencies": { 454 | "slice-ansi": "^3.0.0", 455 | "string-width": "^4.2.0" 456 | }, 457 | "engines": { 458 | "node": ">=8" 459 | }, 460 | "funding": { 461 | "url": "https://github.com/sponsors/sindresorhus" 462 | } 463 | }, 464 | "node_modules/color-convert": { 465 | "version": "2.0.1", 466 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 467 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 468 | "dev": true, 469 | "dependencies": { 470 | "color-name": "~1.1.4" 471 | }, 472 | "engines": { 473 | "node": ">=7.0.0" 474 | } 475 | }, 476 | "node_modules/color-name": { 477 | "version": "1.1.4", 478 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 479 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 480 | "dev": true 481 | }, 482 | "node_modules/colorette": { 483 | "version": "2.0.20", 484 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 485 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", 486 | "dev": true 487 | }, 488 | "node_modules/combined-stream": { 489 | "version": "1.0.8", 490 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 491 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 492 | "dev": true, 493 | "dependencies": { 494 | "delayed-stream": "~1.0.0" 495 | }, 496 | "engines": { 497 | "node": ">= 0.8" 498 | } 499 | }, 500 | "node_modules/commander": { 501 | "version": "6.2.1", 502 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 503 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 504 | "dev": true, 505 | "engines": { 506 | "node": ">= 6" 507 | } 508 | }, 509 | "node_modules/common-tags": { 510 | "version": "1.8.2", 511 | "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", 512 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", 513 | "dev": true, 514 | "engines": { 515 | "node": ">=4.0.0" 516 | } 517 | }, 518 | "node_modules/core-util-is": { 519 | "version": "1.0.2", 520 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 521 | "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", 522 | "dev": true 523 | }, 524 | "node_modules/cross-spawn": { 525 | "version": "7.0.3", 526 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 527 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 528 | "dev": true, 529 | "dependencies": { 530 | "path-key": "^3.1.0", 531 | "shebang-command": "^2.0.0", 532 | "which": "^2.0.1" 533 | }, 534 | "engines": { 535 | "node": ">= 8" 536 | } 537 | }, 538 | "node_modules/cypress": { 539 | "version": "13.7.2", 540 | "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.2.tgz", 541 | "integrity": "sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==", 542 | "dev": true, 543 | "hasInstallScript": true, 544 | "dependencies": { 545 | "@cypress/request": "^3.0.0", 546 | "@cypress/xvfb": "^1.2.4", 547 | "@types/sinonjs__fake-timers": "8.1.1", 548 | "@types/sizzle": "^2.3.2", 549 | "arch": "^2.2.0", 550 | "blob-util": "^2.0.2", 551 | "bluebird": "^3.7.2", 552 | "buffer": "^5.7.1", 553 | "cachedir": "^2.3.0", 554 | "chalk": "^4.1.0", 555 | "check-more-types": "^2.24.0", 556 | "cli-cursor": "^3.1.0", 557 | "cli-table3": "~0.6.1", 558 | "commander": "^6.2.1", 559 | "common-tags": "^1.8.0", 560 | "dayjs": "^1.10.4", 561 | "debug": "^4.3.4", 562 | "enquirer": "^2.3.6", 563 | "eventemitter2": "6.4.7", 564 | "execa": "4.1.0", 565 | "executable": "^4.1.1", 566 | "extract-zip": "2.0.1", 567 | "figures": "^3.2.0", 568 | "fs-extra": "^9.1.0", 569 | "getos": "^3.2.1", 570 | "is-ci": "^3.0.1", 571 | "is-installed-globally": "~0.4.0", 572 | "lazy-ass": "^1.6.0", 573 | "listr2": "^3.8.3", 574 | "lodash": "^4.17.21", 575 | "log-symbols": "^4.0.0", 576 | "minimist": "^1.2.8", 577 | "ospath": "^1.2.2", 578 | "pretty-bytes": "^5.6.0", 579 | "process": "^0.11.10", 580 | "proxy-from-env": "1.0.0", 581 | "request-progress": "^3.0.0", 582 | "semver": "^7.5.3", 583 | "supports-color": "^8.1.1", 584 | "tmp": "~0.2.1", 585 | "untildify": "^4.0.0", 586 | "yauzl": "^2.10.0" 587 | }, 588 | "bin": { 589 | "cypress": "bin/cypress" 590 | }, 591 | "engines": { 592 | "node": "^16.0.0 || ^18.0.0 || >=20.0.0" 593 | } 594 | }, 595 | "node_modules/dashdash": { 596 | "version": "1.14.1", 597 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 598 | "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", 599 | "dev": true, 600 | "dependencies": { 601 | "assert-plus": "^1.0.0" 602 | }, 603 | "engines": { 604 | "node": ">=0.10" 605 | } 606 | }, 607 | "node_modules/dayjs": { 608 | "version": "1.11.10", 609 | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", 610 | "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", 611 | "dev": true 612 | }, 613 | "node_modules/debug": { 614 | "version": "4.3.4", 615 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 616 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 617 | "dev": true, 618 | "dependencies": { 619 | "ms": "2.1.2" 620 | }, 621 | "engines": { 622 | "node": ">=6.0" 623 | }, 624 | "peerDependenciesMeta": { 625 | "supports-color": { 626 | "optional": true 627 | } 628 | } 629 | }, 630 | "node_modules/define-data-property": { 631 | "version": "1.1.4", 632 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 633 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 634 | "dev": true, 635 | "dependencies": { 636 | "es-define-property": "^1.0.0", 637 | "es-errors": "^1.3.0", 638 | "gopd": "^1.0.1" 639 | }, 640 | "engines": { 641 | "node": ">= 0.4" 642 | }, 643 | "funding": { 644 | "url": "https://github.com/sponsors/ljharb" 645 | } 646 | }, 647 | "node_modules/delayed-stream": { 648 | "version": "1.0.0", 649 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 650 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 651 | "dev": true, 652 | "engines": { 653 | "node": ">=0.4.0" 654 | } 655 | }, 656 | "node_modules/ecc-jsbn": { 657 | "version": "0.1.2", 658 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 659 | "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", 660 | "dev": true, 661 | "dependencies": { 662 | "jsbn": "~0.1.0", 663 | "safer-buffer": "^2.1.0" 664 | } 665 | }, 666 | "node_modules/emoji-regex": { 667 | "version": "8.0.0", 668 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 669 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 670 | "dev": true 671 | }, 672 | "node_modules/end-of-stream": { 673 | "version": "1.4.4", 674 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 675 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 676 | "dev": true, 677 | "dependencies": { 678 | "once": "^1.4.0" 679 | } 680 | }, 681 | "node_modules/enquirer": { 682 | "version": "2.4.1", 683 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", 684 | "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", 685 | "dev": true, 686 | "dependencies": { 687 | "ansi-colors": "^4.1.1", 688 | "strip-ansi": "^6.0.1" 689 | }, 690 | "engines": { 691 | "node": ">=8.6" 692 | } 693 | }, 694 | "node_modules/es-define-property": { 695 | "version": "1.0.0", 696 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", 697 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", 698 | "dev": true, 699 | "dependencies": { 700 | "get-intrinsic": "^1.2.4" 701 | }, 702 | "engines": { 703 | "node": ">= 0.4" 704 | } 705 | }, 706 | "node_modules/es-errors": { 707 | "version": "1.3.0", 708 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 709 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 710 | "dev": true, 711 | "engines": { 712 | "node": ">= 0.4" 713 | } 714 | }, 715 | "node_modules/escape-string-regexp": { 716 | "version": "1.0.5", 717 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 718 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 719 | "dev": true, 720 | "engines": { 721 | "node": ">=0.8.0" 722 | } 723 | }, 724 | "node_modules/eventemitter2": { 725 | "version": "6.4.7", 726 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", 727 | "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", 728 | "dev": true 729 | }, 730 | "node_modules/execa": { 731 | "version": "4.1.0", 732 | "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", 733 | "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", 734 | "dev": true, 735 | "dependencies": { 736 | "cross-spawn": "^7.0.0", 737 | "get-stream": "^5.0.0", 738 | "human-signals": "^1.1.1", 739 | "is-stream": "^2.0.0", 740 | "merge-stream": "^2.0.0", 741 | "npm-run-path": "^4.0.0", 742 | "onetime": "^5.1.0", 743 | "signal-exit": "^3.0.2", 744 | "strip-final-newline": "^2.0.0" 745 | }, 746 | "engines": { 747 | "node": ">=10" 748 | }, 749 | "funding": { 750 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 751 | } 752 | }, 753 | "node_modules/executable": { 754 | "version": "4.1.1", 755 | "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", 756 | "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", 757 | "dev": true, 758 | "dependencies": { 759 | "pify": "^2.2.0" 760 | }, 761 | "engines": { 762 | "node": ">=4" 763 | } 764 | }, 765 | "node_modules/extend": { 766 | "version": "3.0.2", 767 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 768 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 769 | "dev": true 770 | }, 771 | "node_modules/extract-zip": { 772 | "version": "2.0.1", 773 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 774 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 775 | "dev": true, 776 | "dependencies": { 777 | "debug": "^4.1.1", 778 | "get-stream": "^5.1.0", 779 | "yauzl": "^2.10.0" 780 | }, 781 | "bin": { 782 | "extract-zip": "cli.js" 783 | }, 784 | "engines": { 785 | "node": ">= 10.17.0" 786 | }, 787 | "optionalDependencies": { 788 | "@types/yauzl": "^2.9.1" 789 | } 790 | }, 791 | "node_modules/extsprintf": { 792 | "version": "1.3.0", 793 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 794 | "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", 795 | "dev": true, 796 | "engines": [ 797 | "node >=0.6.0" 798 | ] 799 | }, 800 | "node_modules/fd-slicer": { 801 | "version": "1.1.0", 802 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 803 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 804 | "dev": true, 805 | "dependencies": { 806 | "pend": "~1.2.0" 807 | } 808 | }, 809 | "node_modules/figures": { 810 | "version": "3.2.0", 811 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 812 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 813 | "dev": true, 814 | "dependencies": { 815 | "escape-string-regexp": "^1.0.5" 816 | }, 817 | "engines": { 818 | "node": ">=8" 819 | }, 820 | "funding": { 821 | "url": "https://github.com/sponsors/sindresorhus" 822 | } 823 | }, 824 | "node_modules/forever-agent": { 825 | "version": "0.6.1", 826 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 827 | "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", 828 | "dev": true, 829 | "engines": { 830 | "node": "*" 831 | } 832 | }, 833 | "node_modules/form-data": { 834 | "version": "2.3.3", 835 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 836 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 837 | "dev": true, 838 | "dependencies": { 839 | "asynckit": "^0.4.0", 840 | "combined-stream": "^1.0.6", 841 | "mime-types": "^2.1.12" 842 | }, 843 | "engines": { 844 | "node": ">= 0.12" 845 | } 846 | }, 847 | "node_modules/fs-extra": { 848 | "version": "9.1.0", 849 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", 850 | "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", 851 | "dev": true, 852 | "dependencies": { 853 | "at-least-node": "^1.0.0", 854 | "graceful-fs": "^4.2.0", 855 | "jsonfile": "^6.0.1", 856 | "universalify": "^2.0.0" 857 | }, 858 | "engines": { 859 | "node": ">=10" 860 | } 861 | }, 862 | "node_modules/function-bind": { 863 | "version": "1.1.2", 864 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 865 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 866 | "dev": true, 867 | "funding": { 868 | "url": "https://github.com/sponsors/ljharb" 869 | } 870 | }, 871 | "node_modules/get-intrinsic": { 872 | "version": "1.2.4", 873 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", 874 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", 875 | "dev": true, 876 | "dependencies": { 877 | "es-errors": "^1.3.0", 878 | "function-bind": "^1.1.2", 879 | "has-proto": "^1.0.1", 880 | "has-symbols": "^1.0.3", 881 | "hasown": "^2.0.0" 882 | }, 883 | "engines": { 884 | "node": ">= 0.4" 885 | }, 886 | "funding": { 887 | "url": "https://github.com/sponsors/ljharb" 888 | } 889 | }, 890 | "node_modules/get-stream": { 891 | "version": "5.2.0", 892 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 893 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 894 | "dev": true, 895 | "dependencies": { 896 | "pump": "^3.0.0" 897 | }, 898 | "engines": { 899 | "node": ">=8" 900 | }, 901 | "funding": { 902 | "url": "https://github.com/sponsors/sindresorhus" 903 | } 904 | }, 905 | "node_modules/getos": { 906 | "version": "3.2.1", 907 | "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", 908 | "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", 909 | "dev": true, 910 | "dependencies": { 911 | "async": "^3.2.0" 912 | } 913 | }, 914 | "node_modules/getpass": { 915 | "version": "0.1.7", 916 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 917 | "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", 918 | "dev": true, 919 | "dependencies": { 920 | "assert-plus": "^1.0.0" 921 | } 922 | }, 923 | "node_modules/global-dirs": { 924 | "version": "3.0.1", 925 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", 926 | "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", 927 | "dev": true, 928 | "dependencies": { 929 | "ini": "2.0.0" 930 | }, 931 | "engines": { 932 | "node": ">=10" 933 | }, 934 | "funding": { 935 | "url": "https://github.com/sponsors/sindresorhus" 936 | } 937 | }, 938 | "node_modules/gopd": { 939 | "version": "1.0.1", 940 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 941 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 942 | "dev": true, 943 | "dependencies": { 944 | "get-intrinsic": "^1.1.3" 945 | }, 946 | "funding": { 947 | "url": "https://github.com/sponsors/ljharb" 948 | } 949 | }, 950 | "node_modules/graceful-fs": { 951 | "version": "4.2.11", 952 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 953 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 954 | "dev": true 955 | }, 956 | "node_modules/has-flag": { 957 | "version": "4.0.0", 958 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 959 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 960 | "dev": true, 961 | "engines": { 962 | "node": ">=8" 963 | } 964 | }, 965 | "node_modules/has-property-descriptors": { 966 | "version": "1.0.2", 967 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 968 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 969 | "dev": true, 970 | "dependencies": { 971 | "es-define-property": "^1.0.0" 972 | }, 973 | "funding": { 974 | "url": "https://github.com/sponsors/ljharb" 975 | } 976 | }, 977 | "node_modules/has-proto": { 978 | "version": "1.0.3", 979 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", 980 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", 981 | "dev": true, 982 | "engines": { 983 | "node": ">= 0.4" 984 | }, 985 | "funding": { 986 | "url": "https://github.com/sponsors/ljharb" 987 | } 988 | }, 989 | "node_modules/has-symbols": { 990 | "version": "1.0.3", 991 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 992 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 993 | "dev": true, 994 | "engines": { 995 | "node": ">= 0.4" 996 | }, 997 | "funding": { 998 | "url": "https://github.com/sponsors/ljharb" 999 | } 1000 | }, 1001 | "node_modules/hasown": { 1002 | "version": "2.0.2", 1003 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1004 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1005 | "dev": true, 1006 | "dependencies": { 1007 | "function-bind": "^1.1.2" 1008 | }, 1009 | "engines": { 1010 | "node": ">= 0.4" 1011 | } 1012 | }, 1013 | "node_modules/http-signature": { 1014 | "version": "1.3.6", 1015 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", 1016 | "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", 1017 | "dev": true, 1018 | "dependencies": { 1019 | "assert-plus": "^1.0.0", 1020 | "jsprim": "^2.0.2", 1021 | "sshpk": "^1.14.1" 1022 | }, 1023 | "engines": { 1024 | "node": ">=0.10" 1025 | } 1026 | }, 1027 | "node_modules/human-signals": { 1028 | "version": "1.1.1", 1029 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", 1030 | "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", 1031 | "dev": true, 1032 | "engines": { 1033 | "node": ">=8.12.0" 1034 | } 1035 | }, 1036 | "node_modules/ieee754": { 1037 | "version": "1.2.1", 1038 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1039 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1040 | "dev": true, 1041 | "funding": [ 1042 | { 1043 | "type": "github", 1044 | "url": "https://github.com/sponsors/feross" 1045 | }, 1046 | { 1047 | "type": "patreon", 1048 | "url": "https://www.patreon.com/feross" 1049 | }, 1050 | { 1051 | "type": "consulting", 1052 | "url": "https://feross.org/support" 1053 | } 1054 | ] 1055 | }, 1056 | "node_modules/indent-string": { 1057 | "version": "4.0.0", 1058 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1059 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1060 | "dev": true, 1061 | "engines": { 1062 | "node": ">=8" 1063 | } 1064 | }, 1065 | "node_modules/ini": { 1066 | "version": "2.0.0", 1067 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 1068 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", 1069 | "dev": true, 1070 | "engines": { 1071 | "node": ">=10" 1072 | } 1073 | }, 1074 | "node_modules/is-ci": { 1075 | "version": "3.0.1", 1076 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 1077 | "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 1078 | "dev": true, 1079 | "dependencies": { 1080 | "ci-info": "^3.2.0" 1081 | }, 1082 | "bin": { 1083 | "is-ci": "bin.js" 1084 | } 1085 | }, 1086 | "node_modules/is-fullwidth-code-point": { 1087 | "version": "3.0.0", 1088 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1089 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1090 | "dev": true, 1091 | "engines": { 1092 | "node": ">=8" 1093 | } 1094 | }, 1095 | "node_modules/is-installed-globally": { 1096 | "version": "0.4.0", 1097 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 1098 | "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 1099 | "dev": true, 1100 | "dependencies": { 1101 | "global-dirs": "^3.0.0", 1102 | "is-path-inside": "^3.0.2" 1103 | }, 1104 | "engines": { 1105 | "node": ">=10" 1106 | }, 1107 | "funding": { 1108 | "url": "https://github.com/sponsors/sindresorhus" 1109 | } 1110 | }, 1111 | "node_modules/is-path-inside": { 1112 | "version": "3.0.3", 1113 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1114 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1115 | "dev": true, 1116 | "engines": { 1117 | "node": ">=8" 1118 | } 1119 | }, 1120 | "node_modules/is-stream": { 1121 | "version": "2.0.1", 1122 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1123 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1124 | "dev": true, 1125 | "engines": { 1126 | "node": ">=8" 1127 | }, 1128 | "funding": { 1129 | "url": "https://github.com/sponsors/sindresorhus" 1130 | } 1131 | }, 1132 | "node_modules/is-typedarray": { 1133 | "version": "1.0.0", 1134 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1135 | "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", 1136 | "dev": true 1137 | }, 1138 | "node_modules/is-unicode-supported": { 1139 | "version": "0.1.0", 1140 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 1141 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 1142 | "dev": true, 1143 | "engines": { 1144 | "node": ">=10" 1145 | }, 1146 | "funding": { 1147 | "url": "https://github.com/sponsors/sindresorhus" 1148 | } 1149 | }, 1150 | "node_modules/isexe": { 1151 | "version": "2.0.0", 1152 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1153 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1154 | "dev": true 1155 | }, 1156 | "node_modules/isstream": { 1157 | "version": "0.1.2", 1158 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1159 | "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", 1160 | "dev": true 1161 | }, 1162 | "node_modules/jsbn": { 1163 | "version": "0.1.1", 1164 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1165 | "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", 1166 | "dev": true 1167 | }, 1168 | "node_modules/json-schema": { 1169 | "version": "0.4.0", 1170 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 1171 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 1172 | "dev": true 1173 | }, 1174 | "node_modules/json-stringify-safe": { 1175 | "version": "5.0.1", 1176 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1177 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", 1178 | "dev": true 1179 | }, 1180 | "node_modules/jsonfile": { 1181 | "version": "6.1.0", 1182 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1183 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1184 | "dev": true, 1185 | "dependencies": { 1186 | "universalify": "^2.0.0" 1187 | }, 1188 | "optionalDependencies": { 1189 | "graceful-fs": "^4.1.6" 1190 | } 1191 | }, 1192 | "node_modules/jsprim": { 1193 | "version": "2.0.2", 1194 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", 1195 | "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", 1196 | "dev": true, 1197 | "engines": [ 1198 | "node >=0.6.0" 1199 | ], 1200 | "dependencies": { 1201 | "assert-plus": "1.0.0", 1202 | "extsprintf": "1.3.0", 1203 | "json-schema": "0.4.0", 1204 | "verror": "1.10.0" 1205 | } 1206 | }, 1207 | "node_modules/lazy-ass": { 1208 | "version": "1.6.0", 1209 | "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", 1210 | "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", 1211 | "dev": true, 1212 | "engines": { 1213 | "node": "> 0.8" 1214 | } 1215 | }, 1216 | "node_modules/listr2": { 1217 | "version": "3.14.0", 1218 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", 1219 | "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", 1220 | "dev": true, 1221 | "dependencies": { 1222 | "cli-truncate": "^2.1.0", 1223 | "colorette": "^2.0.16", 1224 | "log-update": "^4.0.0", 1225 | "p-map": "^4.0.0", 1226 | "rfdc": "^1.3.0", 1227 | "rxjs": "^7.5.1", 1228 | "through": "^2.3.8", 1229 | "wrap-ansi": "^7.0.0" 1230 | }, 1231 | "engines": { 1232 | "node": ">=10.0.0" 1233 | }, 1234 | "peerDependencies": { 1235 | "enquirer": ">= 2.3.0 < 3" 1236 | }, 1237 | "peerDependenciesMeta": { 1238 | "enquirer": { 1239 | "optional": true 1240 | } 1241 | } 1242 | }, 1243 | "node_modules/lodash": { 1244 | "version": "4.17.21", 1245 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1246 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1247 | "dev": true 1248 | }, 1249 | "node_modules/lodash.once": { 1250 | "version": "4.1.1", 1251 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1252 | "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", 1253 | "dev": true 1254 | }, 1255 | "node_modules/log-symbols": { 1256 | "version": "4.1.0", 1257 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 1258 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 1259 | "dev": true, 1260 | "dependencies": { 1261 | "chalk": "^4.1.0", 1262 | "is-unicode-supported": "^0.1.0" 1263 | }, 1264 | "engines": { 1265 | "node": ">=10" 1266 | }, 1267 | "funding": { 1268 | "url": "https://github.com/sponsors/sindresorhus" 1269 | } 1270 | }, 1271 | "node_modules/log-update": { 1272 | "version": "4.0.0", 1273 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", 1274 | "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", 1275 | "dev": true, 1276 | "dependencies": { 1277 | "ansi-escapes": "^4.3.0", 1278 | "cli-cursor": "^3.1.0", 1279 | "slice-ansi": "^4.0.0", 1280 | "wrap-ansi": "^6.2.0" 1281 | }, 1282 | "engines": { 1283 | "node": ">=10" 1284 | }, 1285 | "funding": { 1286 | "url": "https://github.com/sponsors/sindresorhus" 1287 | } 1288 | }, 1289 | "node_modules/log-update/node_modules/slice-ansi": { 1290 | "version": "4.0.0", 1291 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", 1292 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", 1293 | "dev": true, 1294 | "dependencies": { 1295 | "ansi-styles": "^4.0.0", 1296 | "astral-regex": "^2.0.0", 1297 | "is-fullwidth-code-point": "^3.0.0" 1298 | }, 1299 | "engines": { 1300 | "node": ">=10" 1301 | }, 1302 | "funding": { 1303 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 1304 | } 1305 | }, 1306 | "node_modules/log-update/node_modules/wrap-ansi": { 1307 | "version": "6.2.0", 1308 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 1309 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 1310 | "dev": true, 1311 | "dependencies": { 1312 | "ansi-styles": "^4.0.0", 1313 | "string-width": "^4.1.0", 1314 | "strip-ansi": "^6.0.0" 1315 | }, 1316 | "engines": { 1317 | "node": ">=8" 1318 | } 1319 | }, 1320 | "node_modules/lru-cache": { 1321 | "version": "6.0.0", 1322 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1323 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1324 | "dev": true, 1325 | "dependencies": { 1326 | "yallist": "^4.0.0" 1327 | }, 1328 | "engines": { 1329 | "node": ">=10" 1330 | } 1331 | }, 1332 | "node_modules/merge-stream": { 1333 | "version": "2.0.0", 1334 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1335 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1336 | "dev": true 1337 | }, 1338 | "node_modules/mime-db": { 1339 | "version": "1.52.0", 1340 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1341 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1342 | "dev": true, 1343 | "engines": { 1344 | "node": ">= 0.6" 1345 | } 1346 | }, 1347 | "node_modules/mime-types": { 1348 | "version": "2.1.35", 1349 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1350 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1351 | "dev": true, 1352 | "dependencies": { 1353 | "mime-db": "1.52.0" 1354 | }, 1355 | "engines": { 1356 | "node": ">= 0.6" 1357 | } 1358 | }, 1359 | "node_modules/mimic-fn": { 1360 | "version": "2.1.0", 1361 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1362 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1363 | "dev": true, 1364 | "engines": { 1365 | "node": ">=6" 1366 | } 1367 | }, 1368 | "node_modules/minimist": { 1369 | "version": "1.2.8", 1370 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1371 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1372 | "dev": true, 1373 | "funding": { 1374 | "url": "https://github.com/sponsors/ljharb" 1375 | } 1376 | }, 1377 | "node_modules/ms": { 1378 | "version": "2.1.2", 1379 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1380 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1381 | "dev": true 1382 | }, 1383 | "node_modules/npm-run-path": { 1384 | "version": "4.0.1", 1385 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1386 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1387 | "dev": true, 1388 | "dependencies": { 1389 | "path-key": "^3.0.0" 1390 | }, 1391 | "engines": { 1392 | "node": ">=8" 1393 | } 1394 | }, 1395 | "node_modules/object-inspect": { 1396 | "version": "1.13.1", 1397 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 1398 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 1399 | "dev": true, 1400 | "funding": { 1401 | "url": "https://github.com/sponsors/ljharb" 1402 | } 1403 | }, 1404 | "node_modules/once": { 1405 | "version": "1.4.0", 1406 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1407 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1408 | "dev": true, 1409 | "dependencies": { 1410 | "wrappy": "1" 1411 | } 1412 | }, 1413 | "node_modules/onetime": { 1414 | "version": "5.1.2", 1415 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1416 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1417 | "dev": true, 1418 | "dependencies": { 1419 | "mimic-fn": "^2.1.0" 1420 | }, 1421 | "engines": { 1422 | "node": ">=6" 1423 | }, 1424 | "funding": { 1425 | "url": "https://github.com/sponsors/sindresorhus" 1426 | } 1427 | }, 1428 | "node_modules/ospath": { 1429 | "version": "1.2.2", 1430 | "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", 1431 | "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", 1432 | "dev": true 1433 | }, 1434 | "node_modules/p-map": { 1435 | "version": "4.0.0", 1436 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1437 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1438 | "dev": true, 1439 | "dependencies": { 1440 | "aggregate-error": "^3.0.0" 1441 | }, 1442 | "engines": { 1443 | "node": ">=10" 1444 | }, 1445 | "funding": { 1446 | "url": "https://github.com/sponsors/sindresorhus" 1447 | } 1448 | }, 1449 | "node_modules/path-key": { 1450 | "version": "3.1.1", 1451 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1452 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1453 | "dev": true, 1454 | "engines": { 1455 | "node": ">=8" 1456 | } 1457 | }, 1458 | "node_modules/pend": { 1459 | "version": "1.2.0", 1460 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1461 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", 1462 | "dev": true 1463 | }, 1464 | "node_modules/performance-now": { 1465 | "version": "2.1.0", 1466 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1467 | "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", 1468 | "dev": true 1469 | }, 1470 | "node_modules/pify": { 1471 | "version": "2.3.0", 1472 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1473 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1474 | "dev": true, 1475 | "engines": { 1476 | "node": ">=0.10.0" 1477 | } 1478 | }, 1479 | "node_modules/pretty-bytes": { 1480 | "version": "5.6.0", 1481 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 1482 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 1483 | "dev": true, 1484 | "engines": { 1485 | "node": ">=6" 1486 | }, 1487 | "funding": { 1488 | "url": "https://github.com/sponsors/sindresorhus" 1489 | } 1490 | }, 1491 | "node_modules/process": { 1492 | "version": "0.11.10", 1493 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1494 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1495 | "dev": true, 1496 | "engines": { 1497 | "node": ">= 0.6.0" 1498 | } 1499 | }, 1500 | "node_modules/proxy-from-env": { 1501 | "version": "1.0.0", 1502 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", 1503 | "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", 1504 | "dev": true 1505 | }, 1506 | "node_modules/psl": { 1507 | "version": "1.9.0", 1508 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 1509 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", 1510 | "dev": true 1511 | }, 1512 | "node_modules/pump": { 1513 | "version": "3.0.0", 1514 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1515 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1516 | "dev": true, 1517 | "dependencies": { 1518 | "end-of-stream": "^1.1.0", 1519 | "once": "^1.3.1" 1520 | } 1521 | }, 1522 | "node_modules/punycode": { 1523 | "version": "2.3.1", 1524 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 1525 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 1526 | "dev": true, 1527 | "engines": { 1528 | "node": ">=6" 1529 | } 1530 | }, 1531 | "node_modules/qs": { 1532 | "version": "6.10.4", 1533 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", 1534 | "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", 1535 | "dev": true, 1536 | "dependencies": { 1537 | "side-channel": "^1.0.4" 1538 | }, 1539 | "engines": { 1540 | "node": ">=0.6" 1541 | }, 1542 | "funding": { 1543 | "url": "https://github.com/sponsors/ljharb" 1544 | } 1545 | }, 1546 | "node_modules/querystringify": { 1547 | "version": "2.2.0", 1548 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 1549 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", 1550 | "dev": true 1551 | }, 1552 | "node_modules/request-progress": { 1553 | "version": "3.0.0", 1554 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", 1555 | "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", 1556 | "dev": true, 1557 | "dependencies": { 1558 | "throttleit": "^1.0.0" 1559 | } 1560 | }, 1561 | "node_modules/requires-port": { 1562 | "version": "1.0.0", 1563 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 1564 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", 1565 | "dev": true 1566 | }, 1567 | "node_modules/restore-cursor": { 1568 | "version": "3.1.0", 1569 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1570 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1571 | "dev": true, 1572 | "dependencies": { 1573 | "onetime": "^5.1.0", 1574 | "signal-exit": "^3.0.2" 1575 | }, 1576 | "engines": { 1577 | "node": ">=8" 1578 | } 1579 | }, 1580 | "node_modules/rfdc": { 1581 | "version": "1.3.1", 1582 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", 1583 | "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", 1584 | "dev": true 1585 | }, 1586 | "node_modules/rxjs": { 1587 | "version": "7.8.1", 1588 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", 1589 | "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", 1590 | "dev": true, 1591 | "dependencies": { 1592 | "tslib": "^2.1.0" 1593 | } 1594 | }, 1595 | "node_modules/safe-buffer": { 1596 | "version": "5.2.1", 1597 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1598 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1599 | "dev": true, 1600 | "funding": [ 1601 | { 1602 | "type": "github", 1603 | "url": "https://github.com/sponsors/feross" 1604 | }, 1605 | { 1606 | "type": "patreon", 1607 | "url": "https://www.patreon.com/feross" 1608 | }, 1609 | { 1610 | "type": "consulting", 1611 | "url": "https://feross.org/support" 1612 | } 1613 | ] 1614 | }, 1615 | "node_modules/safer-buffer": { 1616 | "version": "2.1.2", 1617 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1618 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1619 | "dev": true 1620 | }, 1621 | "node_modules/semver": { 1622 | "version": "7.6.0", 1623 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 1624 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 1625 | "dev": true, 1626 | "dependencies": { 1627 | "lru-cache": "^6.0.0" 1628 | }, 1629 | "bin": { 1630 | "semver": "bin/semver.js" 1631 | }, 1632 | "engines": { 1633 | "node": ">=10" 1634 | } 1635 | }, 1636 | "node_modules/set-function-length": { 1637 | "version": "1.2.2", 1638 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 1639 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 1640 | "dev": true, 1641 | "dependencies": { 1642 | "define-data-property": "^1.1.4", 1643 | "es-errors": "^1.3.0", 1644 | "function-bind": "^1.1.2", 1645 | "get-intrinsic": "^1.2.4", 1646 | "gopd": "^1.0.1", 1647 | "has-property-descriptors": "^1.0.2" 1648 | }, 1649 | "engines": { 1650 | "node": ">= 0.4" 1651 | } 1652 | }, 1653 | "node_modules/shebang-command": { 1654 | "version": "2.0.0", 1655 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1656 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1657 | "dev": true, 1658 | "dependencies": { 1659 | "shebang-regex": "^3.0.0" 1660 | }, 1661 | "engines": { 1662 | "node": ">=8" 1663 | } 1664 | }, 1665 | "node_modules/shebang-regex": { 1666 | "version": "3.0.0", 1667 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1668 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1669 | "dev": true, 1670 | "engines": { 1671 | "node": ">=8" 1672 | } 1673 | }, 1674 | "node_modules/side-channel": { 1675 | "version": "1.0.6", 1676 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", 1677 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", 1678 | "dev": true, 1679 | "dependencies": { 1680 | "call-bind": "^1.0.7", 1681 | "es-errors": "^1.3.0", 1682 | "get-intrinsic": "^1.2.4", 1683 | "object-inspect": "^1.13.1" 1684 | }, 1685 | "engines": { 1686 | "node": ">= 0.4" 1687 | }, 1688 | "funding": { 1689 | "url": "https://github.com/sponsors/ljharb" 1690 | } 1691 | }, 1692 | "node_modules/signal-exit": { 1693 | "version": "3.0.7", 1694 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1695 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1696 | "dev": true 1697 | }, 1698 | "node_modules/slice-ansi": { 1699 | "version": "3.0.0", 1700 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 1701 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 1702 | "dev": true, 1703 | "dependencies": { 1704 | "ansi-styles": "^4.0.0", 1705 | "astral-regex": "^2.0.0", 1706 | "is-fullwidth-code-point": "^3.0.0" 1707 | }, 1708 | "engines": { 1709 | "node": ">=8" 1710 | } 1711 | }, 1712 | "node_modules/sshpk": { 1713 | "version": "1.18.0", 1714 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", 1715 | "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", 1716 | "dev": true, 1717 | "dependencies": { 1718 | "asn1": "~0.2.3", 1719 | "assert-plus": "^1.0.0", 1720 | "bcrypt-pbkdf": "^1.0.0", 1721 | "dashdash": "^1.12.0", 1722 | "ecc-jsbn": "~0.1.1", 1723 | "getpass": "^0.1.1", 1724 | "jsbn": "~0.1.0", 1725 | "safer-buffer": "^2.0.2", 1726 | "tweetnacl": "~0.14.0" 1727 | }, 1728 | "bin": { 1729 | "sshpk-conv": "bin/sshpk-conv", 1730 | "sshpk-sign": "bin/sshpk-sign", 1731 | "sshpk-verify": "bin/sshpk-verify" 1732 | }, 1733 | "engines": { 1734 | "node": ">=0.10.0" 1735 | } 1736 | }, 1737 | "node_modules/string-width": { 1738 | "version": "4.2.3", 1739 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1740 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1741 | "dev": true, 1742 | "dependencies": { 1743 | "emoji-regex": "^8.0.0", 1744 | "is-fullwidth-code-point": "^3.0.0", 1745 | "strip-ansi": "^6.0.1" 1746 | }, 1747 | "engines": { 1748 | "node": ">=8" 1749 | } 1750 | }, 1751 | "node_modules/strip-ansi": { 1752 | "version": "6.0.1", 1753 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1754 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1755 | "dev": true, 1756 | "dependencies": { 1757 | "ansi-regex": "^5.0.1" 1758 | }, 1759 | "engines": { 1760 | "node": ">=8" 1761 | } 1762 | }, 1763 | "node_modules/strip-final-newline": { 1764 | "version": "2.0.0", 1765 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 1766 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 1767 | "dev": true, 1768 | "engines": { 1769 | "node": ">=6" 1770 | } 1771 | }, 1772 | "node_modules/supports-color": { 1773 | "version": "8.1.1", 1774 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 1775 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 1776 | "dev": true, 1777 | "dependencies": { 1778 | "has-flag": "^4.0.0" 1779 | }, 1780 | "engines": { 1781 | "node": ">=10" 1782 | }, 1783 | "funding": { 1784 | "url": "https://github.com/chalk/supports-color?sponsor=1" 1785 | } 1786 | }, 1787 | "node_modules/throttleit": { 1788 | "version": "1.0.1", 1789 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", 1790 | "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", 1791 | "dev": true, 1792 | "funding": { 1793 | "url": "https://github.com/sponsors/sindresorhus" 1794 | } 1795 | }, 1796 | "node_modules/through": { 1797 | "version": "2.3.8", 1798 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1799 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", 1800 | "dev": true 1801 | }, 1802 | "node_modules/tmp": { 1803 | "version": "0.2.3", 1804 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", 1805 | "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", 1806 | "dev": true, 1807 | "engines": { 1808 | "node": ">=14.14" 1809 | } 1810 | }, 1811 | "node_modules/tough-cookie": { 1812 | "version": "4.1.3", 1813 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", 1814 | "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", 1815 | "dev": true, 1816 | "dependencies": { 1817 | "psl": "^1.1.33", 1818 | "punycode": "^2.1.1", 1819 | "universalify": "^0.2.0", 1820 | "url-parse": "^1.5.3" 1821 | }, 1822 | "engines": { 1823 | "node": ">=6" 1824 | } 1825 | }, 1826 | "node_modules/tough-cookie/node_modules/universalify": { 1827 | "version": "0.2.0", 1828 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 1829 | "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 1830 | "dev": true, 1831 | "engines": { 1832 | "node": ">= 4.0.0" 1833 | } 1834 | }, 1835 | "node_modules/tslib": { 1836 | "version": "2.6.2", 1837 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1838 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 1839 | "dev": true 1840 | }, 1841 | "node_modules/tunnel-agent": { 1842 | "version": "0.6.0", 1843 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1844 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 1845 | "dev": true, 1846 | "dependencies": { 1847 | "safe-buffer": "^5.0.1" 1848 | }, 1849 | "engines": { 1850 | "node": "*" 1851 | } 1852 | }, 1853 | "node_modules/tweetnacl": { 1854 | "version": "0.14.5", 1855 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1856 | "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", 1857 | "dev": true 1858 | }, 1859 | "node_modules/type-fest": { 1860 | "version": "0.21.3", 1861 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 1862 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 1863 | "dev": true, 1864 | "engines": { 1865 | "node": ">=10" 1866 | }, 1867 | "funding": { 1868 | "url": "https://github.com/sponsors/sindresorhus" 1869 | } 1870 | }, 1871 | "node_modules/undici-types": { 1872 | "version": "5.26.5", 1873 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 1874 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 1875 | "dev": true, 1876 | "optional": true 1877 | }, 1878 | "node_modules/universalify": { 1879 | "version": "2.0.1", 1880 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 1881 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 1882 | "dev": true, 1883 | "engines": { 1884 | "node": ">= 10.0.0" 1885 | } 1886 | }, 1887 | "node_modules/untildify": { 1888 | "version": "4.0.0", 1889 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", 1890 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", 1891 | "dev": true, 1892 | "engines": { 1893 | "node": ">=8" 1894 | } 1895 | }, 1896 | "node_modules/url-parse": { 1897 | "version": "1.5.10", 1898 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 1899 | "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 1900 | "dev": true, 1901 | "dependencies": { 1902 | "querystringify": "^2.1.1", 1903 | "requires-port": "^1.0.0" 1904 | } 1905 | }, 1906 | "node_modules/uuid": { 1907 | "version": "8.3.2", 1908 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 1909 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 1910 | "dev": true, 1911 | "bin": { 1912 | "uuid": "dist/bin/uuid" 1913 | } 1914 | }, 1915 | "node_modules/verror": { 1916 | "version": "1.10.0", 1917 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1918 | "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", 1919 | "dev": true, 1920 | "engines": [ 1921 | "node >=0.6.0" 1922 | ], 1923 | "dependencies": { 1924 | "assert-plus": "^1.0.0", 1925 | "core-util-is": "1.0.2", 1926 | "extsprintf": "^1.2.0" 1927 | } 1928 | }, 1929 | "node_modules/which": { 1930 | "version": "2.0.2", 1931 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1932 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1933 | "dev": true, 1934 | "dependencies": { 1935 | "isexe": "^2.0.0" 1936 | }, 1937 | "bin": { 1938 | "node-which": "bin/node-which" 1939 | }, 1940 | "engines": { 1941 | "node": ">= 8" 1942 | } 1943 | }, 1944 | "node_modules/wrap-ansi": { 1945 | "version": "7.0.0", 1946 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1947 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1948 | "dev": true, 1949 | "dependencies": { 1950 | "ansi-styles": "^4.0.0", 1951 | "string-width": "^4.1.0", 1952 | "strip-ansi": "^6.0.0" 1953 | }, 1954 | "engines": { 1955 | "node": ">=10" 1956 | }, 1957 | "funding": { 1958 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1959 | } 1960 | }, 1961 | "node_modules/wrappy": { 1962 | "version": "1.0.2", 1963 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1964 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1965 | "dev": true 1966 | }, 1967 | "node_modules/yallist": { 1968 | "version": "4.0.0", 1969 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1970 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1971 | "dev": true 1972 | }, 1973 | "node_modules/yauzl": { 1974 | "version": "2.10.0", 1975 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 1976 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", 1977 | "dev": true, 1978 | "dependencies": { 1979 | "buffer-crc32": "~0.2.3", 1980 | "fd-slicer": "~1.1.0" 1981 | } 1982 | } 1983 | } 1984 | } 1985 | -------------------------------------------------------------------------------- /in-class-project/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "in-class-project", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "in-class-project", 9 | "version": "0.0.1", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "cypress": "^13.7.2" 13 | }, 14 | "engines": { 15 | "node": "v20.12.1" 16 | } 17 | }, 18 | "node_modules/@colors/colors": { 19 | "version": "1.5.0", 20 | "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", 21 | "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", 22 | "dev": true, 23 | "optional": true, 24 | "engines": { 25 | "node": ">=0.1.90" 26 | } 27 | }, 28 | "node_modules/@cypress/request": { 29 | "version": "3.0.1", 30 | "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", 31 | "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", 32 | "dev": true, 33 | "dependencies": { 34 | "aws-sign2": "~0.7.0", 35 | "aws4": "^1.8.0", 36 | "caseless": "~0.12.0", 37 | "combined-stream": "~1.0.6", 38 | "extend": "~3.0.2", 39 | "forever-agent": "~0.6.1", 40 | "form-data": "~2.3.2", 41 | "http-signature": "~1.3.6", 42 | "is-typedarray": "~1.0.0", 43 | "isstream": "~0.1.2", 44 | "json-stringify-safe": "~5.0.1", 45 | "mime-types": "~2.1.19", 46 | "performance-now": "^2.1.0", 47 | "qs": "6.10.4", 48 | "safe-buffer": "^5.1.2", 49 | "tough-cookie": "^4.1.3", 50 | "tunnel-agent": "^0.6.0", 51 | "uuid": "^8.3.2" 52 | }, 53 | "engines": { 54 | "node": ">= 6" 55 | } 56 | }, 57 | "node_modules/@cypress/xvfb": { 58 | "version": "1.2.4", 59 | "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", 60 | "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", 61 | "dev": true, 62 | "dependencies": { 63 | "debug": "^3.1.0", 64 | "lodash.once": "^4.1.1" 65 | } 66 | }, 67 | "node_modules/@cypress/xvfb/node_modules/debug": { 68 | "version": "3.2.7", 69 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 70 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 71 | "dev": true, 72 | "dependencies": { 73 | "ms": "^2.1.1" 74 | } 75 | }, 76 | "node_modules/@types/node": { 77 | "version": "20.12.5", 78 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.5.tgz", 79 | "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==", 80 | "dev": true, 81 | "optional": true, 82 | "dependencies": { 83 | "undici-types": "~5.26.4" 84 | } 85 | }, 86 | "node_modules/@types/sinonjs__fake-timers": { 87 | "version": "8.1.1", 88 | "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", 89 | "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", 90 | "dev": true 91 | }, 92 | "node_modules/@types/sizzle": { 93 | "version": "2.3.8", 94 | "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", 95 | "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", 96 | "dev": true 97 | }, 98 | "node_modules/@types/yauzl": { 99 | "version": "2.10.3", 100 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", 101 | "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", 102 | "dev": true, 103 | "optional": true, 104 | "dependencies": { 105 | "@types/node": "*" 106 | } 107 | }, 108 | "node_modules/aggregate-error": { 109 | "version": "3.1.0", 110 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 111 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 112 | "dev": true, 113 | "dependencies": { 114 | "clean-stack": "^2.0.0", 115 | "indent-string": "^4.0.0" 116 | }, 117 | "engines": { 118 | "node": ">=8" 119 | } 120 | }, 121 | "node_modules/ansi-colors": { 122 | "version": "4.1.3", 123 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", 124 | "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", 125 | "dev": true, 126 | "engines": { 127 | "node": ">=6" 128 | } 129 | }, 130 | "node_modules/ansi-escapes": { 131 | "version": "4.3.2", 132 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 133 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 134 | "dev": true, 135 | "dependencies": { 136 | "type-fest": "^0.21.3" 137 | }, 138 | "engines": { 139 | "node": ">=8" 140 | }, 141 | "funding": { 142 | "url": "https://github.com/sponsors/sindresorhus" 143 | } 144 | }, 145 | "node_modules/ansi-regex": { 146 | "version": "5.0.1", 147 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 148 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 149 | "dev": true, 150 | "engines": { 151 | "node": ">=8" 152 | } 153 | }, 154 | "node_modules/ansi-styles": { 155 | "version": "4.3.0", 156 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 157 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 158 | "dev": true, 159 | "dependencies": { 160 | "color-convert": "^2.0.1" 161 | }, 162 | "engines": { 163 | "node": ">=8" 164 | }, 165 | "funding": { 166 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 167 | } 168 | }, 169 | "node_modules/arch": { 170 | "version": "2.2.0", 171 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 172 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 173 | "dev": true, 174 | "funding": [ 175 | { 176 | "type": "github", 177 | "url": "https://github.com/sponsors/feross" 178 | }, 179 | { 180 | "type": "patreon", 181 | "url": "https://www.patreon.com/feross" 182 | }, 183 | { 184 | "type": "consulting", 185 | "url": "https://feross.org/support" 186 | } 187 | ] 188 | }, 189 | "node_modules/asn1": { 190 | "version": "0.2.6", 191 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 192 | "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 193 | "dev": true, 194 | "dependencies": { 195 | "safer-buffer": "~2.1.0" 196 | } 197 | }, 198 | "node_modules/assert-plus": { 199 | "version": "1.0.0", 200 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 201 | "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", 202 | "dev": true, 203 | "engines": { 204 | "node": ">=0.8" 205 | } 206 | }, 207 | "node_modules/astral-regex": { 208 | "version": "2.0.0", 209 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 210 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 211 | "dev": true, 212 | "engines": { 213 | "node": ">=8" 214 | } 215 | }, 216 | "node_modules/async": { 217 | "version": "3.2.5", 218 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", 219 | "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", 220 | "dev": true 221 | }, 222 | "node_modules/asynckit": { 223 | "version": "0.4.0", 224 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 225 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 226 | "dev": true 227 | }, 228 | "node_modules/at-least-node": { 229 | "version": "1.0.0", 230 | "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", 231 | "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", 232 | "dev": true, 233 | "engines": { 234 | "node": ">= 4.0.0" 235 | } 236 | }, 237 | "node_modules/aws-sign2": { 238 | "version": "0.7.0", 239 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 240 | "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", 241 | "dev": true, 242 | "engines": { 243 | "node": "*" 244 | } 245 | }, 246 | "node_modules/aws4": { 247 | "version": "1.12.0", 248 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", 249 | "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", 250 | "dev": true 251 | }, 252 | "node_modules/base64-js": { 253 | "version": "1.5.1", 254 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 255 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 256 | "dev": true, 257 | "funding": [ 258 | { 259 | "type": "github", 260 | "url": "https://github.com/sponsors/feross" 261 | }, 262 | { 263 | "type": "patreon", 264 | "url": "https://www.patreon.com/feross" 265 | }, 266 | { 267 | "type": "consulting", 268 | "url": "https://feross.org/support" 269 | } 270 | ] 271 | }, 272 | "node_modules/bcrypt-pbkdf": { 273 | "version": "1.0.2", 274 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 275 | "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", 276 | "dev": true, 277 | "dependencies": { 278 | "tweetnacl": "^0.14.3" 279 | } 280 | }, 281 | "node_modules/blob-util": { 282 | "version": "2.0.2", 283 | "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", 284 | "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", 285 | "dev": true 286 | }, 287 | "node_modules/bluebird": { 288 | "version": "3.7.2", 289 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 290 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 291 | "dev": true 292 | }, 293 | "node_modules/buffer": { 294 | "version": "5.7.1", 295 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 296 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 297 | "dev": true, 298 | "funding": [ 299 | { 300 | "type": "github", 301 | "url": "https://github.com/sponsors/feross" 302 | }, 303 | { 304 | "type": "patreon", 305 | "url": "https://www.patreon.com/feross" 306 | }, 307 | { 308 | "type": "consulting", 309 | "url": "https://feross.org/support" 310 | } 311 | ], 312 | "dependencies": { 313 | "base64-js": "^1.3.1", 314 | "ieee754": "^1.1.13" 315 | } 316 | }, 317 | "node_modules/buffer-crc32": { 318 | "version": "0.2.13", 319 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 320 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 321 | "dev": true, 322 | "engines": { 323 | "node": "*" 324 | } 325 | }, 326 | "node_modules/cachedir": { 327 | "version": "2.4.0", 328 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", 329 | "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", 330 | "dev": true, 331 | "engines": { 332 | "node": ">=6" 333 | } 334 | }, 335 | "node_modules/call-bind": { 336 | "version": "1.0.7", 337 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", 338 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", 339 | "dev": true, 340 | "dependencies": { 341 | "es-define-property": "^1.0.0", 342 | "es-errors": "^1.3.0", 343 | "function-bind": "^1.1.2", 344 | "get-intrinsic": "^1.2.4", 345 | "set-function-length": "^1.2.1" 346 | }, 347 | "engines": { 348 | "node": ">= 0.4" 349 | }, 350 | "funding": { 351 | "url": "https://github.com/sponsors/ljharb" 352 | } 353 | }, 354 | "node_modules/caseless": { 355 | "version": "0.12.0", 356 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 357 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", 358 | "dev": true 359 | }, 360 | "node_modules/chalk": { 361 | "version": "4.1.2", 362 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 363 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 364 | "dev": true, 365 | "dependencies": { 366 | "ansi-styles": "^4.1.0", 367 | "supports-color": "^7.1.0" 368 | }, 369 | "engines": { 370 | "node": ">=10" 371 | }, 372 | "funding": { 373 | "url": "https://github.com/chalk/chalk?sponsor=1" 374 | } 375 | }, 376 | "node_modules/chalk/node_modules/supports-color": { 377 | "version": "7.2.0", 378 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 379 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 380 | "dev": true, 381 | "dependencies": { 382 | "has-flag": "^4.0.0" 383 | }, 384 | "engines": { 385 | "node": ">=8" 386 | } 387 | }, 388 | "node_modules/check-more-types": { 389 | "version": "2.24.0", 390 | "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", 391 | "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", 392 | "dev": true, 393 | "engines": { 394 | "node": ">= 0.8.0" 395 | } 396 | }, 397 | "node_modules/ci-info": { 398 | "version": "3.9.0", 399 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", 400 | "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", 401 | "dev": true, 402 | "funding": [ 403 | { 404 | "type": "github", 405 | "url": "https://github.com/sponsors/sibiraj-s" 406 | } 407 | ], 408 | "engines": { 409 | "node": ">=8" 410 | } 411 | }, 412 | "node_modules/clean-stack": { 413 | "version": "2.2.0", 414 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 415 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 416 | "dev": true, 417 | "engines": { 418 | "node": ">=6" 419 | } 420 | }, 421 | "node_modules/cli-cursor": { 422 | "version": "3.1.0", 423 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 424 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 425 | "dev": true, 426 | "dependencies": { 427 | "restore-cursor": "^3.1.0" 428 | }, 429 | "engines": { 430 | "node": ">=8" 431 | } 432 | }, 433 | "node_modules/cli-table3": { 434 | "version": "0.6.4", 435 | "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", 436 | "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", 437 | "dev": true, 438 | "dependencies": { 439 | "string-width": "^4.2.0" 440 | }, 441 | "engines": { 442 | "node": "10.* || >= 12.*" 443 | }, 444 | "optionalDependencies": { 445 | "@colors/colors": "1.5.0" 446 | } 447 | }, 448 | "node_modules/cli-truncate": { 449 | "version": "2.1.0", 450 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 451 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 452 | "dev": true, 453 | "dependencies": { 454 | "slice-ansi": "^3.0.0", 455 | "string-width": "^4.2.0" 456 | }, 457 | "engines": { 458 | "node": ">=8" 459 | }, 460 | "funding": { 461 | "url": "https://github.com/sponsors/sindresorhus" 462 | } 463 | }, 464 | "node_modules/color-convert": { 465 | "version": "2.0.1", 466 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 467 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 468 | "dev": true, 469 | "dependencies": { 470 | "color-name": "~1.1.4" 471 | }, 472 | "engines": { 473 | "node": ">=7.0.0" 474 | } 475 | }, 476 | "node_modules/color-name": { 477 | "version": "1.1.4", 478 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 479 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 480 | "dev": true 481 | }, 482 | "node_modules/colorette": { 483 | "version": "2.0.20", 484 | "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", 485 | "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", 486 | "dev": true 487 | }, 488 | "node_modules/combined-stream": { 489 | "version": "1.0.8", 490 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 491 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 492 | "dev": true, 493 | "dependencies": { 494 | "delayed-stream": "~1.0.0" 495 | }, 496 | "engines": { 497 | "node": ">= 0.8" 498 | } 499 | }, 500 | "node_modules/commander": { 501 | "version": "6.2.1", 502 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 503 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 504 | "dev": true, 505 | "engines": { 506 | "node": ">= 6" 507 | } 508 | }, 509 | "node_modules/common-tags": { 510 | "version": "1.8.2", 511 | "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", 512 | "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", 513 | "dev": true, 514 | "engines": { 515 | "node": ">=4.0.0" 516 | } 517 | }, 518 | "node_modules/core-util-is": { 519 | "version": "1.0.2", 520 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 521 | "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", 522 | "dev": true 523 | }, 524 | "node_modules/cross-spawn": { 525 | "version": "7.0.3", 526 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 527 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 528 | "dev": true, 529 | "dependencies": { 530 | "path-key": "^3.1.0", 531 | "shebang-command": "^2.0.0", 532 | "which": "^2.0.1" 533 | }, 534 | "engines": { 535 | "node": ">= 8" 536 | } 537 | }, 538 | "node_modules/cypress": { 539 | "version": "13.7.2", 540 | "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.7.2.tgz", 541 | "integrity": "sha512-FF5hFI5wlRIHY8urLZjJjj/YvfCBrRpglbZCLr/cYcL9MdDe0+5usa8kTIrDHthlEc9lwihbkb5dmwqBDNS2yw==", 542 | "dev": true, 543 | "hasInstallScript": true, 544 | "dependencies": { 545 | "@cypress/request": "^3.0.0", 546 | "@cypress/xvfb": "^1.2.4", 547 | "@types/sinonjs__fake-timers": "8.1.1", 548 | "@types/sizzle": "^2.3.2", 549 | "arch": "^2.2.0", 550 | "blob-util": "^2.0.2", 551 | "bluebird": "^3.7.2", 552 | "buffer": "^5.7.1", 553 | "cachedir": "^2.3.0", 554 | "chalk": "^4.1.0", 555 | "check-more-types": "^2.24.0", 556 | "cli-cursor": "^3.1.0", 557 | "cli-table3": "~0.6.1", 558 | "commander": "^6.2.1", 559 | "common-tags": "^1.8.0", 560 | "dayjs": "^1.10.4", 561 | "debug": "^4.3.4", 562 | "enquirer": "^2.3.6", 563 | "eventemitter2": "6.4.7", 564 | "execa": "4.1.0", 565 | "executable": "^4.1.1", 566 | "extract-zip": "2.0.1", 567 | "figures": "^3.2.0", 568 | "fs-extra": "^9.1.0", 569 | "getos": "^3.2.1", 570 | "is-ci": "^3.0.1", 571 | "is-installed-globally": "~0.4.0", 572 | "lazy-ass": "^1.6.0", 573 | "listr2": "^3.8.3", 574 | "lodash": "^4.17.21", 575 | "log-symbols": "^4.0.0", 576 | "minimist": "^1.2.8", 577 | "ospath": "^1.2.2", 578 | "pretty-bytes": "^5.6.0", 579 | "process": "^0.11.10", 580 | "proxy-from-env": "1.0.0", 581 | "request-progress": "^3.0.0", 582 | "semver": "^7.5.3", 583 | "supports-color": "^8.1.1", 584 | "tmp": "~0.2.1", 585 | "untildify": "^4.0.0", 586 | "yauzl": "^2.10.0" 587 | }, 588 | "bin": { 589 | "cypress": "bin/cypress" 590 | }, 591 | "engines": { 592 | "node": "^16.0.0 || ^18.0.0 || >=20.0.0" 593 | } 594 | }, 595 | "node_modules/dashdash": { 596 | "version": "1.14.1", 597 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 598 | "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", 599 | "dev": true, 600 | "dependencies": { 601 | "assert-plus": "^1.0.0" 602 | }, 603 | "engines": { 604 | "node": ">=0.10" 605 | } 606 | }, 607 | "node_modules/dayjs": { 608 | "version": "1.11.10", 609 | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", 610 | "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", 611 | "dev": true 612 | }, 613 | "node_modules/debug": { 614 | "version": "4.3.4", 615 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 616 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 617 | "dev": true, 618 | "dependencies": { 619 | "ms": "2.1.2" 620 | }, 621 | "engines": { 622 | "node": ">=6.0" 623 | }, 624 | "peerDependenciesMeta": { 625 | "supports-color": { 626 | "optional": true 627 | } 628 | } 629 | }, 630 | "node_modules/define-data-property": { 631 | "version": "1.1.4", 632 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 633 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 634 | "dev": true, 635 | "dependencies": { 636 | "es-define-property": "^1.0.0", 637 | "es-errors": "^1.3.0", 638 | "gopd": "^1.0.1" 639 | }, 640 | "engines": { 641 | "node": ">= 0.4" 642 | }, 643 | "funding": { 644 | "url": "https://github.com/sponsors/ljharb" 645 | } 646 | }, 647 | "node_modules/delayed-stream": { 648 | "version": "1.0.0", 649 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 650 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 651 | "dev": true, 652 | "engines": { 653 | "node": ">=0.4.0" 654 | } 655 | }, 656 | "node_modules/ecc-jsbn": { 657 | "version": "0.1.2", 658 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 659 | "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", 660 | "dev": true, 661 | "dependencies": { 662 | "jsbn": "~0.1.0", 663 | "safer-buffer": "^2.1.0" 664 | } 665 | }, 666 | "node_modules/emoji-regex": { 667 | "version": "8.0.0", 668 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 669 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 670 | "dev": true 671 | }, 672 | "node_modules/end-of-stream": { 673 | "version": "1.4.4", 674 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 675 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 676 | "dev": true, 677 | "dependencies": { 678 | "once": "^1.4.0" 679 | } 680 | }, 681 | "node_modules/enquirer": { 682 | "version": "2.4.1", 683 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", 684 | "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", 685 | "dev": true, 686 | "dependencies": { 687 | "ansi-colors": "^4.1.1", 688 | "strip-ansi": "^6.0.1" 689 | }, 690 | "engines": { 691 | "node": ">=8.6" 692 | } 693 | }, 694 | "node_modules/es-define-property": { 695 | "version": "1.0.0", 696 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", 697 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", 698 | "dev": true, 699 | "dependencies": { 700 | "get-intrinsic": "^1.2.4" 701 | }, 702 | "engines": { 703 | "node": ">= 0.4" 704 | } 705 | }, 706 | "node_modules/es-errors": { 707 | "version": "1.3.0", 708 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 709 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 710 | "dev": true, 711 | "engines": { 712 | "node": ">= 0.4" 713 | } 714 | }, 715 | "node_modules/escape-string-regexp": { 716 | "version": "1.0.5", 717 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 718 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 719 | "dev": true, 720 | "engines": { 721 | "node": ">=0.8.0" 722 | } 723 | }, 724 | "node_modules/eventemitter2": { 725 | "version": "6.4.7", 726 | "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", 727 | "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", 728 | "dev": true 729 | }, 730 | "node_modules/execa": { 731 | "version": "4.1.0", 732 | "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", 733 | "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", 734 | "dev": true, 735 | "dependencies": { 736 | "cross-spawn": "^7.0.0", 737 | "get-stream": "^5.0.0", 738 | "human-signals": "^1.1.1", 739 | "is-stream": "^2.0.0", 740 | "merge-stream": "^2.0.0", 741 | "npm-run-path": "^4.0.0", 742 | "onetime": "^5.1.0", 743 | "signal-exit": "^3.0.2", 744 | "strip-final-newline": "^2.0.0" 745 | }, 746 | "engines": { 747 | "node": ">=10" 748 | }, 749 | "funding": { 750 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 751 | } 752 | }, 753 | "node_modules/executable": { 754 | "version": "4.1.1", 755 | "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", 756 | "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", 757 | "dev": true, 758 | "dependencies": { 759 | "pify": "^2.2.0" 760 | }, 761 | "engines": { 762 | "node": ">=4" 763 | } 764 | }, 765 | "node_modules/extend": { 766 | "version": "3.0.2", 767 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 768 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 769 | "dev": true 770 | }, 771 | "node_modules/extract-zip": { 772 | "version": "2.0.1", 773 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 774 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 775 | "dev": true, 776 | "dependencies": { 777 | "debug": "^4.1.1", 778 | "get-stream": "^5.1.0", 779 | "yauzl": "^2.10.0" 780 | }, 781 | "bin": { 782 | "extract-zip": "cli.js" 783 | }, 784 | "engines": { 785 | "node": ">= 10.17.0" 786 | }, 787 | "optionalDependencies": { 788 | "@types/yauzl": "^2.9.1" 789 | } 790 | }, 791 | "node_modules/extsprintf": { 792 | "version": "1.3.0", 793 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 794 | "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", 795 | "dev": true, 796 | "engines": [ 797 | "node >=0.6.0" 798 | ] 799 | }, 800 | "node_modules/fd-slicer": { 801 | "version": "1.1.0", 802 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 803 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 804 | "dev": true, 805 | "dependencies": { 806 | "pend": "~1.2.0" 807 | } 808 | }, 809 | "node_modules/figures": { 810 | "version": "3.2.0", 811 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 812 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 813 | "dev": true, 814 | "dependencies": { 815 | "escape-string-regexp": "^1.0.5" 816 | }, 817 | "engines": { 818 | "node": ">=8" 819 | }, 820 | "funding": { 821 | "url": "https://github.com/sponsors/sindresorhus" 822 | } 823 | }, 824 | "node_modules/forever-agent": { 825 | "version": "0.6.1", 826 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 827 | "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", 828 | "dev": true, 829 | "engines": { 830 | "node": "*" 831 | } 832 | }, 833 | "node_modules/form-data": { 834 | "version": "2.3.3", 835 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 836 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 837 | "dev": true, 838 | "dependencies": { 839 | "asynckit": "^0.4.0", 840 | "combined-stream": "^1.0.6", 841 | "mime-types": "^2.1.12" 842 | }, 843 | "engines": { 844 | "node": ">= 0.12" 845 | } 846 | }, 847 | "node_modules/fs-extra": { 848 | "version": "9.1.0", 849 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", 850 | "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", 851 | "dev": true, 852 | "dependencies": { 853 | "at-least-node": "^1.0.0", 854 | "graceful-fs": "^4.2.0", 855 | "jsonfile": "^6.0.1", 856 | "universalify": "^2.0.0" 857 | }, 858 | "engines": { 859 | "node": ">=10" 860 | } 861 | }, 862 | "node_modules/function-bind": { 863 | "version": "1.1.2", 864 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 865 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 866 | "dev": true, 867 | "funding": { 868 | "url": "https://github.com/sponsors/ljharb" 869 | } 870 | }, 871 | "node_modules/get-intrinsic": { 872 | "version": "1.2.4", 873 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", 874 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", 875 | "dev": true, 876 | "dependencies": { 877 | "es-errors": "^1.3.0", 878 | "function-bind": "^1.1.2", 879 | "has-proto": "^1.0.1", 880 | "has-symbols": "^1.0.3", 881 | "hasown": "^2.0.0" 882 | }, 883 | "engines": { 884 | "node": ">= 0.4" 885 | }, 886 | "funding": { 887 | "url": "https://github.com/sponsors/ljharb" 888 | } 889 | }, 890 | "node_modules/get-stream": { 891 | "version": "5.2.0", 892 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 893 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 894 | "dev": true, 895 | "dependencies": { 896 | "pump": "^3.0.0" 897 | }, 898 | "engines": { 899 | "node": ">=8" 900 | }, 901 | "funding": { 902 | "url": "https://github.com/sponsors/sindresorhus" 903 | } 904 | }, 905 | "node_modules/getos": { 906 | "version": "3.2.1", 907 | "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", 908 | "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", 909 | "dev": true, 910 | "dependencies": { 911 | "async": "^3.2.0" 912 | } 913 | }, 914 | "node_modules/getpass": { 915 | "version": "0.1.7", 916 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 917 | "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", 918 | "dev": true, 919 | "dependencies": { 920 | "assert-plus": "^1.0.0" 921 | } 922 | }, 923 | "node_modules/global-dirs": { 924 | "version": "3.0.1", 925 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", 926 | "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", 927 | "dev": true, 928 | "dependencies": { 929 | "ini": "2.0.0" 930 | }, 931 | "engines": { 932 | "node": ">=10" 933 | }, 934 | "funding": { 935 | "url": "https://github.com/sponsors/sindresorhus" 936 | } 937 | }, 938 | "node_modules/gopd": { 939 | "version": "1.0.1", 940 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 941 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 942 | "dev": true, 943 | "dependencies": { 944 | "get-intrinsic": "^1.1.3" 945 | }, 946 | "funding": { 947 | "url": "https://github.com/sponsors/ljharb" 948 | } 949 | }, 950 | "node_modules/graceful-fs": { 951 | "version": "4.2.11", 952 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 953 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 954 | "dev": true 955 | }, 956 | "node_modules/has-flag": { 957 | "version": "4.0.0", 958 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 959 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 960 | "dev": true, 961 | "engines": { 962 | "node": ">=8" 963 | } 964 | }, 965 | "node_modules/has-property-descriptors": { 966 | "version": "1.0.2", 967 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 968 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 969 | "dev": true, 970 | "dependencies": { 971 | "es-define-property": "^1.0.0" 972 | }, 973 | "funding": { 974 | "url": "https://github.com/sponsors/ljharb" 975 | } 976 | }, 977 | "node_modules/has-proto": { 978 | "version": "1.0.3", 979 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", 980 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", 981 | "dev": true, 982 | "engines": { 983 | "node": ">= 0.4" 984 | }, 985 | "funding": { 986 | "url": "https://github.com/sponsors/ljharb" 987 | } 988 | }, 989 | "node_modules/has-symbols": { 990 | "version": "1.0.3", 991 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 992 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 993 | "dev": true, 994 | "engines": { 995 | "node": ">= 0.4" 996 | }, 997 | "funding": { 998 | "url": "https://github.com/sponsors/ljharb" 999 | } 1000 | }, 1001 | "node_modules/hasown": { 1002 | "version": "2.0.2", 1003 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1004 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1005 | "dev": true, 1006 | "dependencies": { 1007 | "function-bind": "^1.1.2" 1008 | }, 1009 | "engines": { 1010 | "node": ">= 0.4" 1011 | } 1012 | }, 1013 | "node_modules/http-signature": { 1014 | "version": "1.3.6", 1015 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", 1016 | "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", 1017 | "dev": true, 1018 | "dependencies": { 1019 | "assert-plus": "^1.0.0", 1020 | "jsprim": "^2.0.2", 1021 | "sshpk": "^1.14.1" 1022 | }, 1023 | "engines": { 1024 | "node": ">=0.10" 1025 | } 1026 | }, 1027 | "node_modules/human-signals": { 1028 | "version": "1.1.1", 1029 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", 1030 | "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", 1031 | "dev": true, 1032 | "engines": { 1033 | "node": ">=8.12.0" 1034 | } 1035 | }, 1036 | "node_modules/ieee754": { 1037 | "version": "1.2.1", 1038 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1039 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1040 | "dev": true, 1041 | "funding": [ 1042 | { 1043 | "type": "github", 1044 | "url": "https://github.com/sponsors/feross" 1045 | }, 1046 | { 1047 | "type": "patreon", 1048 | "url": "https://www.patreon.com/feross" 1049 | }, 1050 | { 1051 | "type": "consulting", 1052 | "url": "https://feross.org/support" 1053 | } 1054 | ] 1055 | }, 1056 | "node_modules/indent-string": { 1057 | "version": "4.0.0", 1058 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1059 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1060 | "dev": true, 1061 | "engines": { 1062 | "node": ">=8" 1063 | } 1064 | }, 1065 | "node_modules/ini": { 1066 | "version": "2.0.0", 1067 | "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 1068 | "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", 1069 | "dev": true, 1070 | "engines": { 1071 | "node": ">=10" 1072 | } 1073 | }, 1074 | "node_modules/is-ci": { 1075 | "version": "3.0.1", 1076 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 1077 | "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 1078 | "dev": true, 1079 | "dependencies": { 1080 | "ci-info": "^3.2.0" 1081 | }, 1082 | "bin": { 1083 | "is-ci": "bin.js" 1084 | } 1085 | }, 1086 | "node_modules/is-fullwidth-code-point": { 1087 | "version": "3.0.0", 1088 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1089 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1090 | "dev": true, 1091 | "engines": { 1092 | "node": ">=8" 1093 | } 1094 | }, 1095 | "node_modules/is-installed-globally": { 1096 | "version": "0.4.0", 1097 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 1098 | "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 1099 | "dev": true, 1100 | "dependencies": { 1101 | "global-dirs": "^3.0.0", 1102 | "is-path-inside": "^3.0.2" 1103 | }, 1104 | "engines": { 1105 | "node": ">=10" 1106 | }, 1107 | "funding": { 1108 | "url": "https://github.com/sponsors/sindresorhus" 1109 | } 1110 | }, 1111 | "node_modules/is-path-inside": { 1112 | "version": "3.0.3", 1113 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1114 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1115 | "dev": true, 1116 | "engines": { 1117 | "node": ">=8" 1118 | } 1119 | }, 1120 | "node_modules/is-stream": { 1121 | "version": "2.0.1", 1122 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1123 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1124 | "dev": true, 1125 | "engines": { 1126 | "node": ">=8" 1127 | }, 1128 | "funding": { 1129 | "url": "https://github.com/sponsors/sindresorhus" 1130 | } 1131 | }, 1132 | "node_modules/is-typedarray": { 1133 | "version": "1.0.0", 1134 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1135 | "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", 1136 | "dev": true 1137 | }, 1138 | "node_modules/is-unicode-supported": { 1139 | "version": "0.1.0", 1140 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 1141 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 1142 | "dev": true, 1143 | "engines": { 1144 | "node": ">=10" 1145 | }, 1146 | "funding": { 1147 | "url": "https://github.com/sponsors/sindresorhus" 1148 | } 1149 | }, 1150 | "node_modules/isexe": { 1151 | "version": "2.0.0", 1152 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1153 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1154 | "dev": true 1155 | }, 1156 | "node_modules/isstream": { 1157 | "version": "0.1.2", 1158 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1159 | "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", 1160 | "dev": true 1161 | }, 1162 | "node_modules/jsbn": { 1163 | "version": "0.1.1", 1164 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1165 | "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", 1166 | "dev": true 1167 | }, 1168 | "node_modules/json-schema": { 1169 | "version": "0.4.0", 1170 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", 1171 | "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", 1172 | "dev": true 1173 | }, 1174 | "node_modules/json-stringify-safe": { 1175 | "version": "5.0.1", 1176 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1177 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", 1178 | "dev": true 1179 | }, 1180 | "node_modules/jsonfile": { 1181 | "version": "6.1.0", 1182 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 1183 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 1184 | "dev": true, 1185 | "dependencies": { 1186 | "universalify": "^2.0.0" 1187 | }, 1188 | "optionalDependencies": { 1189 | "graceful-fs": "^4.1.6" 1190 | } 1191 | }, 1192 | "node_modules/jsprim": { 1193 | "version": "2.0.2", 1194 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", 1195 | "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", 1196 | "dev": true, 1197 | "engines": [ 1198 | "node >=0.6.0" 1199 | ], 1200 | "dependencies": { 1201 | "assert-plus": "1.0.0", 1202 | "extsprintf": "1.3.0", 1203 | "json-schema": "0.4.0", 1204 | "verror": "1.10.0" 1205 | } 1206 | }, 1207 | "node_modules/lazy-ass": { 1208 | "version": "1.6.0", 1209 | "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", 1210 | "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", 1211 | "dev": true, 1212 | "engines": { 1213 | "node": "> 0.8" 1214 | } 1215 | }, 1216 | "node_modules/listr2": { 1217 | "version": "3.14.0", 1218 | "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", 1219 | "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", 1220 | "dev": true, 1221 | "dependencies": { 1222 | "cli-truncate": "^2.1.0", 1223 | "colorette": "^2.0.16", 1224 | "log-update": "^4.0.0", 1225 | "p-map": "^4.0.0", 1226 | "rfdc": "^1.3.0", 1227 | "rxjs": "^7.5.1", 1228 | "through": "^2.3.8", 1229 | "wrap-ansi": "^7.0.0" 1230 | }, 1231 | "engines": { 1232 | "node": ">=10.0.0" 1233 | }, 1234 | "peerDependencies": { 1235 | "enquirer": ">= 2.3.0 < 3" 1236 | }, 1237 | "peerDependenciesMeta": { 1238 | "enquirer": { 1239 | "optional": true 1240 | } 1241 | } 1242 | }, 1243 | "node_modules/lodash": { 1244 | "version": "4.17.21", 1245 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1246 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1247 | "dev": true 1248 | }, 1249 | "node_modules/lodash.once": { 1250 | "version": "4.1.1", 1251 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1252 | "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", 1253 | "dev": true 1254 | }, 1255 | "node_modules/log-symbols": { 1256 | "version": "4.1.0", 1257 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 1258 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 1259 | "dev": true, 1260 | "dependencies": { 1261 | "chalk": "^4.1.0", 1262 | "is-unicode-supported": "^0.1.0" 1263 | }, 1264 | "engines": { 1265 | "node": ">=10" 1266 | }, 1267 | "funding": { 1268 | "url": "https://github.com/sponsors/sindresorhus" 1269 | } 1270 | }, 1271 | "node_modules/log-update": { 1272 | "version": "4.0.0", 1273 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", 1274 | "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", 1275 | "dev": true, 1276 | "dependencies": { 1277 | "ansi-escapes": "^4.3.0", 1278 | "cli-cursor": "^3.1.0", 1279 | "slice-ansi": "^4.0.0", 1280 | "wrap-ansi": "^6.2.0" 1281 | }, 1282 | "engines": { 1283 | "node": ">=10" 1284 | }, 1285 | "funding": { 1286 | "url": "https://github.com/sponsors/sindresorhus" 1287 | } 1288 | }, 1289 | "node_modules/log-update/node_modules/slice-ansi": { 1290 | "version": "4.0.0", 1291 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", 1292 | "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", 1293 | "dev": true, 1294 | "dependencies": { 1295 | "ansi-styles": "^4.0.0", 1296 | "astral-regex": "^2.0.0", 1297 | "is-fullwidth-code-point": "^3.0.0" 1298 | }, 1299 | "engines": { 1300 | "node": ">=10" 1301 | }, 1302 | "funding": { 1303 | "url": "https://github.com/chalk/slice-ansi?sponsor=1" 1304 | } 1305 | }, 1306 | "node_modules/log-update/node_modules/wrap-ansi": { 1307 | "version": "6.2.0", 1308 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 1309 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 1310 | "dev": true, 1311 | "dependencies": { 1312 | "ansi-styles": "^4.0.0", 1313 | "string-width": "^4.1.0", 1314 | "strip-ansi": "^6.0.0" 1315 | }, 1316 | "engines": { 1317 | "node": ">=8" 1318 | } 1319 | }, 1320 | "node_modules/lru-cache": { 1321 | "version": "6.0.0", 1322 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1323 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1324 | "dev": true, 1325 | "dependencies": { 1326 | "yallist": "^4.0.0" 1327 | }, 1328 | "engines": { 1329 | "node": ">=10" 1330 | } 1331 | }, 1332 | "node_modules/merge-stream": { 1333 | "version": "2.0.0", 1334 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1335 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1336 | "dev": true 1337 | }, 1338 | "node_modules/mime-db": { 1339 | "version": "1.52.0", 1340 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1341 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1342 | "dev": true, 1343 | "engines": { 1344 | "node": ">= 0.6" 1345 | } 1346 | }, 1347 | "node_modules/mime-types": { 1348 | "version": "2.1.35", 1349 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1350 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1351 | "dev": true, 1352 | "dependencies": { 1353 | "mime-db": "1.52.0" 1354 | }, 1355 | "engines": { 1356 | "node": ">= 0.6" 1357 | } 1358 | }, 1359 | "node_modules/mimic-fn": { 1360 | "version": "2.1.0", 1361 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1362 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1363 | "dev": true, 1364 | "engines": { 1365 | "node": ">=6" 1366 | } 1367 | }, 1368 | "node_modules/minimist": { 1369 | "version": "1.2.8", 1370 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1371 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1372 | "dev": true, 1373 | "funding": { 1374 | "url": "https://github.com/sponsors/ljharb" 1375 | } 1376 | }, 1377 | "node_modules/ms": { 1378 | "version": "2.1.2", 1379 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1380 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1381 | "dev": true 1382 | }, 1383 | "node_modules/npm-run-path": { 1384 | "version": "4.0.1", 1385 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1386 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1387 | "dev": true, 1388 | "dependencies": { 1389 | "path-key": "^3.0.0" 1390 | }, 1391 | "engines": { 1392 | "node": ">=8" 1393 | } 1394 | }, 1395 | "node_modules/object-inspect": { 1396 | "version": "1.13.1", 1397 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 1398 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 1399 | "dev": true, 1400 | "funding": { 1401 | "url": "https://github.com/sponsors/ljharb" 1402 | } 1403 | }, 1404 | "node_modules/once": { 1405 | "version": "1.4.0", 1406 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1407 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1408 | "dev": true, 1409 | "dependencies": { 1410 | "wrappy": "1" 1411 | } 1412 | }, 1413 | "node_modules/onetime": { 1414 | "version": "5.1.2", 1415 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1416 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1417 | "dev": true, 1418 | "dependencies": { 1419 | "mimic-fn": "^2.1.0" 1420 | }, 1421 | "engines": { 1422 | "node": ">=6" 1423 | }, 1424 | "funding": { 1425 | "url": "https://github.com/sponsors/sindresorhus" 1426 | } 1427 | }, 1428 | "node_modules/ospath": { 1429 | "version": "1.2.2", 1430 | "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", 1431 | "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", 1432 | "dev": true 1433 | }, 1434 | "node_modules/p-map": { 1435 | "version": "4.0.0", 1436 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1437 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1438 | "dev": true, 1439 | "dependencies": { 1440 | "aggregate-error": "^3.0.0" 1441 | }, 1442 | "engines": { 1443 | "node": ">=10" 1444 | }, 1445 | "funding": { 1446 | "url": "https://github.com/sponsors/sindresorhus" 1447 | } 1448 | }, 1449 | "node_modules/path-key": { 1450 | "version": "3.1.1", 1451 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1452 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1453 | "dev": true, 1454 | "engines": { 1455 | "node": ">=8" 1456 | } 1457 | }, 1458 | "node_modules/pend": { 1459 | "version": "1.2.0", 1460 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1461 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", 1462 | "dev": true 1463 | }, 1464 | "node_modules/performance-now": { 1465 | "version": "2.1.0", 1466 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1467 | "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", 1468 | "dev": true 1469 | }, 1470 | "node_modules/pify": { 1471 | "version": "2.3.0", 1472 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1473 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1474 | "dev": true, 1475 | "engines": { 1476 | "node": ">=0.10.0" 1477 | } 1478 | }, 1479 | "node_modules/pretty-bytes": { 1480 | "version": "5.6.0", 1481 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 1482 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 1483 | "dev": true, 1484 | "engines": { 1485 | "node": ">=6" 1486 | }, 1487 | "funding": { 1488 | "url": "https://github.com/sponsors/sindresorhus" 1489 | } 1490 | }, 1491 | "node_modules/process": { 1492 | "version": "0.11.10", 1493 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1494 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1495 | "dev": true, 1496 | "engines": { 1497 | "node": ">= 0.6.0" 1498 | } 1499 | }, 1500 | "node_modules/proxy-from-env": { 1501 | "version": "1.0.0", 1502 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", 1503 | "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", 1504 | "dev": true 1505 | }, 1506 | "node_modules/psl": { 1507 | "version": "1.9.0", 1508 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 1509 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", 1510 | "dev": true 1511 | }, 1512 | "node_modules/pump": { 1513 | "version": "3.0.0", 1514 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1515 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1516 | "dev": true, 1517 | "dependencies": { 1518 | "end-of-stream": "^1.1.0", 1519 | "once": "^1.3.1" 1520 | } 1521 | }, 1522 | "node_modules/punycode": { 1523 | "version": "2.3.1", 1524 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 1525 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 1526 | "dev": true, 1527 | "engines": { 1528 | "node": ">=6" 1529 | } 1530 | }, 1531 | "node_modules/qs": { 1532 | "version": "6.10.4", 1533 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", 1534 | "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", 1535 | "dev": true, 1536 | "dependencies": { 1537 | "side-channel": "^1.0.4" 1538 | }, 1539 | "engines": { 1540 | "node": ">=0.6" 1541 | }, 1542 | "funding": { 1543 | "url": "https://github.com/sponsors/ljharb" 1544 | } 1545 | }, 1546 | "node_modules/querystringify": { 1547 | "version": "2.2.0", 1548 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", 1549 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", 1550 | "dev": true 1551 | }, 1552 | "node_modules/request-progress": { 1553 | "version": "3.0.0", 1554 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", 1555 | "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", 1556 | "dev": true, 1557 | "dependencies": { 1558 | "throttleit": "^1.0.0" 1559 | } 1560 | }, 1561 | "node_modules/requires-port": { 1562 | "version": "1.0.0", 1563 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 1564 | "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", 1565 | "dev": true 1566 | }, 1567 | "node_modules/restore-cursor": { 1568 | "version": "3.1.0", 1569 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1570 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1571 | "dev": true, 1572 | "dependencies": { 1573 | "onetime": "^5.1.0", 1574 | "signal-exit": "^3.0.2" 1575 | }, 1576 | "engines": { 1577 | "node": ">=8" 1578 | } 1579 | }, 1580 | "node_modules/rfdc": { 1581 | "version": "1.3.1", 1582 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", 1583 | "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", 1584 | "dev": true 1585 | }, 1586 | "node_modules/rxjs": { 1587 | "version": "7.8.1", 1588 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", 1589 | "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", 1590 | "dev": true, 1591 | "dependencies": { 1592 | "tslib": "^2.1.0" 1593 | } 1594 | }, 1595 | "node_modules/safe-buffer": { 1596 | "version": "5.2.1", 1597 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1598 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1599 | "dev": true, 1600 | "funding": [ 1601 | { 1602 | "type": "github", 1603 | "url": "https://github.com/sponsors/feross" 1604 | }, 1605 | { 1606 | "type": "patreon", 1607 | "url": "https://www.patreon.com/feross" 1608 | }, 1609 | { 1610 | "type": "consulting", 1611 | "url": "https://feross.org/support" 1612 | } 1613 | ] 1614 | }, 1615 | "node_modules/safer-buffer": { 1616 | "version": "2.1.2", 1617 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1618 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1619 | "dev": true 1620 | }, 1621 | "node_modules/semver": { 1622 | "version": "7.6.0", 1623 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 1624 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 1625 | "dev": true, 1626 | "dependencies": { 1627 | "lru-cache": "^6.0.0" 1628 | }, 1629 | "bin": { 1630 | "semver": "bin/semver.js" 1631 | }, 1632 | "engines": { 1633 | "node": ">=10" 1634 | } 1635 | }, 1636 | "node_modules/set-function-length": { 1637 | "version": "1.2.2", 1638 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 1639 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 1640 | "dev": true, 1641 | "dependencies": { 1642 | "define-data-property": "^1.1.4", 1643 | "es-errors": "^1.3.0", 1644 | "function-bind": "^1.1.2", 1645 | "get-intrinsic": "^1.2.4", 1646 | "gopd": "^1.0.1", 1647 | "has-property-descriptors": "^1.0.2" 1648 | }, 1649 | "engines": { 1650 | "node": ">= 0.4" 1651 | } 1652 | }, 1653 | "node_modules/shebang-command": { 1654 | "version": "2.0.0", 1655 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1656 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1657 | "dev": true, 1658 | "dependencies": { 1659 | "shebang-regex": "^3.0.0" 1660 | }, 1661 | "engines": { 1662 | "node": ">=8" 1663 | } 1664 | }, 1665 | "node_modules/shebang-regex": { 1666 | "version": "3.0.0", 1667 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1668 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1669 | "dev": true, 1670 | "engines": { 1671 | "node": ">=8" 1672 | } 1673 | }, 1674 | "node_modules/side-channel": { 1675 | "version": "1.0.6", 1676 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", 1677 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", 1678 | "dev": true, 1679 | "dependencies": { 1680 | "call-bind": "^1.0.7", 1681 | "es-errors": "^1.3.0", 1682 | "get-intrinsic": "^1.2.4", 1683 | "object-inspect": "^1.13.1" 1684 | }, 1685 | "engines": { 1686 | "node": ">= 0.4" 1687 | }, 1688 | "funding": { 1689 | "url": "https://github.com/sponsors/ljharb" 1690 | } 1691 | }, 1692 | "node_modules/signal-exit": { 1693 | "version": "3.0.7", 1694 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1695 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1696 | "dev": true 1697 | }, 1698 | "node_modules/slice-ansi": { 1699 | "version": "3.0.0", 1700 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 1701 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 1702 | "dev": true, 1703 | "dependencies": { 1704 | "ansi-styles": "^4.0.0", 1705 | "astral-regex": "^2.0.0", 1706 | "is-fullwidth-code-point": "^3.0.0" 1707 | }, 1708 | "engines": { 1709 | "node": ">=8" 1710 | } 1711 | }, 1712 | "node_modules/sshpk": { 1713 | "version": "1.18.0", 1714 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", 1715 | "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", 1716 | "dev": true, 1717 | "dependencies": { 1718 | "asn1": "~0.2.3", 1719 | "assert-plus": "^1.0.0", 1720 | "bcrypt-pbkdf": "^1.0.0", 1721 | "dashdash": "^1.12.0", 1722 | "ecc-jsbn": "~0.1.1", 1723 | "getpass": "^0.1.1", 1724 | "jsbn": "~0.1.0", 1725 | "safer-buffer": "^2.0.2", 1726 | "tweetnacl": "~0.14.0" 1727 | }, 1728 | "bin": { 1729 | "sshpk-conv": "bin/sshpk-conv", 1730 | "sshpk-sign": "bin/sshpk-sign", 1731 | "sshpk-verify": "bin/sshpk-verify" 1732 | }, 1733 | "engines": { 1734 | "node": ">=0.10.0" 1735 | } 1736 | }, 1737 | "node_modules/string-width": { 1738 | "version": "4.2.3", 1739 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1740 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1741 | "dev": true, 1742 | "dependencies": { 1743 | "emoji-regex": "^8.0.0", 1744 | "is-fullwidth-code-point": "^3.0.0", 1745 | "strip-ansi": "^6.0.1" 1746 | }, 1747 | "engines": { 1748 | "node": ">=8" 1749 | } 1750 | }, 1751 | "node_modules/strip-ansi": { 1752 | "version": "6.0.1", 1753 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1754 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1755 | "dev": true, 1756 | "dependencies": { 1757 | "ansi-regex": "^5.0.1" 1758 | }, 1759 | "engines": { 1760 | "node": ">=8" 1761 | } 1762 | }, 1763 | "node_modules/strip-final-newline": { 1764 | "version": "2.0.0", 1765 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 1766 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 1767 | "dev": true, 1768 | "engines": { 1769 | "node": ">=6" 1770 | } 1771 | }, 1772 | "node_modules/supports-color": { 1773 | "version": "8.1.1", 1774 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 1775 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 1776 | "dev": true, 1777 | "dependencies": { 1778 | "has-flag": "^4.0.0" 1779 | }, 1780 | "engines": { 1781 | "node": ">=10" 1782 | }, 1783 | "funding": { 1784 | "url": "https://github.com/chalk/supports-color?sponsor=1" 1785 | } 1786 | }, 1787 | "node_modules/throttleit": { 1788 | "version": "1.0.1", 1789 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", 1790 | "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", 1791 | "dev": true, 1792 | "funding": { 1793 | "url": "https://github.com/sponsors/sindresorhus" 1794 | } 1795 | }, 1796 | "node_modules/through": { 1797 | "version": "2.3.8", 1798 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1799 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", 1800 | "dev": true 1801 | }, 1802 | "node_modules/tmp": { 1803 | "version": "0.2.3", 1804 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", 1805 | "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", 1806 | "dev": true, 1807 | "engines": { 1808 | "node": ">=14.14" 1809 | } 1810 | }, 1811 | "node_modules/tough-cookie": { 1812 | "version": "4.1.3", 1813 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", 1814 | "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", 1815 | "dev": true, 1816 | "dependencies": { 1817 | "psl": "^1.1.33", 1818 | "punycode": "^2.1.1", 1819 | "universalify": "^0.2.0", 1820 | "url-parse": "^1.5.3" 1821 | }, 1822 | "engines": { 1823 | "node": ">=6" 1824 | } 1825 | }, 1826 | "node_modules/tough-cookie/node_modules/universalify": { 1827 | "version": "0.2.0", 1828 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", 1829 | "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", 1830 | "dev": true, 1831 | "engines": { 1832 | "node": ">= 4.0.0" 1833 | } 1834 | }, 1835 | "node_modules/tslib": { 1836 | "version": "2.6.2", 1837 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1838 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 1839 | "dev": true 1840 | }, 1841 | "node_modules/tunnel-agent": { 1842 | "version": "0.6.0", 1843 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1844 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 1845 | "dev": true, 1846 | "dependencies": { 1847 | "safe-buffer": "^5.0.1" 1848 | }, 1849 | "engines": { 1850 | "node": "*" 1851 | } 1852 | }, 1853 | "node_modules/tweetnacl": { 1854 | "version": "0.14.5", 1855 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1856 | "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", 1857 | "dev": true 1858 | }, 1859 | "node_modules/type-fest": { 1860 | "version": "0.21.3", 1861 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 1862 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 1863 | "dev": true, 1864 | "engines": { 1865 | "node": ">=10" 1866 | }, 1867 | "funding": { 1868 | "url": "https://github.com/sponsors/sindresorhus" 1869 | } 1870 | }, 1871 | "node_modules/undici-types": { 1872 | "version": "5.26.5", 1873 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 1874 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 1875 | "dev": true, 1876 | "optional": true 1877 | }, 1878 | "node_modules/universalify": { 1879 | "version": "2.0.1", 1880 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 1881 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 1882 | "dev": true, 1883 | "engines": { 1884 | "node": ">= 10.0.0" 1885 | } 1886 | }, 1887 | "node_modules/untildify": { 1888 | "version": "4.0.0", 1889 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", 1890 | "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", 1891 | "dev": true, 1892 | "engines": { 1893 | "node": ">=8" 1894 | } 1895 | }, 1896 | "node_modules/url-parse": { 1897 | "version": "1.5.10", 1898 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", 1899 | "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", 1900 | "dev": true, 1901 | "dependencies": { 1902 | "querystringify": "^2.1.1", 1903 | "requires-port": "^1.0.0" 1904 | } 1905 | }, 1906 | "node_modules/uuid": { 1907 | "version": "8.3.2", 1908 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 1909 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 1910 | "dev": true, 1911 | "bin": { 1912 | "uuid": "dist/bin/uuid" 1913 | } 1914 | }, 1915 | "node_modules/verror": { 1916 | "version": "1.10.0", 1917 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1918 | "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", 1919 | "dev": true, 1920 | "engines": [ 1921 | "node >=0.6.0" 1922 | ], 1923 | "dependencies": { 1924 | "assert-plus": "^1.0.0", 1925 | "core-util-is": "1.0.2", 1926 | "extsprintf": "^1.2.0" 1927 | } 1928 | }, 1929 | "node_modules/which": { 1930 | "version": "2.0.2", 1931 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1932 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1933 | "dev": true, 1934 | "dependencies": { 1935 | "isexe": "^2.0.0" 1936 | }, 1937 | "bin": { 1938 | "node-which": "bin/node-which" 1939 | }, 1940 | "engines": { 1941 | "node": ">= 8" 1942 | } 1943 | }, 1944 | "node_modules/wrap-ansi": { 1945 | "version": "7.0.0", 1946 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1947 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1948 | "dev": true, 1949 | "dependencies": { 1950 | "ansi-styles": "^4.0.0", 1951 | "string-width": "^4.1.0", 1952 | "strip-ansi": "^6.0.0" 1953 | }, 1954 | "engines": { 1955 | "node": ">=10" 1956 | }, 1957 | "funding": { 1958 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1959 | } 1960 | }, 1961 | "node_modules/wrappy": { 1962 | "version": "1.0.2", 1963 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1964 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1965 | "dev": true 1966 | }, 1967 | "node_modules/yallist": { 1968 | "version": "4.0.0", 1969 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1970 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1971 | "dev": true 1972 | }, 1973 | "node_modules/yauzl": { 1974 | "version": "2.10.0", 1975 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 1976 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", 1977 | "dev": true, 1978 | "dependencies": { 1979 | "buffer-crc32": "~0.2.3", 1980 | "fd-slicer": "~1.1.0" 1981 | } 1982 | } 1983 | } 1984 | } 1985 | --------------------------------------------------------------------------------