From 98eefdab69e6f508f9461a77ccf33f0680277962 Mon Sep 17 00:00:00 2001 From: Cool AudioM Developer Date: Thu, 21 Nov 2024 10:59:36 +0000 Subject: [PATCH] Initial commit: Cool AudioM application --- .gitignore | 8 + README.md | 43 + build/icon.ico | Bin 0 -> 175212 bytes index.html | 41 + main.js | 76 + matchElect.bat | 2 + package-lock.json | 5109 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 30 + renderer.js | 130 ++ styles.css | 90 + 10 files changed, 5529 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build/icon.ico create mode 100644 index.html create mode 100644 main.js create mode 100644 matchElect.bat create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 renderer.js create mode 100644 styles.css diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d0e02a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +dist/ +mastered/ +.DS_Store +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..cd69266 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Cool AudioM + +A desktop application for batch audio mastering using reference tracks. Built with Electron. + +## Features + +- Multiple audio file processing in one go +- Reference track-based mastering +- Easy-to-use interface +- Supports WAV and MP3 formats +- Results saved in high-quality WAV format + +## Requirements + +- Python with matchering package installed +- Windows operating system + +## Installation + +Download the latest installer from the Releases section and run `Cool AudioM Setup.exe`. + +## Development Setup + +1. Clone the repository +2. Install dependencies: +```bash +npm install +``` +3. Run the application: +```bash +npm start +``` + +## Building + +To create a Windows installer: +```bash +npm run build +``` + +## License + +ISC \ No newline at end of file diff --git a/build/icon.ico b/build/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e5d4d165ae4d81432a817837228d0bed0d93cb5f GIT binary patch literal 175212 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 z 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

    Q&bfHZN$2^!+ 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 + + + Cool AudioM + + + +
    +

    Cool AudioM

    + +
    +
    +

    Target Track

    +
    +
    + +

    No file selected

    +
    +
    + +
    + +
    +

    Reference Track

    + +

    No file selected

    +
    +
    + +
    + +
    +
    +
    +

    Ready

    + +
    +
    + + + \ No newline at end of file diff --git a/main.js b/main.js new file mode 100644 index 0000000..b3b8eaa --- /dev/null +++ b/main.js @@ -0,0 +1,76 @@ +const { app, BrowserWindow, ipcMain, dialog, shell } = require('electron'); +const path = require('path'); +const { spawn } = require('child_process'); + +function createWindow() { + const win = new BrowserWindow({ + width: 1200, + height: 800, + webPreferences: { + nodeIntegration: true, + contextIsolation: false + } + }); + + win.loadFile('index.html'); +} + +app.whenReady().then(() => { + createWindow(); + + app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } + }); +}); + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +ipcMain.handle('select-file', async (event, type) => { + const result = await dialog.showOpenDialog({ + properties: ['openFile'], + filters: [ + { name: 'Audio Files', extensions: ['wav', 'mp3'] } + ] + }); + return result.filePaths[0]; +}); + +ipcMain.handle('process-audio', async (event, { targetFile, referenceFile, outputFile }) => { + return new Promise((resolve, reject) => { + const pythonScript = ` +import matchering as mg +import sys + +try: + mg.process( + target=sys.argv[1], + reference=sys.argv[2], + results=[ + mg.pcm16(sys.argv[3]) + ] + ) + print("success") +except Exception as e: + print(f"error: {str(e)}") +`; + const pythonProcess = spawn('python', ['-c', pythonScript, targetFile, referenceFile, outputFile || 'result.wav']); + + pythonProcess.stdout.on('data', (data) => { + const output = data.toString().trim(); + resolve(output); + }); + + pythonProcess.stderr.on('data', (data) => reject(data.toString())); + }); +}); + +ipcMain.handle('open-folder', async (event, folderPath) => { + await shell.openPath(folderPath); + return true; +}); \ No newline at end of file diff --git a/matchElect.bat b/matchElect.bat new file mode 100644 index 0000000..d37b055 --- /dev/null +++ b/matchElect.bat @@ -0,0 +1,2 @@ +echo off +npm start \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e447c13 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5109 @@ +{ + "name": "audiomaster", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "audiomaster", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "electron": "^33.2.0", + "electron-builder": "^25.1.8" + } + }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@electron/asar": { + "version": "3.2.17", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.17.tgz", + "integrity": "sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@electron/asar/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz", + "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/osx-sign/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/rebuild": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.6.1.tgz", + "integrity": "sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.2.0", + "node-gyp": "^9.0.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/rebuild/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/rebuild/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/rebuild/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.1.tgz", + "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.2.7", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.17.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz", + "integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/plist": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/verror": { + "version": "1.10.10", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.10.tgz", + "integrity": "sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz", + "integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dev": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-bin": { + "version": "5.0.0-alpha.10", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-5.0.0-alpha.10.tgz", + "integrity": "sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw==", + "dev": true, + "license": "MIT" + }, + "node_modules/app-builder-lib": { + "version": "25.1.8", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-25.1.8.tgz", + "integrity": "sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.1", + "@electron/rebuild": "3.6.1", + "@electron/universal": "2.0.1", + "@malept/flatpak-bundler": "^0.4.0", + "@types/fs-extra": "9.0.13", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "25.1.7", + "builder-util-runtime": "9.2.10", + "chromium-pickle-js": "^0.2.0", + "config-file-ts": "0.2.8-rc1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "25.1.7", + "form-data": "^4.0.0", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "is-ci": "^3.0.0", + "isbinaryfile": "^5.0.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.0.0", + "resedit": "^1.7.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.8", + "tar": "^6.1.12", + "temp-file": "^3.4.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "25.1.8", + "electron-builder-squirrel-windows": "25.1.8" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.5" + } + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "25.1.7", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-25.1.7.tgz", + "integrity": "sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "5.0.0-alpha.10", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "9.2.10", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.2.10", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz", + "integrity": "sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/config-file-ts": { + "version": "0.2.8-rc1", + "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz", + "integrity": "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.3.12", + "typescript": "^5.4.3" + } + }, + "node_modules/config-file-ts/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/config-file-ts/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/config-file-ts/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dir-compare/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "25.1.8", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-25.1.8.tgz", + "integrity": "sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "25.1.8", + "builder-util": "25.1.7", + "builder-util-runtime": "9.2.10", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz", + "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.4" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "33.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz", + "integrity": "sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "25.1.8", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-25.1.8.tgz", + "integrity": "sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "25.1.8", + "builder-util": "25.1.7", + "builder-util-runtime": "9.2.10", + "chalk": "^4.1.2", + "dmg-builder": "25.1.8", + "fs-extra": "^10.1.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "25.1.8", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-25.1.8.tgz", + "integrity": "sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "25.1.8", + "archiver": "^5.3.1", + "builder-util": "25.1.7", + "fs-extra": "^10.1.0" + } + }, + "node_modules/electron-builder-squirrel-windows/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder-squirrel-windows/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder-squirrel-windows/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-publish": { + "version": "25.1.7", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-25.1.7.tgz", + "integrity": "sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "25.1.7", + "builder-util-runtime": "9.2.10", + "chalk": "^4.1.2", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true, + "license": "ISC" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/isbinaryfile": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.4.tgz", + "integrity": "sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-api-version": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.0.tgz", + "integrity": "sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-api-version/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", + "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2770a3e --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "cool-audiom", + "version": "1.0.0", + "productName": "Cool AudioM", + "main": "main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "electron .", + "build": "electron-builder --win", + "pack": "electron-builder --dir" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "devDependencies": { + "electron": "^33.2.0", + "electron-builder": "^25.1.8" + }, + "build": { + "appId": "com.coolaudiom.app", + "win": { + "target": ["nsis"], + "icon": "build/icon.ico" + }, + "directories": { + "output": "dist" + } + } +} \ No newline at end of file diff --git a/renderer.js b/renderer.js new file mode 100644 index 0000000..eccd548 --- /dev/null +++ b/renderer.js @@ -0,0 +1,130 @@ +const { ipcRenderer } = require('electron/renderer'); +const fs = require('fs'); +const path = require('path'); + +let targetFiles = [null]; +let referenceFile = null; + +function createTargetTrack() { + const trackDiv = document.createElement('div'); + trackDiv.className = 'target-track'; + + const selectButton = document.createElement('button'); + selectButton.className = 'selectTarget'; + selectButton.textContent = 'Select Target File'; + + const pathText = document.createElement('p'); + pathText.className = 'targetPath'; + pathText.textContent = 'No file selected'; + + trackDiv.appendChild(selectButton); + trackDiv.appendChild(pathText); + + const index = targetFiles.length; + targetFiles.push(null); + + selectButton.addEventListener('click', async () => { + const filePath = await ipcRenderer.invoke('select-file', 'target'); + if (filePath) { + targetFiles[index] = filePath; + pathText.textContent = filePath; + updateProcessButton(); + } + }); + + return trackDiv; +} + +document.getElementById('addTrackButton').addEventListener('click', () => { + const targetTracks = document.getElementById('targetTracks'); + targetTracks.appendChild(createTargetTrack()); +}); + +// Initialize first target track button +document.querySelector('.selectTarget').addEventListener('click', async () => { + const filePath = await ipcRenderer.invoke('select-file', 'target'); + if (filePath) { + targetFiles[0] = filePath; + document.querySelector('.targetPath').textContent = filePath; + updateProcessButton(); + } +}); + +document.getElementById('selectReference').addEventListener('click', async () => { + const filePath = await ipcRenderer.invoke('select-file', 'reference'); + if (filePath) { + const folderPath = path.dirname(filePath); + localStorage.setItem('lastReferenceFolder', folderPath); + referenceFile = filePath; + document.getElementById('referencePath').textContent = filePath; + + // Create mastered folder if it doesn't exist + const masteredFolder = path.join(process.cwd(), 'mastered'); + if (!fs.existsSync(masteredFolder)) + fs.mkdirSync(masteredFolder); + updateProcessButton(); + } +}); + +document.getElementById('processButton').addEventListener('click', async () => { + const validTargetFiles = targetFiles.filter(file => file !== null); + if (validTargetFiles.length === 0 || !referenceFile) return; + + const processButton = document.getElementById('processButton'); + const progressBar = document.getElementById('progress'); + const status = document.getElementById('status'); + const resultLink = document.getElementById('resultLink'); + + processButton.disabled = true; + progressBar.style.display = 'block'; + status.textContent = 'Processing...'; + resultLink.style.display = 'none'; + + try { + let successCount = 0; + for (let i = 0; i < validTargetFiles.length; i++) { + status.textContent = `Processing file ${i + 1} of ${validTargetFiles.length}...`; + const originalName = validTargetFiles[i].split(/[\\\/]/).pop().split('.')[0]; + const outputFile = path.join('mastered', `${originalName}_ma.wav`); + const result = await ipcRenderer.invoke('process-audio', { + targetFile: validTargetFiles[i], + referenceFile, + outputFile + }); + + if (result.includes('success')) { + successCount++; + } else if (result.includes('error')) { + throw new Error(`Error processing file ${i + 1}: ${result.split('error:')[1].trim()}`); + } + } + + status.textContent = `Processing completed! ${successCount} files processed.`; + resultLink.style.display = 'block'; + document.getElementById('downloadLink').onclick = () => ipcRenderer.invoke('open-folder', path.join(process.cwd(), 'mastered')); + document.getElementById('folderLink').onclick = () => ipcRenderer.invoke('open-folder', path.join(process.cwd(), 'mastered')); + } catch (error) { + status.textContent = 'Error: ' + error.message; + resultLink.style.display = 'none'; + } finally { + processButton.disabled = false; + progressBar.style.display = 'none'; + document.querySelector('.progress-fill').style.width = '0%'; + } +}); + +function updateProcessButton() { + const processButton = document.getElementById('processButton'); + const hasValidTarget = targetFiles.some(file => file !== null); + processButton.disabled = !(hasValidTarget && referenceFile); +} + +// Load last reference folder on startup +window.addEventListener('DOMContentLoaded', () => { + const lastReferenceFolder = localStorage.getItem('lastReferenceFolder'); + if (lastReferenceFolder) { + document.getElementById('referencePath').textContent = + 'Last used folder: ' + lastReferenceFolder + + '\nClick to select a new reference file'; + } +}); \ No newline at end of file diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..12deec3 --- /dev/null +++ b/styles.css @@ -0,0 +1,90 @@ +body { + font-family: Arial, sans-serif; + margin: 0; + padding: 20px; + background-color: #f0f0f0; +} + +.container { + max-width: 800px; + margin: 0 auto; + background-color: white; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +h1 { + text-align: center; + color: #333; +} + +.file-section { + display: flex; + justify-content: space-between; + margin: 20px 0; +} + +.file-input { + flex: 1; + margin: 0 10px; + padding: 15px; + background-color: #f8f8f8; + border-radius: 4px; +} + +button { + background-color: #4CAF50; + color: white; + padding: 10px 20px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 14px; +} + +button:disabled { + background-color: #cccccc; + cursor: not-allowed; +} + +button:hover:not(:disabled) { + background-color: #45a049; +} + +#status { + text-align: center; + margin-top: 10px; + color: #666; +} + +.progress-bar { + width: 100%; + height: 20px; + background-color: #f0f0f0; + border-radius: 10px; + margin: 20px 0; + overflow: hidden; + display: none; +} + +.progress-fill { + width: 0%; + height: 100%; + background-color: #4CAF50; + transition: width 0.3s ease-in-out; +} + +#targetTracks { + margin-bottom: 10px; +} + +.target-track { + margin-bottom: 15px; +} + +#addTrackButton { + background-color: #2196F3; + width: 100%; + margin-top: 10px; +} \ No newline at end of file