diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index d93ede0a6b..0b00839a7e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,95 +1,95 @@ name: Bug Report description: Report a YouTube Music bug -title: "[Bug]: " -labels: "bug :beetle:" +title: '[Bug]: ' +labels: 'bug :beetle:' body: -- type: checkboxes - attributes: - label: Preflight Checklist - description: Please ensure you've completed all of the following. - options: - - label: I use the latest version of YouTube Music (Application). - required: true - - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a bug report that matches the one I want to file, without success. - required: true - - label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube** - required: true -- type: input - attributes: - label: YouTube Music (Application) Version - description: | - What version of the YouTube Music Application are you using? + - type: checkboxes + attributes: + label: Preflight Checklist + description: Please ensure you've completed all of the following. + options: + - label: I use the latest version of YouTube Music (Application). + required: true + - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a bug report that matches the one I want to file, without success. + required: true + - label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube** + required: true + - type: input + attributes: + label: YouTube Music (Application) Version + description: | + What version of the YouTube Music Application are you using? - Note: Please check if this issue is reproducible with the latest stable release. - placeholder: 2.0.0 - validations: - required: true -- type: checkboxes - attributes: - label: Checklists - options: - - label: I use the portable version of the YouTube Music Application. - - label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com). -- type: dropdown - attributes: - label: What operating system are you using? - options: - - Windows - - macOS - - Ubuntu - - Other Linux - - Other (specify below) - validations: - required: true -- type: input - attributes: - label: Operating System Version - description: What operating system version are you using? On Windows, click the Start button > Settings > System > About. On macOS, click the Apple Menu > About This Mac. On Linux, use lsb_release or uname -a. - placeholder: "e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04" - validations: - required: true -- type: dropdown - attributes: - label: What CPU architecture are you using? - options: - - x64 - - ia32 - - arm64 (including Apple Silicon) - - Other (specify below) - validations: - required: true -- type: input - attributes: - label: Last Known Working YouTube Music (Application) version - description: (If applicable) What is the last version of YouTube Music this worked in? - placeholder: 1.20.0 -- type: textarea - attributes: - label: Reproduction steps - description: Provide steps to reproduce the issue. - placeholder: 1. Enable the X plugin. - validations: - required: true -- type: textarea - attributes: - label: Expected Behavior - description: A clear and concise description of what you expected to happen. - validations: - required: true -- type: textarea - attributes: - label: Actual Behavior - description: A clear description of what actually happens. - validations: - required: true -- type: textarea - attributes: - label: Enabled plugins - description: Provide the list of plugins you enabled. - placeholder: 1. Album Color Theme - validations: - required: true -- type: textarea - attributes: - label: Additional Information - description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here. + Note: Please check if this issue is reproducible with the latest stable release. + placeholder: 2.0.0 + validations: + required: true + - type: checkboxes + attributes: + label: Checklists + options: + - label: I use the portable version of the YouTube Music Application. + - label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com). + - type: dropdown + attributes: + label: What operating system are you using? + options: + - Windows + - macOS + - Ubuntu + - Other Linux + - Other (specify below) + validations: + required: true + - type: input + attributes: + label: Operating System Version + description: What operating system version are you using? On Windows, click the Start button > Settings > System > About. On macOS, click the Apple Menu > About This Mac. On Linux, use lsb_release or uname -a. + placeholder: 'e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04' + validations: + required: true + - type: dropdown + attributes: + label: What CPU architecture are you using? + options: + - x64 + - ia32 + - arm64 (including Apple Silicon) + - Other (specify below) + validations: + required: true + - type: input + attributes: + label: Last Known Working YouTube Music (Application) version + description: (If applicable) What is the last version of YouTube Music this worked in? + placeholder: 1.20.0 + - type: textarea + attributes: + label: Reproduction steps + description: Provide steps to reproduce the issue. + placeholder: 1. Enable the X plugin. + validations: + required: true + - type: textarea + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + - type: textarea + attributes: + label: Actual Behavior + description: A clear description of what actually happens. + validations: + required: true + - type: textarea + attributes: + label: Enabled plugins + description: Provide the list of plugins you enabled. + placeholder: 1. Album Color Theme + validations: + required: true + - type: textarea + attributes: + label: Additional Information + description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 1744337369..5130b2ec98 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,38 +1,38 @@ name: Feature Request description: Suggest an idea for YouTube Music -title: "[Feature Request]: " -labels: "enhancement :sparkles:" +title: '[Feature Request]: ' +labels: 'enhancement :sparkles:' body: -- type: checkboxes - attributes: - label: Preflight Checklist - description: Please ensure you've completed all of the following. - options: - - label: I use the latest version of YouTube Music (Application). - required: true - - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success. - required: true -- type: textarea - attributes: - label: Problem Description - description: A clear and concise description of the problem you are seeking to solve with this feature request. - validations: - required: true -- type: textarea - attributes: - label: Proposed Solution - description: Describe the solution you'd like in a clear and concise manner. - validations: - required: true -- type: textarea - attributes: - label: Alternatives Considered - description: A clear and concise description of any alternative solutions or features you've considered. - validations: - required: true -- type: textarea - attributes: - label: Additional Information - description: Any other context about the problem. - validations: - required: false + - type: checkboxes + attributes: + label: Preflight Checklist + description: Please ensure you've completed all of the following. + options: + - label: I use the latest version of YouTube Music (Application). + required: true + - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success. + required: true + - type: textarea + attributes: + label: Problem Description + description: A clear and concise description of the problem you are seeking to solve with this feature request. + validations: + required: true + - type: textarea + attributes: + label: Proposed Solution + description: Describe the solution you'd like in a clear and concise manner. + validations: + required: true + - type: textarea + attributes: + label: Alternatives Considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: true + - type: textarea + attributes: + label: Additional Information + description: Any other context about the problem. + validations: + required: false diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eeec671b3c..a4491740ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,11 +2,11 @@ name: Build YouTube Music on: push: - branches: [ master ] + branches: [master] pull_request: env: - NODE_VERSION: "20.x" + NODE_VERSION: '20.x' jobs: build: @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: true matrix: - os: [ macos-latest, ubuntu-latest, windows-latest ] + os: [macos-latest, ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v4 @@ -84,7 +84,6 @@ jobs: with: run: pnpm test:debug - release: runs-on: ubuntu-latest name: Release YouTube Music @@ -165,6 +164,6 @@ jobs: uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: Update changelog for ${{ env.VERSION_TAG }} - file_pattern: "changelog.md" + file_pattern: 'changelog.md' commit_user_name: CI commit_user_email: th-ch@users.noreply.github.com diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 2447eb386d..9a9dcfebb7 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -4,8 +4,8 @@ # # Source repository: https://github.com/actions/dependency-review-action # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement -name: "Dependency Review" -on: [ pull_request ] +name: 'Dependency Review' +on: [pull_request] permissions: contents: read @@ -14,7 +14,7 @@ jobs: dependency-review: runs-on: ubuntu-latest steps: - - name: "Checkout Repository" + - name: 'Checkout Repository' uses: actions/checkout@v4 - - name: "Dependency Review" + - name: 'Dependency Review' uses: actions/dependency-review-action@v4 diff --git a/.github/workflows/winget-cla.yml b/.github/workflows/winget-cla.yml index bd3f51246d..759b1cb575 100644 --- a/.github/workflows/winget-cla.yml +++ b/.github/workflows/winget-cla.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: pr_url: - description: "Specific PR URL" + description: 'Specific PR URL' required: true type: string diff --git a/.github/workflows/winget-submission.yml b/.github/workflows/winget-submission.yml index 802d2ee2fe..74bfa3e7c1 100644 --- a/.github/workflows/winget-submission.yml +++ b/.github/workflows/winget-submission.yml @@ -2,11 +2,11 @@ name: Submit to Windows Package Manager Community Repository on: release: - types: [ released ] + types: [released] workflow_dispatch: inputs: tag_name: - description: "Specific tag name" + description: 'Specific tag name' required: true type: string diff --git a/README.md b/README.md index 929c53c697..6163560f39 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,12 @@ -![Screenshot](web/screenshot.png "Screenshot") - +![Screenshot](web/screenshot.png 'Screenshot')
- - YouTube Music SVG - + + YouTube Music SVG +
Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷](./docs/readme/README-fr.md), [🇮🇸](./docs/readme/README-is.md), [🇨🇱 🇪🇸](./docs/readme/README-es.md), [🇷🇺](./docs/readme/README-ru.md), [🇭🇺](./docs/readme/README-hu.md) @@ -31,40 +30,44 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷] ## Demo Image -| Player Screen (album color theme & ambient light) | -|:---------------------------------------------------------------------------------------------------------:| -|![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc)| +| Player Screen (album color theme & ambient light) | +| :---------------------------------------------------------------------------------------------------------: | +| ![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc) | ## Content -- [Features](#features) -- [Available plugins](#available-plugins) -- [Translation](#translation) -- [Download](#download) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows) -- [Themes](#themes) -- [Dev](#dev) -- [Build your own plugins](#build-your-own-plugins) - - [Creating a plugin](#creating-a-plugin) - - [Common use cases](#common-use-cases) -- [Build](#build) -- [Production Preview](#production-preview) -- [Tests](#tests) -- [License](#license) -- [FAQ](#faq) - -## Features: +- [YouTube Music](#youtube-music) + - [Demo Image](#demo-image) + - [Content](#content) + - [Features](#features) + - [Available plugins](#available-plugins) + - [Translation](#translation) + - [Download](#download) + - [Arch Linux](#arch-linux) + - [macOS](#macos) + - [Windows](#windows) + - [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows) + - [Themes](#themes) + - [Dev](#dev) + - [Build your own plugins](#build-your-own-plugins) + - [Creating a plugin](#creating-a-plugin) + - [Common use cases](#common-use-cases) + - [Build](#build) + - [Production Preview](#production-preview) + - [Tests](#tests) + - [License](#license) + - [FAQ](#faq) + - [Why apps menu isn't showing up?](#why-apps-menu-isnt-showing-up) + +## Features - **Auto confirm when paused** (Always Enabled): disable the ["Continue Watching?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) popup that pause music after a certain time - - And more ... +- And more ... -## Available plugins: +## Available plugins - **Ad Blocker**: Block all ads and tracking out of the box @@ -104,7 +107,7 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷] - **In-App Menu**: [gives bars a fancy, dark look](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png) > (see [this post](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) if you have problem - accessing the menu after enabling this plugin and hide-menu option) + > accessing the menu after enabling this plugin and hide-menu option) - **Scrobbler**: Adds scrobbling support for [Last.fm](https://www.last.fm/) and [ListenBrainz](https://listenbrainz.org/) @@ -163,7 +166,6 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷] - **Visualizer**: Different music visualizers - ## Translation You can help with translation on [Hosted Weblate](https://hosted.weblate.org/projects/youtube-music/). @@ -210,9 +212,9 @@ scoop install extras/youtube-music Alternately you can use [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), Windows 11s official CLI package manager to install the `th-ch.YouTubeMusic` package. -*Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also +_Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also true for the manual installation when trying to run the executable(.exe) after a manual download here on github (same -file).* +file)._ ```bash winget install th-ch.YouTubeMusic @@ -232,7 +234,7 @@ winget install th-ch.YouTubeMusic You can load CSS files to change the look of the application (Options > Visual Tweaks > Themes). -Some predefined themes are available in https://github.com/kerichdev/themes-for-ytmdesktop-player. +Some predefined themes are available in . ## Dev @@ -255,6 +257,7 @@ Using plugins, you can: Create a folder in `src/plugins/YOUR-PLUGIN-NAME`: - `index.ts`: the main file of the plugin + ```typescript import style from './style.css?inline'; // import style as inline @@ -294,9 +297,13 @@ export default createPlugin({ }); }, // it fired when config changed - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // it fired when plugin disabled - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { @@ -307,8 +314,12 @@ export default createPlugin({ // set plugin config easily context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -337,7 +348,7 @@ export default createPlugin({ enabled: false, }, // your custom config stylesheets: [style], // your custom style - renderer() {} // define renderer hook + renderer() {}, // define renderer hook }); ``` @@ -354,8 +365,8 @@ export default createPlugin({ }, // your custom config renderer() { // Remove the login button - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // define renderer hook + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // define renderer hook }); ``` diff --git a/changelog.md b/changelog.md index ef3636a89b..8eb8d9b395 100644 --- a/changelog.md +++ b/changelog.md @@ -1195,7 +1195,7 @@ All notable changes to this project will be documented in this file. Dates are d - fix security issues in dependencies [`#1116`](https://github.com/th-ch/youtube-music/pull/1116) - commit assets/generated [`#1118`](https://github.com/th-ch/youtube-music/pull/1118) - remove `electron.remote` dependency [`#1113`](https://github.com/th-ch/youtube-music/pull/1113) -- .gitattributes set `eol=lf` on *all* files [`#1115`](https://github.com/th-ch/youtube-music/pull/1115) +- .gitattributes set `eol=lf` on _all_ files [`#1115`](https://github.com/th-ch/youtube-music/pull/1115) - [crossfade] add `[beta]` tag to warn of possible bugs [`#1096`](https://github.com/th-ch/youtube-music/pull/1096) - [crossfade] add menu options [`#1065`](https://github.com/th-ch/youtube-music/pull/1065) - [captions-selector] add `autoload` option [`#1079`](https://github.com/th-ch/youtube-music/pull/1079) @@ -1379,14 +1379,14 @@ All notable changes to this project will be documented in this file. Dates are d - [Snyk] Security upgrade node-fetch from 2.6.6 to 2.6.7 (3.1.1 incompatible) [`#554`](https://github.com/th-ch/youtube-music/pull/554) - fix app starting offscreen [`#548`](https://github.com/th-ch/youtube-music/pull/548) - Release Mac arm64 [`#566`](https://github.com/th-ch/youtube-music/pull/566) -- Build command for Apple (m1) silicon macs [`#553`](https://github.com/th-ch/youtube-music/pull/553) +- Build command for Apple (m1) silicon macs [`#553`](https://github.com/th-ch/youtube-music/pull/553) - [Snyk] Upgrade custom-electron-titlebar from 3.2.9 to 3.2.10 [`#545`](https://github.com/th-ch/youtube-music/pull/545) - Fix duplicate media session on linux [`#551`](https://github.com/th-ch/youtube-music/pull/551) - show a badge remaining items when downloading a playlist [`#550`](https://github.com/th-ch/youtube-music/pull/550) - allow downloading playlists from popup menu [`#549`](https://github.com/th-ch/youtube-music/pull/549) - xesam:artist should be a list [`#539`](https://github.com/th-ch/youtube-music/pull/539) - fix notifications showing thumbnail of last song [`#537`](https://github.com/th-ch/youtube-music/pull/537) -- Fix https://github.com/th-ch/youtube-music/pull/578#issuecomment-1035517531 [`#578`](https://github.com/th-ch/youtube-music/pull/578) +- Fix [`#578`](https://github.com/th-ch/youtube-music/pull/578) - Add automatic changelog [`1d9bfe8`](https://github.com/th-ch/youtube-music/commit/1d9bfe8ac8869cde648164979986964baa52c2f9) - update electron to v17.0.0 [`fef7115`](https://github.com/th-ch/youtube-music/commit/fef711549fa9862f8ea23301edde747c5802e352) - update dependencies [`8be07bc`](https://github.com/th-ch/youtube-music/commit/8be07bcb7ad8b727d97c36aa0760aed4e2fc481f) @@ -1468,7 +1468,7 @@ All notable changes to this project will be documented in this file. Dates are d - add tuna plugin for obs [`#397`](https://github.com/th-ch/youtube-music/pull/397) - Update menu buttons to new format [`#389`](https://github.com/th-ch/youtube-music/pull/389) - Plugin to fetch lyrics from Genius [`#387`](https://github.com/th-ch/youtube-music/pull/387) -- Add mpris support with cherry picked commit from previous PR https://github.com/th-ch/youtube-music/pull/394 [`#395`](https://github.com/th-ch/youtube-music/pull/395) +- Add mpris support with cherry picked commit from previous PR [`#395`](https://github.com/th-ch/youtube-music/pull/395) - Add "Listen Along" button, solve #353 [`#383`](https://github.com/th-ch/youtube-music/pull/383) - Bump node to v14 [`#386`](https://github.com/th-ch/youtube-music/pull/386) - [Snyk] Upgrade electron-updater from 4.3.9 to 4.3.10 [`#350`](https://github.com/th-ch/youtube-music/pull/350) @@ -1552,7 +1552,7 @@ All notable changes to this project will be documented in this file. Dates are d - Improved songinfo provider, by using the data from the '/player' request [`#194`](https://github.com/th-ch/youtube-music/pull/194) - Download plugin directory chooser [`#10`](https://github.com/th-ch/youtube-music/pull/10) - [Snyk] Upgrade @cliqz/adblocker-electron from 1.20.0 to 1.20.1 [`#180`](https://github.com/th-ch/youtube-music/pull/180) -- [Plugin] taskbar-mediacontrol (for Windows) [`#200`](https://github.com/th-ch/youtube-music/pull/200) +- [Plugin] taskbar-mediacontrol (for Windows) [`#200`](https://github.com/th-ch/youtube-music/pull/200) - merge source [`#3`](https://github.com/th-ch/youtube-music/pull/3) - merge source [`#2`](https://github.com/th-ch/youtube-music/pull/2) - Add playlist feature in downloader plugin + custom menus in plugin system [`#203`](https://github.com/th-ch/youtube-music/pull/203) diff --git a/docs/index.html b/docs/index.html index 9216848d00..42f0e2fef5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,490 +1,490 @@ - - + + - - + + YouTube Music Desktop App (Unofficial) - + - + - - + + - - -
- -
+
-
-
- -
-
-
-
-

- Custom YouTube Music Desktop App -

-

- Open source, cross-platform, unofficial YouTube Music Desktop - App with built-in ad blocker and - downloader -

-
- Download -
-
-
-
- YouTube Music -
-
+
+
+ +
+
+
+
+

+ Custom YouTube Music Desktop App +

+

+ Open source, cross-platform, unofficial YouTube Music Desktop + App with built-in ad blocker and + downloader +

+ +
+
+
+ YouTube Music +
+
+
-
-
-
-
-
- Adblocker -
-
-

Built-in adblocker

-

Block all ads and tracking out of the box

-
-
-
-
- Downloader -
-
-

Built-in downloader

-

- Download (like youtube-dl) to custom formats (mp3, opus, - etc) directly from the interface -

-
-
-
-
- Plugins -
-
-

Many other plugins in one click

-

- Enhance your user experience with media keys, integrations - (Discord), cosmetic filters, notifications, TouchBar, - auto-unpause and many more! Every plugin can be enabled or - disabled in one click. -

-
-
-
-
- Code -
-
-

Open source & Cross platform

-

- Available for Windows (installer and portable), Mac and - Linux (AppImage, deb, etc) -

-
-
-
+
+
+
+
+
+ Adblocker +
+
+

Built-in adblocker

+

Block all ads and tracking out of the box

+
+
+
+ Downloader +
+
+

Built-in downloader

+

+ Download (like youtube-dl) to custom formats (mp3, opus, + etc) directly from the interface +

+
+
+
+
+ Plugins +
+
+

Many other plugins in one click

+

+ Enhance your user experience with media keys, integrations + (Discord), cosmetic filters, notifications, TouchBar, + auto-unpause and many more! Every plugin can be enabled or + disabled in one click. +

+
+
+
+
+ Code +
+
+

Open source & Cross platform

+

+ Available for Windows (installer and portable), Mac and + Linux (AppImage, deb, etc) +

+
+
+
-
- -
+
+
+ +
-
+
-
+
+
+ + - - + + diff --git a/docs/js/main.js b/docs/js/main.js index d7587ce954..1a8c8bd51a 100644 --- a/docs/js/main.js +++ b/docs/js/main.js @@ -64,9 +64,9 @@ bubbleCanvas.prototype.update = function () { t.posX += (t.mouseX / (t.staticity / t.magnetism) - t.posX) / t.smoothFactor; t.posY += (t.mouseY / (t.staticity / t.magnetism) - t.posY) / t.smoothFactor; if ( - t.translateY + t.posY < 0 - || t.translateX + t.posX < 0 - || t.translateX + t.posX > t.canvasWidth + t.translateY + t.posY < 0 || + t.translateX + t.posX < 0 || + t.translateX + t.posX > t.canvasWidth ) { t.randomise(); t.translateY = t.canvasHeight; diff --git a/docs/readme/README-es.md b/docs/readme/README-es.md index 50e3ebd955..301d9b044b 100644 --- a/docs/readme/README-es.md +++ b/docs/readme/README-es.md @@ -12,8 +12,7 @@ -![Screenshot](/web/screenshot.png "Screenshot") - +![Screenshot](/web/screenshot.png 'Screenshot')
@@ -30,36 +29,40 @@ Lee esto en otros idiomas: [🏴 Inglés](../../README.md), [🇰🇷 Coreano](. ## Imagen de demostración -| Pantalla del reproductor (color del álbum como tema y luz ambiental) | -|:---------------------------------------------------------------------------------------------------------:| -|![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc)| +| Pantalla del reproductor (color del álbum como tema y luz ambiental) | +| :---------------------------------------------------------------------------------------------------------: | +| ![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc) | ## Contenido -- [Características](#características) -- [Plugins disponibles](#plugins-disponibles) -- [Traducción](#traducción) -- [Descarga](#descarga) +- [YouTube Music](#youtube-music) + - [Imagen de demostración](#imagen-de-demostración) + - [Contenido](#contenido) + - [Características:](#características) + - [Plugins disponibles:](#plugins-disponibles) + - [Traducción](#traducción) + - [Descarga](#descarga) - [Arch Linux](#arch-linux) - [macOS](#macos) - [Windows](#windows) - - [Cómo instalar sin conexión a internet? (en Windows)](#cómo-instalar-sin-conexión-a-internet-en-windows) -- [Temas](#temas) -- [Dev](#dev) -- [Crea tus propios plugins](#crea-tus-propios-plugins) + - [Cómo instalar sin conexión a Internet? (en Windows)](#cómo-instalar-sin-conexión-a-internet-en-windows) + - [Temas](#temas) + - [Dev](#dev) + - [Crea tus propios plugins](#crea-tus-propios-plugins) - [Creación de un plugin](#creación-de-un-plugin) - [Casos de uso comunes](#casos-de-uso-comunes) -- [Compilar](#compilar) -- [Vista previa de producción](#vista-previa-de-producción) -- [Tests](#tests) -- [Licencia](#licencia) -- [Preguntas frecuentes](#preguntas-frecuentes) + - [Compilar](#compilar) + - [Vista previa de producción](#vista-previa-de-producción) + - [Tests](#tests) + - [Licencia](#licencia) + - [Preguntas frecuentes](#preguntas-frecuentes) + - [¿Por qué no se muestra el menú de aplicaciones?](#por-qué-no-se-muestra-el-menú-de-aplicaciones) ## Características: - **Confirmación automática al pausar** (Siempre habilitado): desactiva - el mensaje emergente ["¿Continuar reproduciendo?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) - que pausa la música después de cierto tiempo + el mensaje emergente ["¿Continuar reproduciendo?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) + que pausa la música después de cierto tiempo - Y más ... @@ -74,7 +77,7 @@ Lee esto en otros idiomas: [🏴 Inglés](../../README.md), [🇰🇷 Coreano](. - **Modo Ambiente**: Aplica un efecto de iluminación proyectando colores suaves del video en el fondo de tu pantalla - **Compresor de Audio**: Aplica compresión al audio (reduce el volumen de las partes más fuertes de la señal y aumenta el - volumen de las partes más suaves) + volumen de las partes más suaves) - **Barra de Navegación Difuminada**: hace que la barra de navegación sea transparente y borrosa @@ -89,19 +92,19 @@ Lee esto en otros idiomas: [🏴 Inglés](../../README.md), [🇰🇷 Coreano](. - **Desactivar Reproducción Automática**: Hace que cada canción comience en modo "pausado" - **[Discord](https://discord.com/) Rich Presence**: Muestra a tus amigos lo que estás escuchando - con [Rich Presence](https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png) + con [Rich Presence](https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png) - **Descargador**: Descarga - MP3 [directamente desde la interfaz](https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png) [(youtube-dl)](https://github.com/ytdl-org/youtube-dl) + MP3 [directamente desde la interfaz](https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png) [(youtube-dl)](https://github.com/ytdl-org/youtube-dl) - **Volumen Exponencial**: Hace que el control de volumen - sea [exponencial](https://greasyfork.org/en/scripts/397686-youtube-music-fix-volume-ratio/) para facilitar la - selección de volúmenes más bajos + sea [exponencial](https://greasyfork.org/en/scripts/397686-youtube-music-fix-volume-ratio/) para facilitar la + selección de volúmenes más bajos - **Menú en la Aplicación**: [da a las barras un aspecto elegante y oscuro](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png) - > (consulta [esta publicación](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) si tienes problemas - para acceder al menú después de habilitar este plugin y la opción hide-menu) + > (consulta [esta publicación](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) si tienes problemas + > para acceder al menú después de habilitar este plugin y la opción hide-menu) - **Scrobbler**: Agrega soporte para scrobbling en [Last.fm](https://www.last.fm/) y [ListenBrainz](https://listenbrainz.org/) @@ -116,43 +119,43 @@ Lee esto en otros idiomas: [🏴 Inglés](../../README.md), [🇰🇷 Coreano](. - **Sin Inicio de Sesión de Google**: Elimina los botones y enlaces de inicio de sesión de Google de la interfaz - **Notificaciones**: Muestra una notificación cuando comienza una canción - a reproducirse ([notificaciones interactivas](https://user-images.githubusercontent.com/78568641/114102651-63ce0e00-98d0-11eb-9dfe-c5a02bb54f9c.png) - están disponibles en Windows) + a reproducirse ([notificaciones interactivas](https://user-images.githubusercontent.com/78568641/114102651-63ce0e00-98d0-11eb-9dfe-c5a02bb54f9c.png) + están disponibles en Windows) - **Picture-in-picture**: permite cambiar la aplicación al modo picture-in-picture - **Velocidad de Reproducción**: Escucha rápido, escucha - lento! [Agrega un deslizador que controla la velocidad de reproducción de las canciones](https://user-images.githubusercontent.com/61631665/129976003-e55db5ba-bf42-448c-a059-26a009775e68.png) + lento! [Agrega un deslizador que controla la velocidad de reproducción de las canciones](https://user-images.githubusercontent.com/61631665/129976003-e55db5ba-bf42-448c-a059-26a009775e68.png) - **Volumen Preciso**: Controla el volumen de forma precisa utilizando la rueda del mouse/atajos de teclado, con un HUD personalizado y pasos de volumen personalizables - **Atajos (& MPRIS)**: Permite configurar atajos globales para la reproducción (reproducir/pausar/siguiente/anterior) + - desactivar [osd multimedia](https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png) - al anular las teclas multimedia + habilitar Ctrl/CMD + F para buscar + habilitar el soporte mpris de Linux para - teclas multimedia + [atajos personalizados](https://github.com/Araxeus/youtube-music/blob/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50) - para [usuarios avanzados](https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902) + desactivar [osd multimedia](https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png) + al anular las teclas multimedia + habilitar Ctrl/CMD + F para buscar + habilitar el soporte mpris de Linux para + teclas multimedia + [atajos personalizados](https://github.com/Araxeus/youtube-music/blob/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50) + para [usuarios avanzados](https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902) - **Saltar Canción no Gustada**: Salta las canciones que no te gustan - **Saltar Silencios**: Salta automáticamente las secciones de silencio - [**SponsorBlock**](https://github.com/ajayyy/SponsorBlock): Salta automáticamente las partes que no son de música, como la introducción/final o - partes de videos musicales donde no se reproduce la canción + partes de videos musicales donde no se reproduce la canción - **Control Multimedia en la Barra de Tareas**: Controla la reproducción desde - la [barra de tareas de Windows](https://user-images.githubusercontent.com/78568641/111916130-24a35e80-8a82-11eb-80c8-5021c1aa27f4.png) + la [barra de tareas de Windows](https://user-images.githubusercontent.com/78568641/111916130-24a35e80-8a82-11eb-80c8-5021c1aa27f4.png) - **TouchBar**: Diseño personalizado de TouchBar para macOS - **Tuna OBS**: Integración con el complemento [Tuna](https://obsproject.com/forum/resources/tuna.843/) de [OBS](https://obsproject.com/) - **Cambiador de Calidad de Video**: Permite cambiar la calidad del video con - un [botón](https://user-images.githubusercontent.com/78568641/138574366-70324a5e-2d64-4f6a-acdd-dc2a2b9cecc5.png) en - la superposición de video + un [botón](https://user-images.githubusercontent.com/78568641/138574366-70324a5e-2d64-4f6a-acdd-dc2a2b9cecc5.png) en + la superposición de video - **Alternar Video**: Agrega - un [botón](https://user-images.githubusercontent.com/28893833/173663950-63e6610e-a532-49b7-9afa-54cb57ddfc15.png) para - alternar entre el modo de video/canción. también puede eliminar opcionalmente toda la pestaña de video + un [botón](https://user-images.githubusercontent.com/28893833/173663950-63e6610e-a532-49b7-9afa-54cb57ddfc15.png) para + alternar entre el modo de video/canción. también puede eliminar opcionalmente toda la pestaña de video - **Visualizador**: Diferentes visualizadores de música @@ -199,7 +202,7 @@ scoop install extras/youtube-music Alternativamente, puedes usar [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), el administrador de paquetes CLI oficial de Windows 11 para instalar el paquete `th-ch.YouTubeMusic`. -*Nota: Microsoft Defender SmartScreen podría bloquear la instalación ya que proviene de un "editor desconocido". Esto también esválido para la instalación manual al intentar ejecutar el ejecutable (.exe) después de una descarga manual aquí en GitHub (mismo archivo).* +_Nota: Microsoft Defender SmartScreen podría bloquear la instalación ya que proviene de un "editor desconocido". Esto también esválido para la instalación manual al intentar ejecutar el ejecutable (.exe) después de una descarga manual aquí en GitHub (mismo archivo)._ ```bash winget install th-ch.YouTubeMusic @@ -208,9 +211,9 @@ winget install th-ch.YouTubeMusic #### Cómo instalar sin conexión a Internet? (en Windows) - Descarga el archivo `*.nsis.7z` para _la arquitectura de tu dispositivo_ en la [página de lanzamientos](https://github.com/th-ch/youtube-music/releases/latest). - - `x64` para Windows de 64 bits - - `ia32` para Windows de 32 bits - - `arm64` para Windows ARM64 + - `x64` para Windows de 64 bits + - `ia32` para Windows de 32 bits + - `arm64` para Windows ARM64 - Descarga el instalador en la página de lanzamientos. (`*-Setup.exe`) - Colócalos en el **mismo directorio**. - Ejecuta el instalador. @@ -242,13 +245,14 @@ Usando plugins, puedes: Crea una carpeta en `src/plugins/NOMBRE-DEL-PLUGIN`: - `index.ts`: el archivo principal del plugin + ```typescript import style from './style.css?inline'; // importar estilo como inline import { createPlugin } from '@/utils'; export default createPlugin({ - name: "Plugin Label", + name: 'Plugin Label', restartNeeded: true, // si el valor es true, ytmusic muestra el diálogo de reinicio config: { enabled: false, @@ -259,10 +263,10 @@ export default createPlugin({ const config = await getConfig(); return [ { - label: "menu", + label: 'menu', submenu: [1, 2, 3].map((value) => ({ label: `value ${value}`, - type: "radio", + type: 'radio', checked: config.value === value, click() { setConfig({ value }); @@ -276,26 +280,34 @@ export default createPlugin({ window.maximize(); // puedes comunicarte con el plugin de renderizado - ipc.handle("some-event", () => { - return "hello"; + ipc.handle('some-event', () => { + return 'hello'; }); }, // se activa cuando cambia la configuración - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // se activa cuando se desactiva el plugin - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { - console.log(await context.ipc.invoke("some-event")); + console.log(await context.ipc.invoke('some-event')); }, // Solo disponible en el plugin de renderizado onPlayerApiReady(api: YoutubePlayer, context: RendererContext) { // establecer la configuración del plugin fácilmente context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -305,7 +317,6 @@ export default createPlugin({ stop(_context) {}, }, }); - ``` ### Casos de uso comunes @@ -319,13 +330,13 @@ import style from './style.css?inline'; // importar estilo como inline import { createPlugin } from '@/utils'; export default createPlugin({ - name: 'Plugin Label', - restartNeeded: true, // si el valor es true, ytmusic mostrará el diálogo de reinicio - config: { - enabled: false, - }, // tu configuración personalizada - stylesheets: [style], // tu estilo personalizado - renderer() {} // define el hook del renderizador + name: 'Plugin Label', + restartNeeded: true, // si el valor es true, ytmusic mostrará el diálogo de reinicio + config: { + enabled: false, + }, // tu configuración personalizada + stylesheets: [style], // tu estilo personalizado + renderer() {}, // define el hook del renderizador }); ``` @@ -335,20 +346,20 @@ export default createPlugin({ import { createPlugin } from '@/utils'; export default createPlugin({ - name: 'Plugin Label', - restartNeeded: true, // si el valor es true, ytmusic mostrará el diálogo de reinicio - config: { - enabled: false, - }, // tu configuración personalizada - renderer() { - // Elimina el botón de inicio de sesión - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // define el hook del renderizador + name: 'Plugin Label', + restartNeeded: true, // si el valor es true, ytmusic mostrará el diálogo de reinicio + config: { + enabled: false, + }, // tu configuración personalizada + renderer() { + // Elimina el botón de inicio de sesión + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // define el hook del renderizador }); ``` - comunicación entre el front y el back: se puede hacer utilizando el módulo ipcMain de electron. Ver archivo `index.ts` y - ejemplo en el plugin `sponsorblock`. + ejemplo en el plugin `sponsorblock`. ## Compilar diff --git a/docs/readme/README-fr.md b/docs/readme/README-fr.md index eb46f5a40b..956c1f85e4 100644 --- a/docs/readme/README-fr.md +++ b/docs/readme/README-fr.md @@ -14,7 +14,6 @@ ![Capture d'écran](/web/screenshot.png "Capture d'écran") -
SVG YouTube Music @@ -31,30 +30,34 @@ Lisez ceci dans d'autres langues: [🏴 Anglais](../../README.md), [🇰🇷 Cor ## Image de démonstration -| Écran du lecteur (thème de couleur de l'album & lumière ambiante) | -|:---------------------------------------------------------------------------------------------------------:| -|![Capture d'écran1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc)| +| Écran du lecteur (thème de couleur de l'album & lumière ambiante) | +| :--------------------------------------------------------------------------------------------------------------: | +| ![Capture d'écran1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc) | ## Contenu -- [Fonctionnalités](#fonctionnalités) -- [Plugins disponibles](#plugins-disponibles) -- [Traduction](#traduction) -- [Téléchargement](#téléchargement) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [Comment installer sans connexion réseau ? (sous Windows)](#comment-installer-sans-connexion-réseau-sous-windows) -- [Thèmes](#thèmes) -- [Dev](#dev) -- [Créez vos propres plugins](#créez-vos-propres-plugins) - - [Créer un plugin](#créer-un-plugin) - - [Cas d'utilisation courants](#cas-dutilisation-courants) -- [Construction](#construction) -- [Aperçu de la production](#aperçu-de-la-production) -- [Tests](#tests) -- [Licence](#licence) -- [FAQ](#faq) +- [YouTube Music](#youtube-music) + - [Image de démonstration](#image-de-démonstration) + - [Contenu](#contenu) + - [Fonctionnalités :](#fonctionnalités-) + - [Plugins disponibles :](#plugins-disponibles-) + - [Traduction](#traduction) + - [Téléchargement](#téléchargement) + - [Arch Linux](#arch-linux) + - [MacOS](#macos) + - [Windows](#windows) + - [Comment installer sans connexion réseau ? (sous Windows)](#comment-installer-sans-connexion-réseau--sous-windows) + - [Thèmes](#thèmes) + - [Dev](#dev) + - [Créez vos propres plugins](#créez-vos-propres-plugins) + - [Créer un plugin](#créer-un-plugin) + - [Cas d'utilisation courants](#cas-dutilisation-courants) + - [Construction](#construction) + - [Aperçu de la production](#aperçu-de-la-production) + - [Tests](#tests) + - [Licence](#licence) + - [FAQ](#faq) + - [Pourquoi le menu de l'application ne s'affiche-t-il pas ?](#pourquoi-le-menu-de-lapplication-ne-saffiche-t-il-pas-) ## Fonctionnalités : @@ -62,7 +65,7 @@ Lisez ceci dans d'autres langues: [🏴 Anglais](../../README.md), [🇰🇷 Cor la pop-up ["Continuer à regarder ?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) qui pause la musique après un certain temps - - Et plus encore ... +- Et plus encore ... ## Plugins disponibles : @@ -102,7 +105,7 @@ Lisez ceci dans d'autres langues: [🏴 Anglais](../../README.md), [🇰🇷 Cor - **Menu In-App** : [donne aux barres un aspect chic et sombre](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png) > (voir [ce poste](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) si vous avez des problèmes - pour accéder au menu après avoir activé ce plugin et l'option masquer-menu) + > pour accéder au menu après avoir activé ce plugin et l'option masquer-menu) - **Scrobbler** : Ajoute le support de scrobbling pour [Last.fm](https://www.last.fm/) et [ListenBrainz](https://listenbrainz.org/) @@ -200,7 +203,7 @@ scoop install extras/youtube-music Alternativement, vous pouvez utiliser [Winget](https://learn.microsoft.com/fr-fr/windows/package-manager/winget/), le gestionnaire de paquets CLI officiel de Windows 11, pour installer le paquet `th-ch.YouTubeMusic`. -*Note : Microsoft Defender SmartScreen pourrait bloquer l'installation car elle provient d'un "éditeur inconnu". Ceci est également vrai pour l'installation manuelle lors de l'essai d'exécution de l'exécutable (.exe) après un téléchargement manuel ici sur GitHub (même fichier).* +_Note : Microsoft Defender SmartScreen pourrait bloquer l'installation car elle provient d'un "éditeur inconnu". Ceci est également vrai pour l'installation manuelle lors de l'essai d'exécution de l'exécutable (.exe) après un téléchargement manuel ici sur GitHub (même fichier)._ ```bash winget install th-ch.YouTubeMusic @@ -230,6 +233,7 @@ cd youtube-music pnpm install --frozen-lockfile pnpm dev ``` + ## Créez vos propres plugins En utilisant des plugins, vous pouvez : @@ -242,6 +246,7 @@ En utilisant des plugins, vous pouvez : Créez un dossier dans `src/plugins/NOM-DE-VOTRE-PLUGIN` : - `index.ts` : le fichier principal du plugin + ```typescript import style from './style.css?inline'; // importez le style comme inline @@ -325,7 +330,7 @@ export default createPlugin({ enabled: false, }, // votre configuration personnalisée stylesheets: [style], // votre style personnalisé - renderer() {} // définissez le crochet de rendu + renderer() {}, // définissez le crochet de rendu }); ``` @@ -342,10 +347,9 @@ export default createPlugin({ }, // votre configuration personnalisée renderer() { // Supprimez le bouton de connexion - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // définissez le crochet de rendu + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // définissez le crochet de rendu }); - ``` - **Communication entre le front et le back** : cela peut se faire en utilisant le module ipcMain d'Electron. Voir le fichier `index.ts` et l'exemple dans le plugin `sponsorblock`. diff --git a/docs/readme/README-hu.md b/docs/readme/README-hu.md index cc9e0beb1e..e09b334db7 100644 --- a/docs/readme/README-hu.md +++ b/docs/readme/README-hu.md @@ -14,7 +14,6 @@ ![Bannerkep](https://i.imgur.com/UaZPHqX.png) -
YouTube Music SVG @@ -30,37 +29,41 @@ Olvasd el más nyelveken: [🏴 Angol](../../README.md), [🇰🇷 Korea](./READ ## Bemutató kép -| Lejátszó ablak (album színtéma és környezeti fény) | -|:---------------------------------------------------------------------------------------------------------:| -|![Bemutatókép1](https://i.imgur.com/Tj4LBwf.png)| +| Lejátszó ablak (album színtéma és környezeti fény) | +| :------------------------------------------------: | +| ![Bemutatókép1](https://i.imgur.com/Tj4LBwf.png) | ## Tartalom -- [Funkciók](#Funkciók) -- [Elérhető bővítmények](#Elérhető-bővítmények) -- [Fordítás](#Fordítás) -- [Letöltés](#Letöltés) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [Hogyan telepítsük hálózati kapcsolat nélkül? (Windows alatt)](#Hogyan-telepítsd-hálózati-kapcsolat-nélkül-Windows) -- [Témák](#Témák) -- [Fejlesztés](#Fejlesztés) -- [Saját bővítmények készítése](#Saját-bővítmények-készítése) - - [Bővítmény létrehozása](#Bővítmény-létrehozása) - - [Gyakori használati esetek](#Gyakori-használati-esetek) -- [Build](#build) -- [Gyártás előnézete](#Gyártás-előnézete) -- [Tesztelés](#Tesztelés) -- [Licenc](#Licenc) -- [GYIK](#GYIK) +- [YouTube Music](#youtube-music) + - [Bemutató kép](#bemutató-kép) + - [Tartalom](#tartalom) + - [Funkciók:](#funkciók) + - [Elérhető bővítmények:](#elérhető-bővítmények) + - [Fordítás](#fordítás) + - [Letöltés](#letöltés) + - [Arch Linux](#arch-linux) + - [macOS](#macos) + - [Windows](#windows) + - [Hogyan telepítsd hálózati kapcsolat nélkül? (Windows)](#hogyan-telepítsd-hálózati-kapcsolat-nélkül-windows) + - [Témák](#témák) + - [Fejlesztés](#fejlesztés) + - [Saját bővítmények készítése](#saját-bővítmények-készítése) + - [Bővítmény létrehozása](#bővítmény-létrehozása) + - [Gyakori használati esetek](#gyakori-használati-esetek) + - [Build](#build) + - [Gyártás előnézete](#gyártás-előnézete) + - [Tesztelés](#tesztelés) + - [Licenc](#licenc) + - [GYIK](#gyik) + - [Miért nem jelenik meg az alkalmazás menüje?](#miért-nem-jelenik-meg-az-alkalmazás-menüje) ## Funkciók: - **Automatikus megerősítés a lejátszás szüneteltetésekor** (Alapból engedélyezve): Kikapcsolja a ["Folytatja a nézést?"](https://i.imgur.com/z2mG0QN.png) felugró ablakot, amely bizonyos idő után leállítja a zenét. - - És még sok más ... +- És még sok más ... ## Elérhető bővítmények: @@ -140,7 +143,6 @@ Olvasd el más nyelveken: [🏴 Angol](../../README.md), [🇰🇷 Korea](./READ - **Vizualizáció**: Különböző zenei vizualizációk. - ## Fordítás Segíthetsz a fordításban a [Hosted Weblate](https://hosted.weblate.org/projects/youtube-music/) oldalán. @@ -184,7 +186,7 @@ scoop install extras/youtube-music Alternatívaként használhatod a [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/) eszközt, a Windows 11 hivatalos CLI csomagkezelőjét, hogy telepítsd a `th-ch.YouTubeMusic` csomagot. -*Megjegyzés: A Microsoft Defender SmartScreen figyelmeztethet vagy blokkolhatja a telepítést, mivel az alkalmazás "ismeretlen kiadótól" származik. Ez a figyelmeztetés akkor is megjelenhet, ha manuálisan töltöd le és próbálod futtatni a GitHubról letöltött (.exe) fájlt. Ebben az esetben kattints a "További információ" gombra, majd válaszd a "Futtatás mindenképp" opciót a telepítés folytatásához.* +_Megjegyzés: A Microsoft Defender SmartScreen figyelmeztethet vagy blokkolhatja a telepítést, mivel az alkalmazás "ismeretlen kiadótól" származik. Ez a figyelmeztetés akkor is megjelenhet, ha manuálisan töltöd le és próbálod futtatni a GitHubról letöltött (.exe) fájlt. Ebben az esetben kattints a "További információ" gombra, majd válaszd a "Futtatás mindenképp" opciót a telepítés folytatásához._ ```bash winget install th-ch.YouTubeMusic @@ -227,6 +229,7 @@ A bővítmények segítségével a következőket teheted: Hozz létre egy mappát a `src/plugins/YOUR-PLUGIN-NAME` útvonalon: - `index.ts`: a bővítmény fő fájlja + ```typescript import style from './style.css?inline'; // import style as inline @@ -266,9 +269,13 @@ export default createPlugin({ }); }, // it fired when config changed - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // it fired when plugin disabled - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { @@ -279,8 +286,12 @@ export default createPlugin({ // set plugin config easily context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -309,7 +320,7 @@ export default createPlugin({ enabled: false, }, // your custom config stylesheets: [style], // your custom style - renderer() {} // define renderer hook + renderer() {}, // define renderer hook }); ``` @@ -326,8 +337,8 @@ export default createPlugin({ }, // your custom config renderer() { // Remove the login button - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // define renderer hook + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // define renderer hook }); ``` diff --git a/docs/readme/README-is.md b/docs/readme/README-is.md index 1230503bff..1035604bc4 100644 --- a/docs/readme/README-is.md +++ b/docs/readme/README-is.md @@ -12,8 +12,7 @@
-![Screenshot](/web/screenshot.png "Screenshot") - +![Screenshot](/web/screenshot.png 'Screenshot')
@@ -27,42 +26,46 @@ Lestu þetta á öðrum tungumálum: [🏴 Ensku](../../README.md), [🇰🇷 K - Innfæddur útlit og tilfinning, miðar að því að halda upprunalegu viðmótinu - Rammi fyrir sérsniðnar tengiforrit: breyttu YouTube Tónlist að þínum þörfum (stíl, efni, eiginleikar), virkjaðu/slökktu á viðbætur í - einn smellur + einn smellur ## Sýnishornsmynd -| Spilaraskjár (albúmslitaþema & umhverfisljós) | -|:---------------------------------------------------------------------------------------------------------:| -|![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc)| +| Spilaraskjár (albúmslitaþema & umhverfisljós) | +| :---------------------------------------------------------------------------------------------------------: | +| ![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc) | ## Efni -- [Eiginleikar](#eiginleikar) -- [Tiltæk tengiforrit](#tiltæk-tengiforrit) -- [Þýðing](#þýðing) -- [Sækja](#sækja) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [Hvernig á að setja upp án nettengingar? (í Windows)](#hvernig-á-að-setja-upp-án-nettengingar-í-windows) -- [Þemu](#þemu) -- [Þróun](#þróun) -- [Búðu til þín eigin viðbætur](#búðu-til-þín-eigin-viðbætur) - - [Er að búa til viðbót](#er-að-búa-til-viðbót) - - [Algeng notkunartilvik](#algeng-notkunartilvik) -- [Byggja](#byggja) -- [Framleiðsluforskoðun](#framleiðsluforskoðun) -- [Prófanir](#prófanir) -- [Leyfi](#leyfi) -- [Algengustu spurningar](#algengustu-spurningar) +- [YouTube Tónlist](#youtube-tónlist) + - [Sýnishornsmynd](#sýnishornsmynd) + - [Efni](#efni) + - [Eiginleikar:](#eiginleikar) + - [Tiltæk tengiforrit:](#tiltæk-tengiforrit) + - [Þýðing](#þýðing) + - [Sækja](#sækja) + - [Arch Linux](#arch-linux) + - [MacOS](#macos) + - [Windows](#windows) + - [Hvernig á að setja upp án nettengingar? (í Windows)](#hvernig-á-að-setja-upp-án-nettengingar-í-windows) + - [Þemu](#þemu) + - [Þróun](#þróun) + - [Búðu til þín eigin tengiforrit](#búðu-til-þín-eigin-tengiforrit) + - [Er að búa til tengiforrit](#er-að-búa-til-tengiforrit) + - [Algeng notkunartilvik](#algeng-notkunartilvik) + - [Byggja](#byggja) + - [Framleiðsluforskoðun](#framleiðsluforskoðun) + - [Prófanir](#prófanir) + - [Leyfi](#leyfi) + - [Algengustu Spurningar](#algengustu-spurningar) + - [Hvers vegna forritavalmynd birtist ekki?](#hvers-vegna-forritavalmynd-birtist-ekki) ## Eiginleikar: - **Sjálfvirk staðfesting þegar gert er hlé** (Alltaf virkt): slökkva á - ["Halda áfram að horfa?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) - popup sem gerir hlé á tónlist eftir ákveðinn tíma + ["Halda áfram að horfa?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png) + popup sem gerir hlé á tónlist eftir ákveðinn tíma - - Og meira... +- Og meira... ## Tiltæk tengiforrit: @@ -89,10 +92,10 @@ Lestu þetta á öðrum tungumálum: [🏴 Ensku](../../README.md), [🇰🇷 K - **Slökkva á Sjálfvirkri Spilun**: Gerir lag að byrja í "hlé" ham - **[Discord](https://discord.com/) Rík Nærveru**: Sýndu vinum þínum hvað þú hlustar á - með [Rík Nærveru](https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png) + með [Rík Nærveru](https://user-images.githubusercontent.com/28219076/104362104-a7a0b980-5513-11eb-9744-bb89eabe0016.png) - **Niðurhalari**: Niðurhalum -MP3 [beint úr viðmótinu](https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png) [(youtube-dl)](https://github.com/ytdl-org/youtube-dl) + MP3 [beint úr viðmótinu](https://user-images.githubusercontent.com/61631665/129977677-83a7d067-c192-45e1-98ae-b5a4927393be.png) [(youtube-dl)](https://github.com/ytdl-org/youtube-dl) - **Veldibundiðrúmmál**: Gerir hljóðstyrkssleðann [veldisvísis](https://greasyfork.org/en/scripts/397686-youtube-music-fix-volume-ratio/) svo það er auðveldara að velja lægra hljóðstyrk. @@ -100,7 +103,7 @@ MP3 [beint úr viðmótinu](https://user-images.githubusercontent.com/61631665/1 - **Valmynd í Forriti**: [Gefur börum flott, dökkt útlit](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png) > (sjá [þessa færslu](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) ef þú átt í vandræðum - með að fá aðgang að valmyndinni eftir að hafa virkjað þessa viðbót og fela valmyndarvalkostinn) + > með að fá aðgang að valmyndinni eftir að hafa virkjað þessa viðbót og fela valmyndarvalkostinn) - **Scrobbler**: Bætir við scrobbling stuðningi fyrir [Last.fm](https://www.last.fm/) og [ListenBrainz](https://listenbrainz.org/) @@ -125,10 +128,10 @@ MP3 [beint úr viðmótinu](https://user-images.githubusercontent.com/61631665/1 - **Nákvæmshljóðstyrkur**: Stjórnaðu hljóðstyrknum nákvæmlega með músarhjóli/hraðtökkum, með sérsniðnum HUD og sérsniðnum hljóðstyrksþrepum - **Flýtileiðir (og MPRIS)**: Leyfir að stilla alþjóðlegarflýtilyklar fyrir spilun (spila/gera hlé/næsta/fyrri) + - óvirkja [media osd](https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png) - með því að hnekkja miðlunarlyklum + virkja Ctrl/CMD + F til að leita + virkja linux mpris stuðning fyrir - miðlunarlyklar + [sérsniðnir flýtilyklar](https://github.com/Araxeus/youtube-music/blob/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50) - fyrir [háþróaða notendur](https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902) + óvirkja [media osd](https://user-images.githubusercontent.com/84923831/128601225-afa38c1f-dea8-4209-9f72-0f84c1dd8b54.png) + með því að hnekkja miðlunarlyklum + virkja Ctrl/CMD + F til að leita + virkja linux mpris stuðning fyrir + miðlunarlyklar + [sérsniðnir flýtilyklar](https://github.com/Araxeus/youtube-music/blob/1e591d6a3df98449bcda6e63baab249b28026148/providers/song-controls.js#L13-L50) + fyrir [háþróaða notendur](https://github.com/th-ch/youtube-music/issues/106#issuecomment-952156902) - **Slepptu Lögum sem Mislíkuðust**: Sleppir mislíkaði lög - **Slepptu Þögnum**: Slepptu sjálfkrafa þagnarköflum í lögum @@ -198,9 +201,9 @@ scoop install extras/youtube-music Að öðrum kosti geturðu notað [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), Windows 11s opinber CLI pakkastjóri til að setja upp `th-ch.YouTubeMusic` pakkann. -*Athugið: Microsoft Defender SmartScreen gæti lokað uppsetningunni þar sem hún er frá „óþekktum útgefanda“. Þetta er einnig +_Athugið: Microsoft Defender SmartScreen gæti lokað uppsetningunni þar sem hún er frá „óþekktum útgefanda“. Þetta er einnig satt fyrir handvirka uppsetningu þegar reynt er að keyra executable(.exe) eftir handvirkt niðurhal hér á github (sama -skrá).* +skrá)._ ```bash winget install th-ch.YouTubeMusic @@ -209,9 +212,9 @@ winget install th-ch.YouTubeMusic #### Hvernig á að setja upp án nettengingar? (í Windows) - Sæktu `*.nsis.7z` skrána fyrir _arkitektúr tækisins þíns_ á [útgáfusíðu](https://github.com/th-ch/youtube-music/releases/latest). - - `x64` fyrir 64-bita Windows - - `ia32` fyrir 32-bita Windows - - `arm64` fyrir ARM64 Windows + - `x64` fyrir 64-bita Windows + - `ia32` fyrir 32-bita Windows + - `arm64` fyrir ARM64 Windows - Sæktu uppsetningarforrit á útgáfusíðu. (`*-Setup.exe`) - Settu þær í **sömu möppuna**. - Keyrðu uppsetningarforritið. @@ -243,6 +246,7 @@ Með því að nota tengiforrit geturðu: Búðu til möppu í `src/plugins/YOUR-PLUGIN-NAME`: - `index.ts`: aðal skránni af tengiforritið + ```typescript import style from './style.css?inline'; // flytja inn stíl sem inline @@ -282,9 +286,13 @@ export default createPlugin({ }); }, // það kviknaði þegar stillingum var breytt - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // it fired when plugin disabled - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { @@ -295,8 +303,12 @@ export default createPlugin({ // stilltu stillingar viðbótarinnar auðveldlega context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -325,7 +337,7 @@ export default createPlugin({ enabled: false, }, // sérsniðnastillingar þinn stylesheets: [style], // sérsniðnastílinn þinn - renderer() {} // skilgreina renderer krók + renderer() {}, // skilgreina renderer krók }); ``` @@ -342,13 +354,13 @@ export default createPlugin({ }, // sérsniðnastillingar þinn renderer() { // Fjarlægðu innskráningarhnappinn - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // skilgreina renderer krók + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // skilgreina renderer krók }); ``` - samskipti á milli að framan og aftan: hægt að gera með því að nota ipcMain eininguna frá electron. Sjá `index.ts` skrá og - dæmi í 'styrktarblokk' tengiforritinu. + dæmi í 'styrktarblokk' tengiforritinu. ## Byggja diff --git a/docs/readme/README-ko.md b/docs/readme/README-ko.md index 5f13c5b40d..f59402e828 100644 --- a/docs/readme/README-ko.md +++ b/docs/readme/README-ko.md @@ -12,7 +12,7 @@
-![Screenshot](/web/screenshot.png "Screenshot") +![Screenshot](/web/screenshot.png 'Screenshot')
@@ -29,24 +29,27 @@ ## Content -- [기능](#기능) -- [사용 가능한 플러그인](#사용-가능한-플러그인) -- [번역](#번역) -- [다운로드](#다운로드) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [(Windows에서) 네트워크에 연결하지 않고 설치하는 방법은 무엇인가요?](#windows에서-네트워크에-연결하지-않고-설치하는-방법은-무엇인가요) -- [테마](#테마) -- [개발](#개발) -- [나만의 플러그인 만들기](#나만의-플러그인-만들기) - - [플러그인 만들기](#플러그인-만들기) - - [일반적인 사용 예](#일반적인-사용-예) -- [빌드](#빌드) -- [프로덕션 빌드 미리보기](#프로덕션-빌드-미리보기) -- [테스트](#테스트) -- [라이선스](#라이선스) -- [자주 묻는 질문](#자주-묻는-질문) +- [유튜브 뮤직 (YouTube Music)](#유튜브-뮤직-youtube-music) + - [Content](#content) + - [기능:](#기능) + - [사용 가능한 플러그인:](#사용-가능한-플러그인) + - [번역](#번역) + - [다운로드](#다운로드) + - [Arch Linux](#arch-linux) + - [MacOS](#macos) + - [Windows](#windows) + - [(Windows에서) 네트워크에 연결하지 않고 설치하는 방법은 무엇인가요?](#windows에서-네트워크에-연결하지-않고-설치하는-방법은-무엇인가요) + - [테마](#테마) + - [개발](#개발) + - [나만의 플러그인 만들기](#나만의-플러그인-만들기) + - [플러그인 만들기](#플러그인-만들기) + - [일반적인 사용 예](#일반적인-사용-예) + - [빌드](#빌드) + - [프로덕션 빌드 미리보기](#프로덕션-빌드-미리보기) + - [테스트](#테스트) + - [라이선스](#라이선스) + - [자주 묻는 질문](#자주-묻는-질문) + - [앱 메뉴가 표시되지 않는 이유는 무엇인가요?](#앱-메뉴가-표시되지-않는-이유는-무엇인가요) ## 기능: @@ -142,6 +145,7 @@ AUR에서 [`youtube-music-bin`](https://aur.archlinux.org/packages/youtube-music ### MacOS Homebrew를 사용하여 앱을 설치할 수 있습니다: + ```bash brew install --cask https://raw.githubusercontent.com/th-ch/youtube-music/master/youtube-music.rb ``` @@ -163,7 +167,7 @@ scoop install extras/youtube-music 또는 Windows 11의 공식 CLI 패키지 관리자인 [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/)을 사용하여 `th-ch.YouTubeMusic` 패키지를 설치할 수 있습니다. -*참고: "알 수 없는 게시자"의 파일이기 때문에 Microsoft Defender의 SmartScreen에서 설치를 차단할 수 있습니다. 이는 GitHub에서 동일 파일을 수동으로 다운로드한 후 실행 파일(.exe)을 실행하려고 할 때도 마찬가지로 발생합니다.* +_참고: "알 수 없는 게시자"의 파일이기 때문에 Microsoft Defender의 SmartScreen에서 설치를 차단할 수 있습니다. 이는 GitHub에서 동일 파일을 수동으로 다운로드한 후 실행 파일(.exe)을 실행하려고 할 때도 마찬가지로 발생합니다._ ```bash winget install th-ch.YouTubeMusic @@ -171,7 +175,7 @@ winget install th-ch.YouTubeMusic #### (Windows에서) 네트워크에 연결하지 않고 설치하는 방법은 무엇인가요? -- [릴리즈 페이지](https://github.com/th-ch/youtube-music/releases/latest)에서 _본인 기기 아키텍처_에 맞는 `*.nsis.7z` 파일을 다운로드하세요. +- [릴리즈 페이지](https://github.com/th-ch/youtube-music/releases/latest)에서 *본인 기기 아키텍처*에 맞는 `*.nsis.7z` 파일을 다운로드하세요. - `x64`는 64비트 Windows 용입니다. - `ia32`는 32비트 Windows 용입니다. - `arm64`는 ARM64 Windows 용입니다. @@ -206,6 +210,7 @@ pnpm dev `plugins/나만의-플러그인-이름`에 폴더를 만듭니다: - `index.ts`: 플러그인의 메인 파일입니다. + ```typescript import style from './style.css?inline'; // 스타일을 인라인으로 가져옵니다 @@ -245,9 +250,13 @@ export default createPlugin({ }); }, // config가 변경되면 실행됩니다 - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // 플러그인이 비활성화되면 실행됩니다 - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { @@ -258,8 +267,12 @@ export default createPlugin({ // 플러그인의 config를 간단하게 설정할 수 있습니다 context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -288,7 +301,7 @@ export default createPlugin({ enabled: false, }, // 나의 커스텀 config stylesheets: [style], // 나의 커스텀 스타일 - renderer() {} // 렌더러 훅 정의 + renderer() {}, // 렌더러 훅 정의 }); ``` @@ -305,8 +318,8 @@ export default createPlugin({ }, // 나의 커스텀 config renderer() { // 로그인 버튼을 제거합니다 - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // 렌더러 훅 정의 + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // 렌더러 훅 정의 }); ``` diff --git a/docs/readme/README-ru.md b/docs/readme/README-ru.md index 2147dbb8d7..ec345327f0 100644 --- a/docs/readme/README-ru.md +++ b/docs/readme/README-ru.md @@ -12,8 +12,7 @@
-![Screenshot](/web/screenshot.png "Screenshot") - +![Screenshot](/web/screenshot.png 'Screenshot')
@@ -30,37 +29,41 @@ ## Демо-изображение -| Экран плеера (цветовая тема альбома & режим Ambient) | -|:---------------------------------------------------------------------------------------------------------:| -|![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc)| +| Экран плеера (цветовая тема альбома & режим Ambient) | +| :---------------------------------------------------------------------------------------------------------: | +| ![Screenshot1](https://github.com/th-ch/youtube-music/assets/16558115/53efdf73-b8fa-4d7b-a235-b96b91ea77fc) | ## Содержание -- [Возможности](#Возможности) -- [Доступные плагины](#Доступные-плагины) -- [Перевод](#Перевод) -- [Скачать](#Скачать) - - [Arch Linux](#arch-linux) - - [MacOS](#macos) - - [Windows](#windows) - - [Как установить без подключения к интернету? (в Windows)](#Установка-без-подключения-к-Интернету-в-Windows) -- [Темы](#Темы) -- [Для разработчиков](#Для-разработчиков) -- [Создайте свои собственные плагины](#Создайте-свои-собственные-плагины) - - [Создание плагина](#Создание-плагина) - - [Примеры использования](#Примеры-использования) -- [Сборка](#Сборка) -- [Предварительный просмотр](#Предварительный-просмотр) -- [Тестирование](#Тестирование) -- [Лицензия](#Лицензия) -- [Часто задаваемые вопросы](#Часто-задаваемые-вопросы) +- [YouTube Music](#youtube-music) + - [Демо-изображение](#демо-изображение) + - [Содержание](#содержание) + - [Возможности:](#возможности) + - [Доступные плагины:](#доступные-плагины) + - [Перевод](#перевод) + - [Скачать](#скачать) + - [Arch Linux](#arch-linux) + - [macOS](#macos) + - [Windows](#windows) + - [Установка без подключения к Интернету? (в Windows)](#установка-без-подключения-к-интернету-в-windows) + - [Темы](#темы) + - [Для разработчиков](#для-разработчиков) + - [Создайте свои собственные плагины](#создайте-свои-собственные-плагины) + - [Создание плагина](#создание-плагина) + - [Примеры использования](#примеры-использования) + - [Сборка](#сборка) + - [Предварительный просмотр](#предварительный-просмотр) + - [Тестирование](#тестирование) + - [Лицензия](#лицензия) + - [Часто задаваемые вопросы](#часто-задаваемые-вопросы) + - [Почему меня приложения не отображается?](#почему-меня-приложения-не-отображается) ## Возможности: - **Авто-подтверждение при паузе** (Всегда включено): отключает всплывающие уведомление ["Продолжить просмотр?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png), - которое приостанавливает воспроизведение через определённое время + которое приостанавливает воспроизведение через определённое время - - И больше ... +- И больше ... ## Доступные плагины: @@ -138,7 +141,7 @@ - **Визуализатор**: Различные визуализаторы музыки - **Synced Lyrics**: -Предоставляет синхронизированные слова для песен из таких источников, как [LRClib](https://lrclib.net). + Предоставляет синхронизированные слова для песен из таких источников, как [LRClib](https://lrclib.net). ## Перевод @@ -182,7 +185,7 @@ scoop install extras/youtube-music Также для установки вы можете использовать [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), официальный пакетный менеджер командной строки Windows 11, для установки пакета `th-ch.YouTubeMusic`. -*К сведению: SmartScreen защитника Windows может блокировать установку, так как она от "неизвестного издателя". Это также применимо к методу ручной установки, когда вы пытаетесь запустить исполняемый файл(.exe) после загрузки здесь, на GitHub (тот же файл).* +_К сведению: SmartScreen защитника Windows может блокировать установку, так как она от "неизвестного издателя". Это также применимо к методу ручной установки, когда вы пытаетесь запустить исполняемый файл(.exe) после загрузки здесь, на GitHub (тот же файл)._ ```bash winget install th-ch.YouTubeMusic @@ -225,6 +228,7 @@ pnpm dev Создайте директорию в `src/plugins/YOUR-PLUGIN-NAME`: - `index.ts`: основной файл плагина + ```typescript import style from './style.css?inline'; // import style as inline @@ -264,9 +268,13 @@ export default createPlugin({ }); }, // it fired when config changed - onConfigChange(newConfig) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, // it fired when plugin disabled - stop(context) { /* ... */ }, + stop(context) { + /* ... */ + }, }, renderer: { async start(context) { @@ -277,8 +285,12 @@ export default createPlugin({ // set plugin config easily context.setConfig({ myConfig: api.getVolume() }); }, - onConfigChange(newConfig) { /* ... */ }, - stop(_context) { /* ... */ }, + onConfigChange(newConfig) { + /* ... */ + }, + stop(_context) { + /* ... */ + }, }, preload: { async start({ getConfig }) { @@ -307,7 +319,7 @@ export default createPlugin({ enabled: false, }, // your custom config stylesheets: [style], // your custom style - renderer() {} // define renderer hook + renderer() {}, // define renderer hook }); ``` @@ -324,8 +336,8 @@ export default createPlugin({ }, // your custom config renderer() { // Remove the login button - document.querySelector(".sign-in-link.ytmusic-nav-bar").remove(); - } // define renderer hook + document.querySelector('.sign-in-link.ytmusic-nav-bar').remove(); + }, // define renderer hook }); ``` diff --git a/docs/style/fonts.css b/docs/style/fonts.css index fac730897c..5300d92f57 100644 --- a/docs/style/fonts.css +++ b/docs/style/fonts.css @@ -3,7 +3,8 @@ font-family: 'Heebo'; font-style: normal; font-weight: 400; - src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H0TbFhsqMA6aw.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H0TbFhsqMA6aw.woff2) + format('woff2'); unicode-range: U+0590-05FF, U+20AA, U+25CC, U+FB1D-FB4F; } @@ -12,8 +13,12 @@ font-family: 'Heebo'; font-style: normal; font-weight: 400; - src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H2TbFhsqMA.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H2TbFhsqMA.woff2) + format('woff2'); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, + U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, + U+FFFD; } /* hebrew */ @@ -21,7 +26,8 @@ font-family: 'Heebo'; font-style: normal; font-weight: 700; - src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H0TbFhsqMA6aw.woff2) format('woff2'); + src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H0TbFhsqMA6aw.woff2) + format('woff2'); unicode-range: U+0590-05FF, U+20AA, U+25CC, U+FB1D-FB4F; } @@ -30,8 +36,12 @@ font-family: 'Heebo'; font-style: normal; font-weight: 700; - src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H2TbFhsqMA.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + src: url(https://fonts.gstatic.com/s/heebo/v9/NGS6v5_NC0k9P9H2TbFhsqMA.woff2) + format('woff2'); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, + U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, + U+FFFD; } /* latin-ext */ @@ -39,8 +49,11 @@ font-family: 'Oxygen'; font-style: normal; font-weight: 700; - src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzZmW5Kb8VZBHR.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; + src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzZmW5Kb8VZBHR.woff2) + format('woff2'); + unicode-range: + U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, + U+2C60-2C7F, U+A720-A7FF; } /* latin */ @@ -48,6 +61,10 @@ font-family: 'Oxygen'; font-style: normal; font-weight: 700; - src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzaGW5Kb8VZA.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzaGW5Kb8VZA.woff2) + format('woff2'); + unicode-range: + U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, + U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, + U+FFFD; } diff --git a/docs/style/style.css b/docs/style/style.css index 1106ca621a..e38321c7ab 100644 --- a/docs/style/style.css +++ b/docs/style/style.css @@ -141,24 +141,24 @@ select { } button, -html [type="button"], -[type="reset"], -[type="submit"] { +html [type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +[type='button']:-moz-focusring, +[type='reset']:-moz-focusring, +[type='submit']:-moz-focusring { outline: 1px dotted ButtonText; } @@ -184,24 +184,24 @@ textarea { overflow: auto; } -[type="checkbox"], -[type="radio"] { +[type='checkbox'], +[type='radio'] { box-sizing: border-box; padding: 0; } -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { height: auto; } -[type="search"] { +[type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { +[type='search']::-webkit-search-cancel-button, +[type='search']::-webkit-search-decoration { -webkit-appearance: none; } @@ -355,7 +355,7 @@ button, input, select, textarea { - font-family: "Heebo", sans-serif; + font-family: 'Heebo', sans-serif; } a { @@ -383,7 +383,7 @@ h6, .h6 { clear: both; color: #fff; - font-family: "Oxygen", sans-serif; + font-family: 'Oxygen', sans-serif; font-weight: 600; } @@ -566,11 +566,11 @@ blockquote { } blockquote::before { - content: "\201C"; + content: '\201C'; } blockquote::after { - content: "\201D"; + content: '\201D'; } blockquote p { @@ -599,7 +599,7 @@ pre .h3, pre .h4, pre .h5, pre .h6 { - font-family: "Courier 10 Pitch", Courier, monospace; + font-family: 'Courier 10 Pitch', Courier, monospace; } pre, @@ -625,7 +625,7 @@ code, kbd, tt, var { - font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; + font-family: Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace; font-size: 16px; padding: 2px 4px; } @@ -751,7 +751,7 @@ label { } .has-top-divider::before { - content: ""; + content: ''; position: absolute; top: 0; left: 0; @@ -766,7 +766,7 @@ label { } .has-bottom-divider::after { - content: ""; + content: ''; position: absolute; bottom: 0; left: 0; @@ -1174,7 +1174,7 @@ label { } .button-shadow::before { - content: ""; + content: ''; position: absolute; top: 0; right: 0; @@ -1336,7 +1336,7 @@ label { .hero::before, .hero::after { - content: ""; + content: ''; position: absolute; left: calc(50% - 360px); width: 720px; @@ -1346,14 +1346,14 @@ label { .hero::before { top: 0; height: 159px; - background-image: url("../img/bg-top.svg"); + background-image: url('../img/bg-top.svg'); background-size: 720px 159px; } .hero::after { bottom: 42%; height: 173px; - background-image: url("../img/bg-bottom.svg"); + background-image: url('../img/bg-bottom.svg'); background-size: 720px 173px; } @@ -1431,17 +1431,20 @@ label { } .has-animations.is-loaded .hero-title { - -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.15s; + -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) + forwards 0.15s; animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.15s; } .has-animations.is-loaded .hero-paragraph { - -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.3s; + -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) + forwards 0.3s; animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.3s; } .has-animations.is-loaded .hero-cta { - -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.45s; + -webkit-animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) + forwards 0.45s; animation: heroContent 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards 0.45s; } @@ -1776,13 +1779,13 @@ main { } .site-footer::before { - content: ""; + content: ''; position: absolute; top: -76px; left: calc(50% - 360px); width: 720px; height: 291px; - background-image: url("../img/footer.svg"); + background-image: url('../img/footer.svg'); background-size: 720px 291px; background-repeat: no-repeat; } diff --git a/eslint.config.mjs b/eslint.config.mjs index f2d7231e63..bcf1aa3410 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -16,43 +16,75 @@ export default tsEslint.config( { plugins: { stylistic, - importPlugin + importPlugin, }, languageOptions: { parser: tsEslint.parser, parserOptions: { project: true, sourceType: 'module', - ecmaVersion: 'latest' - } + ecmaVersion: 'latest', + }, }, rules: { 'stylistic/arrow-parens': ['error', 'always'], 'stylistic/object-curly-spacing': ['error', 'always'], - 'prettier/prettier': ['error', { singleQuote: true, semi: true, tabWidth: 2, trailingComma: 'all', quoteProps: 'preserve' }], + 'prettier/prettier': [ + 'error', + { + singleQuote: true, + semi: true, + tabWidth: 2, + trailingComma: 'all', + quoteProps: 'preserve', + }, + ], '@typescript-eslint/no-floating-promises': 'off', - '@typescript-eslint/no-misused-promises': ['off', { checksVoidReturn: false }], - '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], + '@typescript-eslint/no-misused-promises': [ + 'off', + { checksVoidReturn: false }, + ], + '@typescript-eslint/no-unused-vars': [ + 'warn', + { argsIgnorePattern: '^_' }, + ], '@typescript-eslint/no-non-null-assertion': 'off', 'importPlugin/first': 'error', 'importPlugin/newline-after-import': 'off', 'importPlugin/no-default-export': 'off', 'importPlugin/no-duplicates': 'error', - 'importPlugin/no-unresolved': ['error', { ignore: ['^virtual:', '\\?inline$', '\\?raw$', '\\?asset&asarUnpack'] }], - 'importPlugin/order': ['error', { - 'groups': ['builtin', 'external', ['internal', 'index', 'sibling'], 'parent', 'type'], - 'newlines-between': 'always-and-inside-groups', - 'alphabetize': { order: 'ignore', caseInsensitive: false } - }], + 'importPlugin/no-unresolved': [ + 'error', + { + ignore: ['^virtual:', '\\?inline$', '\\?raw$', '\\?asset&asarUnpack'], + }, + ], + 'importPlugin/order': [ + 'error', + { + groups: [ + 'builtin', + 'external', + ['internal', 'index', 'sibling'], + 'parent', + 'type', + ], + 'newlines-between': 'always-and-inside-groups', + alphabetize: { order: 'ignore', caseInsensitive: false }, + }, + ], 'importPlugin/prefer-default-export': 'off', - 'camelcase': ['error', { properties: 'never' }], + camelcase: ['error', { properties: 'never' }], 'class-methods-use-this': 'off', - 'stylistic/lines-around-comment': ['error', { - beforeBlockComment: false, - afterBlockComment: false, - beforeLineComment: false, - afterLineComment: false, - }], + 'stylistic/lines-around-comment': [ + 'error', + { + beforeBlockComment: false, + afterBlockComment: false, + beforeLineComment: false, + afterLineComment: false, + }, + ], 'stylistic/max-len': 'off', 'stylistic/no-mixed-operators': 'warn', // prettier does not support no-mixed-operators 'stylistic/no-multi-spaces': ['error', { ignoreEOLComments: true }], @@ -60,21 +92,25 @@ export default tsEslint.config( 'no-void': 'error', 'no-empty': 'off', 'prefer-promise-reject-errors': 'off', - 'stylistic/quotes': ['error', 'single', { - avoidEscape: true, - allowTemplateLiterals: false, - }], + 'stylistic/quotes': [ + 'error', + 'single', + { + avoidEscape: true, + allowTemplateLiterals: false, + }, + ], 'stylistic/quote-props': ['error', 'consistent'], 'stylistic/semi': ['error', 'always'], }, settings: { 'import/parsers': { - '@typescript-eslint/parser': ['.ts'] + '@typescript-eslint/parser': ['.ts'], }, 'import/resolver': { typescript: {}, exports: {}, }, }, - }, + } ); diff --git a/license b/license index 0d7360a36d..4f5436d619 100644 --- a/license +++ b/license @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) th-ch (https://github.com/th-ch/youtube-music) +Copyright (c) th-ch () Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6ea21bb70d..03e0e6869b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,7 +21,6 @@ patchedDependencies: path: patches/vudio@2.1.1.patch importers: - .: dependencies: '@electron-toolkit/tsconfig': @@ -315,1177 +314,1968 @@ importers: version: 8.18.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) packages: - 7zip-bin@5.2.0: - resolution: {integrity: sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==} + resolution: + { + integrity: sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==, + } '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: '>=6.0.0' } '@assemblyscript/loader@0.17.14': - resolution: {integrity: sha512-+PVTOfla/0XMLRTQLJFPg4u40XcdTfon6GGea70hBGi8Pd7ZymIXyVUR+vK8wt5Jb4MVKTKPIz43Myyebw5mZA==} + resolution: + { + integrity: sha512-+PVTOfla/0XMLRTQLJFPg4u40XcdTfon6GGea70hBGi8Pd7ZymIXyVUR+vK8wt5Jb4MVKTKPIz43Myyebw5mZA==, + } '@asteasolutions/zod-to-openapi@7.3.0': - resolution: {integrity: sha512-7tE/r1gXwMIvGnXVUdIqUhCU1RevEFC4Jk6Bussa0fk1ecbnnINkZzj1EOAJyE/M3AI25DnHT/zKQL1/FPFi8Q==} + resolution: + { + integrity: sha512-7tE/r1gXwMIvGnXVUdIqUhCU1RevEFC4Jk6Bussa0fk1ecbnnINkZzj1EOAJyE/M3AI25DnHT/zKQL1/FPFi8Q==, + } peerDependencies: zod: ^3.20.2 '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==, + } + engines: { node: '>=6.9.0' } '@babel/compat-data@7.26.8': - resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==, + } + engines: { node: '>=6.9.0' } '@babel/core@7.26.9': - resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==, + } + engines: { node: '>=6.9.0' } '@babel/generator@7.26.9': - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==, + } + engines: { node: '>=6.9.0' } '@babel/helper-compilation-targets@7.26.5': - resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==, + } + engines: { node: '>=6.9.0' } '@babel/helper-module-imports@7.18.6': - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==, + } + engines: { node: '>=6.9.0' } '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==, + } + engines: { node: '>=6.9.0' } '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 '@babel/helper-plugin-utils@7.26.5': - resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==, + } + engines: { node: '>=6.9.0' } '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==, + } + engines: { node: '>=6.9.0' } '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==, + } + engines: { node: '>=6.9.0' } '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==, + } + engines: { node: '>=6.9.0' } '@babel/helpers@7.26.9': - resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==, + } + engines: { node: '>=6.9.0' } '@babel/parser@7.26.9': - resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==, + } + engines: { node: '>=6.0.0' } hasBin: true '@babel/plugin-syntax-jsx@7.25.9': - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 '@babel/runtime@7.26.9': - resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==, + } + engines: { node: '>=6.9.0' } '@babel/template@7.26.9': - resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==, + } + engines: { node: '>=6.9.0' } '@babel/traverse@7.26.9': - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==, + } + engines: { node: '>=6.9.0' } '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==, + } + engines: { node: '>=6.9.0' } '@bufbuild/protobuf@2.2.3': - resolution: {integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==} + resolution: + { + integrity: sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==, + } '@develar/schema-utils@2.6.5': - resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} - engines: {node: '>= 8.9.0'} + resolution: + { + integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==, + } + engines: { node: '>= 8.9.0' } '@discordjs/collection@2.1.1': - resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==, + } + engines: { node: '>=18' } '@discordjs/rest@2.4.3': - resolution: {integrity: sha512-+SO4RKvWsM+y8uFHgYQrcTl/3+cY02uQOH7/7bKbVZsTfrfpoE62o5p+mmV+s7FVhTX82/kQUGGbu4YlV60RtA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+SO4RKvWsM+y8uFHgYQrcTl/3+cY02uQOH7/7bKbVZsTfrfpoE62o5p+mmV+s7FVhTX82/kQUGGbu4YlV60RtA==, + } + engines: { node: '>=18' } '@discordjs/util@1.1.1': - resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==, + } + engines: { node: '>=18' } '@electron-toolkit/tsconfig@1.0.1': - resolution: {integrity: sha512-M0Mol3odspvtCuheyujLNAW7bXq7KFNYVMRtpjFa4ZfES4MuklXBC7Nli/omvc+PRKlrklgAGx3l4VakjNo8jg==} + resolution: + { + integrity: sha512-M0Mol3odspvtCuheyujLNAW7bXq7KFNYVMRtpjFa4ZfES4MuklXBC7Nli/omvc+PRKlrklgAGx3l4VakjNo8jg==, + } peerDependencies: '@types/node': '*' '@electron/asar@3.2.18': - resolution: {integrity: sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==, + } + engines: { node: '>=10.12.0' } hasBin: true '@electron/asar@3.3.1': - resolution: {integrity: sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-WtpC/+34p0skWZiarRjLAyqaAX78DofhDxnREy/V5XHfu1XEXbFCSSMcDQ6hNCPJFaPy8/NnUgYuf9uiCkvKPg==, + } + engines: { node: '>=10.12.0' } hasBin: true '@electron/fuses@1.8.0': - resolution: {integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==} + resolution: + { + integrity: sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==, + } hasBin: true '@electron/get@2.0.3': - resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==, + } + engines: { node: '>=12' } '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': - resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2} + resolution: + { + tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2, + } version: 10.2.0-electron.1 - engines: {node: '>=12.13.0'} + engines: { node: '>=12.13.0' } hasBin: true '@electron/notarize@2.5.0': - resolution: {integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==, + } + engines: { node: '>= 10.0.0' } '@electron/osx-sign@1.3.1': - resolution: {integrity: sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==, + } + engines: { node: '>=12.0.0' } hasBin: true '@electron/rebuild@3.7.0': - resolution: {integrity: sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==} - engines: {node: '>=12.13.0'} + resolution: + { + integrity: sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==, + } + engines: { node: '>=12.13.0' } hasBin: true '@electron/remote@2.1.2': - resolution: {integrity: sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==} + resolution: + { + integrity: sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==, + } peerDependencies: electron: '>= 13.0.0' '@electron/universal@2.0.2': - resolution: {integrity: sha512-mqY1szx5/d5YLvfCDWWoJdkSIjIz+NdWN4pN0r78lYiE7De+slLpuF3lVxIT+hlJnwk5sH2wFRMl6/oUgUVO3A==} - engines: {node: '>=16.4'} + resolution: + { + integrity: sha512-mqY1szx5/d5YLvfCDWWoJdkSIjIz+NdWN4pN0r78lYiE7De+slLpuF3lVxIT+hlJnwk5sH2wFRMl6/oUgUVO3A==, + } + engines: { node: '>=16.4' } '@electron/windows-sign@1.2.1': - resolution: {integrity: sha512-YfASnrhJ+ve6Q43ZiDwmpBgYgi2u0bYjeAVi2tDfN7YWAKO8X9EEOuPGtqbJpPLM6TfAHimghICjWe2eaJ8BAg==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-YfASnrhJ+ve6Q43ZiDwmpBgYgi2u0bYjeAVi2tDfN7YWAKO8X9EEOuPGtqbJpPLM6TfAHimghICjWe2eaJ8BAg==, + } + engines: { node: '>=14.14' } hasBin: true '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==, + } + engines: { node: '>=18' } cpu: [ppc64] os: [aix] '@esbuild/aix-ppc64@0.25.0': - resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==, + } + engines: { node: '>=18' } cpu: [ppc64] os: [aix] '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==, + } + engines: { node: '>=18' } cpu: [arm64] os: [android] '@esbuild/android-arm64@0.25.0': - resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==, + } + engines: { node: '>=18' } cpu: [arm64] os: [android] '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==, + } + engines: { node: '>=18' } cpu: [arm] os: [android] '@esbuild/android-arm@0.25.0': - resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==, + } + engines: { node: '>=18' } cpu: [arm] os: [android] '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==, + } + engines: { node: '>=18' } cpu: [x64] os: [android] '@esbuild/android-x64@0.25.0': - resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==, + } + engines: { node: '>=18' } cpu: [x64] os: [android] '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==, + } + engines: { node: '>=18' } cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.25.0': - resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==, + } + engines: { node: '>=18' } cpu: [arm64] os: [darwin] '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==, + } + engines: { node: '>=18' } cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.25.0': - resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==, + } + engines: { node: '>=18' } cpu: [x64] os: [darwin] '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==, + } + engines: { node: '>=18' } cpu: [arm64] os: [freebsd] '@esbuild/freebsd-arm64@0.25.0': - resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==, + } + engines: { node: '>=18' } cpu: [arm64] os: [freebsd] '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==, + } + engines: { node: '>=18' } cpu: [x64] os: [freebsd] '@esbuild/freebsd-x64@0.25.0': - resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==, + } + engines: { node: '>=18' } cpu: [x64] os: [freebsd] '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==, + } + engines: { node: '>=18' } cpu: [arm64] os: [linux] '@esbuild/linux-arm64@0.25.0': - resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==, + } + engines: { node: '>=18' } cpu: [arm64] os: [linux] '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==, + } + engines: { node: '>=18' } cpu: [arm] os: [linux] '@esbuild/linux-arm@0.25.0': - resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==, + } + engines: { node: '>=18' } cpu: [arm] os: [linux] '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==, + } + engines: { node: '>=18' } cpu: [ia32] os: [linux] '@esbuild/linux-ia32@0.25.0': - resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==, + } + engines: { node: '>=18' } cpu: [ia32] os: [linux] '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==, + } + engines: { node: '>=18' } cpu: [loong64] os: [linux] '@esbuild/linux-loong64@0.25.0': - resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==, + } + engines: { node: '>=18' } cpu: [loong64] os: [linux] '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==, + } + engines: { node: '>=18' } cpu: [mips64el] os: [linux] '@esbuild/linux-mips64el@0.25.0': - resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==, + } + engines: { node: '>=18' } cpu: [mips64el] os: [linux] '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==, + } + engines: { node: '>=18' } cpu: [ppc64] os: [linux] '@esbuild/linux-ppc64@0.25.0': - resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==, + } + engines: { node: '>=18' } cpu: [ppc64] os: [linux] '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==, + } + engines: { node: '>=18' } cpu: [riscv64] os: [linux] '@esbuild/linux-riscv64@0.25.0': - resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==, + } + engines: { node: '>=18' } cpu: [riscv64] os: [linux] '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==, + } + engines: { node: '>=18' } cpu: [s390x] os: [linux] '@esbuild/linux-s390x@0.25.0': - resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==, + } + engines: { node: '>=18' } cpu: [s390x] os: [linux] '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==, + } + engines: { node: '>=18' } cpu: [x64] os: [linux] '@esbuild/linux-x64@0.25.0': - resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==, + } + engines: { node: '>=18' } cpu: [x64] os: [linux] '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==, + } + engines: { node: '>=18' } cpu: [arm64] os: [netbsd] '@esbuild/netbsd-arm64@0.25.0': - resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==, + } + engines: { node: '>=18' } cpu: [arm64] os: [netbsd] '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==, + } + engines: { node: '>=18' } cpu: [x64] os: [netbsd] '@esbuild/netbsd-x64@0.25.0': - resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==, + } + engines: { node: '>=18' } cpu: [x64] os: [netbsd] '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==, + } + engines: { node: '>=18' } cpu: [arm64] os: [openbsd] '@esbuild/openbsd-arm64@0.25.0': - resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==, + } + engines: { node: '>=18' } cpu: [arm64] os: [openbsd] '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==, + } + engines: { node: '>=18' } cpu: [x64] os: [openbsd] '@esbuild/openbsd-x64@0.25.0': - resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==, + } + engines: { node: '>=18' } cpu: [x64] os: [openbsd] '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==, + } + engines: { node: '>=18' } cpu: [x64] os: [sunos] '@esbuild/sunos-x64@0.25.0': - resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==, + } + engines: { node: '>=18' } cpu: [x64] os: [sunos] '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==, + } + engines: { node: '>=18' } cpu: [arm64] os: [win32] '@esbuild/win32-arm64@0.25.0': - resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==, + } + engines: { node: '>=18' } cpu: [arm64] os: [win32] '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==, + } + engines: { node: '>=18' } cpu: [ia32] os: [win32] '@esbuild/win32-ia32@0.25.0': - resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==, + } + engines: { node: '>=18' } cpu: [ia32] os: [win32] '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==, + } + engines: { node: '>=18' } cpu: [x64] os: [win32] '@esbuild/win32-x64@0.25.0': - resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==, + } + engines: { node: '>=18' } cpu: [x64] os: [win32] '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { + integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@eslint/core@0.12.0': - resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@eslint/eslintrc@3.3.0': - resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@eslint/js@9.21.0': - resolution: {integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@eslint/plugin-kit@0.2.7': - resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==, + } + engines: { node: '>=14' } '@ffmpeg.wasm/core-mt@0.12.0': - resolution: {integrity: sha512-M9pjL7JQX4AYl3WI8vGcPGPTz/O7JmhW8ac/fHA3oXTxoRAPwYSY/OsY1N9C0XahIM0+fxa1QSLN9Ekz8sBM/Q==} + resolution: + { + integrity: sha512-M9pjL7JQX4AYl3WI8vGcPGPTz/O7JmhW8ac/fHA3oXTxoRAPwYSY/OsY1N9C0XahIM0+fxa1QSLN9Ekz8sBM/Q==, + } '@ffmpeg.wasm/main@0.12.0': - resolution: {integrity: sha512-LILAKTrU3Rga2iXLsF9jeFxe2hNQFjWlrKuXPWSdCFeQ7Kg69fO4WwjNJ0CzjOyO6qtndRQMNKqf//N4fLYUBA==} - engines: {node: '>=12.16.1'} + resolution: + { + integrity: sha512-LILAKTrU3Rga2iXLsF9jeFxe2hNQFjWlrKuXPWSdCFeQ7Kg69fO4WwjNJ0CzjOyO6qtndRQMNKqf//N4fLYUBA==, + } + engines: { node: '>=12.16.1' } '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + resolution: + { + integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==, + } '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + resolution: + { + integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==, + } '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + resolution: + { + integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==, + } '@foobar404/wave@2.0.5': - resolution: {integrity: sha512-V/ydadtv5ObCw8aEg+Qy3YSq1eyinEWzJfRI43Ovmj7VmAvEdWAdL7MatoMbiIVYPATkNDVF7GOxX1xirxM9dA==} + resolution: + { + integrity: sha512-V/ydadtv5ObCw8aEg+Qy3YSq1eyinEWzJfRI43Ovmj7VmAvEdWAdL7MatoMbiIVYPATkNDVF7GOxX1xirxM9dA==, + } '@gar/promisify@1.1.3': - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + resolution: + { + integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==, + } '@ghostery/adblocker-content@2.5.0': - resolution: {integrity: sha512-Gn9fslZdacx1m1e3/2LSUPWagLObYmIDbkgvZTtgqT/OHc17VbM71AxWEjtC/xzo5K4PI25958PjvidoEH7ufw==} + resolution: + { + integrity: sha512-Gn9fslZdacx1m1e3/2LSUPWagLObYmIDbkgvZTtgqT/OHc17VbM71AxWEjtC/xzo5K4PI25958PjvidoEH7ufw==, + } '@ghostery/adblocker-electron-preload@2.5.0': - resolution: {integrity: sha512-BVVXVf6EOrn5sZPIfCFIXqOkEsAIzMIACuUYCti8+cgc0IDPg+d6/SocTXZbgIs+IDZKFzDNSJJXlVUiGhCMEA==} + resolution: + { + integrity: sha512-BVVXVf6EOrn5sZPIfCFIXqOkEsAIzMIACuUYCti8+cgc0IDPg+d6/SocTXZbgIs+IDZKFzDNSJJXlVUiGhCMEA==, + } peerDependencies: electron: '>11' '@ghostery/adblocker-electron@2.5.0': - resolution: {integrity: sha512-djE7cTvRb3apdIDXcqWlV7Yhd+dKtVd43wrJH4zzLL/R6zGU7+jUxt1BjmU567UyIFPRB5gJuetoIS4ShVs4tw==} + resolution: + { + integrity: sha512-djE7cTvRb3apdIDXcqWlV7Yhd+dKtVd43wrJH4zzLL/R6zGU7+jUxt1BjmU567UyIFPRB5gJuetoIS4ShVs4tw==, + } peerDependencies: electron: '>11' '@ghostery/adblocker-extended-selectors@2.5.0': - resolution: {integrity: sha512-/GBAwErjktcBKLjCMl/n+jz2MxXFfTmEGw+hcPtAhEin49eSC09PK1TAdzDPDXkCTF4Jmb/zC+MYtbX1eZ1WsQ==} + resolution: + { + integrity: sha512-/GBAwErjktcBKLjCMl/n+jz2MxXFfTmEGw+hcPtAhEin49eSC09PK1TAdzDPDXkCTF4Jmb/zC+MYtbX1eZ1WsQ==, + } '@ghostery/adblocker@2.5.0': - resolution: {integrity: sha512-CcmWiTLKxDqYiTlPyOAWr3xeZYXjWlpu6UOCDkk33k0w7jTgVrdvwbXf8Tv4XE0m3uNX6Idfj4H+Umv8L3AiUw==} + resolution: + { + integrity: sha512-CcmWiTLKxDqYiTlPyOAWr3xeZYXjWlpu6UOCDkk33k0w7jTgVrdvwbXf8Tv4XE0m3uNX6Idfj4H+Umv8L3AiUw==, + } '@hono/node-server@1.13.8': - resolution: {integrity: sha512-fsn8ucecsAXUoVxrUil0m13kOEq4mkX4/4QozCqmY+HpGfKl74OYSn8JcMA8GnG0ClfdRI4/ZSeG7zhFaVg+wg==} - engines: {node: '>=18.14.1'} + resolution: + { + integrity: sha512-fsn8ucecsAXUoVxrUil0m13kOEq4mkX4/4QozCqmY+HpGfKl74OYSn8JcMA8GnG0ClfdRI4/ZSeG7zhFaVg+wg==, + } + engines: { node: '>=18.14.1' } peerDependencies: hono: ^4 '@hono/swagger-ui@0.5.1': - resolution: {integrity: sha512-XpUCfszLJ9b1rtFdzqOSHfdg9pfBiC2J5piEjuSanYpDDTIwpMz0ciiv5N3WWUaQpz9fEgH8lttQqL41vIFuDA==} + resolution: + { + integrity: sha512-XpUCfszLJ9b1rtFdzqOSHfdg9pfBiC2J5piEjuSanYpDDTIwpMz0ciiv5N3WWUaQpz9fEgH8lttQqL41vIFuDA==, + } peerDependencies: hono: '*' '@hono/zod-openapi@0.19.2': - resolution: {integrity: sha512-lkFa6wdQVgY7d7/m++Ixr3hvKCF5Y+zjTIPM37fex5ylCfX53A/W28gZRDuFZx3aR+noKob7lHfwdk9dURLzxw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-lkFa6wdQVgY7d7/m++Ixr3hvKCF5Y+zjTIPM37fex5ylCfX53A/W28gZRDuFZx3aR+noKob7lHfwdk9dURLzxw==, + } + engines: { node: '>=16.0.0' } peerDependencies: hono: '>=4.3.6' zod: 3.* '@hono/zod-validator@0.4.3': - resolution: {integrity: sha512-xIgMYXDyJ4Hj6ekm9T9Y27s080Nl9NXHcJkOvkXPhubOLj8hZkOL8pDnnXfvCf5xEE8Q4oMFenQUZZREUY2gqQ==} + resolution: + { + integrity: sha512-xIgMYXDyJ4Hj6ekm9T9Y27s080Nl9NXHcJkOvkXPhubOLj8hZkOL8pDnnXfvCf5xEE8Q4oMFenQUZZREUY2gqQ==, + } peerDependencies: hono: '>=3.9.0' zod: ^3.19.1 '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} + resolution: + { + integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, + } + engines: { node: '>=18.18.0' } '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} + resolution: + { + integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==, + } + engines: { node: '>=18.18.0' } '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: '>=12.22' } '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} + resolution: + { + integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==, + } + engines: { node: '>=18.18' } '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} - engines: {node: '>=18.18'} + resolution: + { + integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==, + } + engines: { node: '>=18.18' } '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, + } + engines: { node: '>=12' } '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==, + } + engines: { node: '>=18.0.0' } '@jellybrick/dbus-next@0.10.3': - resolution: {integrity: sha512-7MLAiQS/UCa8V8/G3eyoWIzMhCUv3GaNxIpclu1wauDGUsL48ZT0CrilEO739gP/bviPiCUhy00DtvCNmYfPhA==} + resolution: + { + integrity: sha512-7MLAiQS/UCa8V8/G3eyoWIzMhCUv3GaNxIpclu1wauDGUsL48ZT0CrilEO739gP/bviPiCUhy00DtvCNmYfPhA==, + } '@jellybrick/electron-better-web-request@1.0.4': - resolution: {integrity: sha512-vL2lv7Gz8BWgCpwXb3ha17oaEmJqG5ZLdVWssAkA/0PGPMCWH2lLWq7vDymyTswmZ+zKpfOdzwTomvMqn9nElg==} + resolution: + { + integrity: sha512-vL2lv7Gz8BWgCpwXb3ha17oaEmJqG5ZLdVWssAkA/0PGPMCWH2lLWq7vDymyTswmZ+zKpfOdzwTomvMqn9nElg==, + } '@jellybrick/mpris-service@2.1.5': - resolution: {integrity: sha512-B6wOeS7aHO7BIJRFHbDA4h5tJHeQHf2VzVwIi2rN2wsB0Uf9wsITebGfnknPypZ1ZxRjobDkeTG4EKdBGXwSww==} + resolution: + { + integrity: sha512-B6wOeS7aHO7BIJRFHbDA4h5tJHeQHf2VzVwIi2rN2wsB0Uf9wsITebGfnknPypZ1ZxRjobDkeTG4EKdBGXwSww==, + } '@jimp/core@1.6.0': - resolution: {integrity: sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w==, + } + engines: { node: '>=18' } '@jimp/diff@1.6.0': - resolution: {integrity: sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw==, + } + engines: { node: '>=18' } '@jimp/file-ops@1.6.0': - resolution: {integrity: sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ==, + } + engines: { node: '>=18' } '@jimp/js-bmp@1.6.0': - resolution: {integrity: sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw==, + } + engines: { node: '>=18' } '@jimp/js-gif@1.6.0': - resolution: {integrity: sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g==, + } + engines: { node: '>=18' } '@jimp/js-jpeg@1.6.0': - resolution: {integrity: sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA==, + } + engines: { node: '>=18' } '@jimp/js-png@1.6.0': - resolution: {integrity: sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg==, + } + engines: { node: '>=18' } '@jimp/js-tiff@1.6.0': - resolution: {integrity: sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw==, + } + engines: { node: '>=18' } '@jimp/plugin-blit@1.6.0': - resolution: {integrity: sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA==, + } + engines: { node: '>=18' } '@jimp/plugin-blur@1.6.0': - resolution: {integrity: sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw==, + } + engines: { node: '>=18' } '@jimp/plugin-circle@1.6.0': - resolution: {integrity: sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw==, + } + engines: { node: '>=18' } '@jimp/plugin-color@1.6.0': - resolution: {integrity: sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA==, + } + engines: { node: '>=18' } '@jimp/plugin-contain@1.6.0': - resolution: {integrity: sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ==, + } + engines: { node: '>=18' } '@jimp/plugin-cover@1.6.0': - resolution: {integrity: sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA==, + } + engines: { node: '>=18' } '@jimp/plugin-crop@1.6.0': - resolution: {integrity: sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang==, + } + engines: { node: '>=18' } '@jimp/plugin-displace@1.6.0': - resolution: {integrity: sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q==, + } + engines: { node: '>=18' } '@jimp/plugin-dither@1.6.0': - resolution: {integrity: sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ==, + } + engines: { node: '>=18' } '@jimp/plugin-fisheye@1.6.0': - resolution: {integrity: sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA==, + } + engines: { node: '>=18' } '@jimp/plugin-flip@1.6.0': - resolution: {integrity: sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg==, + } + engines: { node: '>=18' } '@jimp/plugin-hash@1.6.0': - resolution: {integrity: sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q==, + } + engines: { node: '>=18' } '@jimp/plugin-mask@1.6.0': - resolution: {integrity: sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA==, + } + engines: { node: '>=18' } '@jimp/plugin-print@1.6.0': - resolution: {integrity: sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A==, + } + engines: { node: '>=18' } '@jimp/plugin-quantize@1.6.0': - resolution: {integrity: sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg==, + } + engines: { node: '>=18' } '@jimp/plugin-resize@1.6.0': - resolution: {integrity: sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA==, + } + engines: { node: '>=18' } '@jimp/plugin-rotate@1.6.0': - resolution: {integrity: sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw==, + } + engines: { node: '>=18' } '@jimp/plugin-threshold@1.6.0': - resolution: {integrity: sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w==, + } + engines: { node: '>=18' } '@jimp/types@1.6.0': - resolution: {integrity: sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg==, + } + engines: { node: '>=18' } '@jimp/utils@1.6.0': - resolution: {integrity: sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA==, + } + engines: { node: '>=18' } '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==, + } + engines: { node: '>=6.0.0' } '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: '>=6.0.0' } '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: '>=6.0.0' } '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + resolution: + { + integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==, + } '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } '@malept/cross-spawn-promise@2.0.0': - resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} - engines: {node: '>= 12.13.0'} + resolution: + { + integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==, + } + engines: { node: '>= 12.13.0' } '@malept/flatpak-bundler@0.4.0': - resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==, + } + engines: { node: '>= 10.0.0' } '@msgpack/msgpack@2.8.0': - resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==, + } + engines: { node: '>= 10' } '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: '>= 8' } '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: '>= 8' } '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: '>= 8' } '@nolyfill/is-core-module@1.0.39': - resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} - engines: {node: '>=12.4.0'} + resolution: + { + integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==, + } + engines: { node: '>=12.4.0' } '@nornagon/put@0.0.8': - resolution: {integrity: sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow==} - engines: {node: '>=0.3.0'} + resolution: + { + integrity: sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow==, + } + engines: { node: '>=0.3.0' } '@npmcli/agent@3.0.0': - resolution: {integrity: sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==, + } + engines: { node: ^18.17.0 || >=20.5.0 } '@npmcli/fs@2.1.2': - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } '@npmcli/fs@4.0.0': - resolution: {integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==, + } + engines: { node: ^18.17.0 || >=20.5.0 } '@npmcli/move-file@2.0.1': - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } deprecated: This functionality has been moved to @npmcli/fs '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, + } + engines: { node: '>=14' } '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } '@playwright/test@1.50.1': - resolution: {integrity: sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Jii3aBg+CEDpgnuDxEp/h7BimHcUTDlpEtce89xEumlJ5ef2hqepZ+PWp1DDpYC/VO9fmWVI1IlEaoI5fK9FXQ==, + } + engines: { node: '>=18' } hasBin: true '@polka/url@1.0.0-next.28': - resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + resolution: + { + integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==, + } '@remusao/guess-url-type@1.3.0': - resolution: {integrity: sha512-SNSJGxH5ckvxb3EUHj4DqlAm/bxNxNv2kx/AESZva/9VfcBokwKNS+C4D1lQdWIDM1R3d3UG+xmVzlkNG8CPTQ==} + resolution: + { + integrity: sha512-SNSJGxH5ckvxb3EUHj4DqlAm/bxNxNv2kx/AESZva/9VfcBokwKNS+C4D1lQdWIDM1R3d3UG+xmVzlkNG8CPTQ==, + } '@remusao/small@1.3.0': - resolution: {integrity: sha512-bydAhJI+ywmg5xMUcbqoR8KahetcfkFywEZpsyFZ8EBofilvWxbXnMSe4vnjDI1Y+SWxnNhR4AL/2BAXkf4b8A==} + resolution: + { + integrity: sha512-bydAhJI+ywmg5xMUcbqoR8KahetcfkFywEZpsyFZ8EBofilvWxbXnMSe4vnjDI1Y+SWxnNhR4AL/2BAXkf4b8A==, + } '@remusao/smaz-compress@1.10.0': - resolution: {integrity: sha512-E/lC8OSU+3bQrUl64vlLyPzIxo7dxF2RvNBe9KzcM4ax43J/d+YMinmMztHyCIHqRbz7rBCtkp3c0KfeIbHmEg==} + resolution: + { + integrity: sha512-E/lC8OSU+3bQrUl64vlLyPzIxo7dxF2RvNBe9KzcM4ax43J/d+YMinmMztHyCIHqRbz7rBCtkp3c0KfeIbHmEg==, + } '@remusao/smaz-decompress@1.10.0': - resolution: {integrity: sha512-aA5ImUH480Pcs5/cOgToKmFnzi7osSNG6ft+7DdmQTaQEEst3nLq3JLlBEk+gwidURymjbx6DYs60LHaZ415VQ==} + resolution: + { + integrity: sha512-aA5ImUH480Pcs5/cOgToKmFnzi7osSNG6ft+7DdmQTaQEEst3nLq3JLlBEk+gwidURymjbx6DYs60LHaZ415VQ==, + } '@remusao/smaz@1.10.0': - resolution: {integrity: sha512-GQzCxmmMpLkyZwcwNgz8TpuBEWl0RUQa8IcvKiYlPxuyYKqyqPkCr0hlHI15ckn3kDUPS68VmTVgyPnLNrdVmg==} + resolution: + { + integrity: sha512-GQzCxmmMpLkyZwcwNgz8TpuBEWl0RUQa8IcvKiYlPxuyYKqyqPkCr0hlHI15ckn3kDUPS68VmTVgyPnLNrdVmg==, + } '@remusao/trie@1.5.0': - resolution: {integrity: sha512-UX+3utJKgwCsg6sUozjxd38gNMVRXrY4TNX9VvCdSrlZBS1nZjRPi98ON3QjRAdf6KCguJFyQARRsulTeqQiPg==} + resolution: + { + integrity: sha512-UX+3utJKgwCsg6sUozjxd38gNMVRXrY4TNX9VvCdSrlZBS1nZjRPi98ON3QjRAdf6KCguJFyQARRsulTeqQiPg==, + } '@rollup/rollup-android-arm-eabi@4.34.9': - resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} + resolution: + { + integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==, + } cpu: [arm] os: [android] '@rollup/rollup-android-arm64@4.34.9': - resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} + resolution: + { + integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==, + } cpu: [arm64] os: [android] '@rollup/rollup-darwin-arm64@4.34.9': - resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} + resolution: + { + integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==, + } cpu: [arm64] os: [darwin] '@rollup/rollup-darwin-x64@4.34.9': - resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} + resolution: + { + integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==, + } cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.34.9': - resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} + resolution: + { + integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==, + } cpu: [arm64] os: [freebsd] '@rollup/rollup-freebsd-x64@4.34.9': - resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} + resolution: + { + integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==, + } cpu: [x64] os: [freebsd] '@rollup/rollup-linux-arm-gnueabihf@4.34.9': - resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} + resolution: + { + integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==, + } cpu: [arm] os: [linux] '@rollup/rollup-linux-arm-musleabihf@4.34.9': - resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} + resolution: + { + integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==, + } cpu: [arm] os: [linux] '@rollup/rollup-linux-arm64-gnu@4.34.9': - resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} + resolution: + { + integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==, + } cpu: [arm64] os: [linux] '@rollup/rollup-linux-arm64-musl@4.34.9': - resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} + resolution: + { + integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==, + } cpu: [arm64] os: [linux] '@rollup/rollup-linux-loongarch64-gnu@4.34.9': - resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} + resolution: + { + integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==, + } cpu: [loong64] os: [linux] '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': - resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} + resolution: + { + integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==, + } cpu: [ppc64] os: [linux] '@rollup/rollup-linux-riscv64-gnu@4.34.9': - resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} + resolution: + { + integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==, + } cpu: [riscv64] os: [linux] '@rollup/rollup-linux-s390x-gnu@4.34.9': - resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} + resolution: + { + integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==, + } cpu: [s390x] os: [linux] '@rollup/rollup-linux-x64-gnu@4.34.9': - resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} + resolution: + { + integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==, + } cpu: [x64] os: [linux] '@rollup/rollup-linux-x64-musl@4.34.9': - resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} + resolution: + { + integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==, + } cpu: [x64] os: [linux] '@rollup/rollup-win32-arm64-msvc@4.34.9': - resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} + resolution: + { + integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==, + } cpu: [arm64] os: [win32] '@rollup/rollup-win32-ia32-msvc@4.34.9': - resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} + resolution: + { + integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==, + } cpu: [ia32] os: [win32] '@rollup/rollup-win32-x64-msvc@4.34.9': - resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} + resolution: + { + integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==, + } cpu: [x64] os: [win32] '@rtsao/scc@1.1.0': - resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + resolution: + { + integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==, + } '@sapphire/async-queue@1.5.5': - resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + resolution: + { + integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==, + } + engines: { node: '>=v14.0.0', npm: '>=7.0.0' } '@sapphire/snowflake@3.5.5': - resolution: {integrity: sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + resolution: + { + integrity: sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ==, + } + engines: { node: '>=v14.0.0', npm: '>=7.0.0' } '@selderee/plugin-htmlparser2@0.11.0': - resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + resolution: + { + integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==, + } '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==, + } + engines: { node: '>=10' } '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==, + } + engines: { node: '>=18' } '@skyra/jaro-winkler@1.1.1': - resolution: {integrity: sha512-jT2OWwpajtXTb6opnaIwmBTMpQtKUwl2Ro1zApxIIrpZJon71kZIv6GZSc08LzKO2lpTqUjvD+i7Z2hGuG42KQ==} - engines: {node: '>=v18'} + resolution: + { + integrity: sha512-jT2OWwpajtXTb6opnaIwmBTMpQtKUwl2Ro1zApxIIrpZJon71kZIv6GZSc08LzKO2lpTqUjvD+i7Z2hGuG42KQ==, + } + engines: { node: '>=v18' } '@solid-primitives/refs@1.1.0': - resolution: {integrity: sha512-QJ3bTSQOlPdHBP2m6llrT13FvVzAwZfx41lTN8lQrRwwcZoWb7kfCAjhaohPnwkAsQ6nJpLjtGfT5GOyuCA4tA==} + resolution: + { + integrity: sha512-QJ3bTSQOlPdHBP2m6llrT13FvVzAwZfx41lTN8lQrRwwcZoWb7kfCAjhaohPnwkAsQ6nJpLjtGfT5GOyuCA4tA==, + } peerDependencies: solid-js: ^1.6.12 '@solid-primitives/transition-group@1.1.0': - resolution: {integrity: sha512-pL1sEPCHuC4V+Yh+SQsKSPuGDYrZbLJYSkk3AB4TZrWhptEJUS0IHoi7BAynYcMiULbvMMVKFbeFHqINZq0+ig==} + resolution: + { + integrity: sha512-pL1sEPCHuC4V+Yh+SQsKSPuGDYrZbLJYSkk3AB4TZrWhptEJUS0IHoi7BAynYcMiULbvMMVKFbeFHqINZq0+ig==, + } peerDependencies: solid-js: ^1.6.12 '@solid-primitives/utils@6.3.0': - resolution: {integrity: sha512-e7hTlJ1Ywh2+g/Qug+n4L1mpfxsikoIS4/sHE2EK9WatQt8UJqop/vE6bsLnXlU1xuhb/jo94Ah5Y27rd4wP7A==} + resolution: + { + integrity: sha512-e7hTlJ1Ywh2+g/Qug+n4L1mpfxsikoIS4/sHE2EK9WatQt8UJqop/vE6bsLnXlU1xuhb/jo94Ah5Y27rd4wP7A==, + } peerDependencies: solid-js: ^1.6.12 '@stylistic/eslint-plugin-js@4.2.0': - resolution: {integrity: sha512-MiJr6wvyzMYl/wElmj8Jns8zH7Q1w8XoVtm+WM6yDaTrfxryMyb8n0CMxt82fo42RoLIfxAEtM6tmQVxqhk0/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-MiJr6wvyzMYl/wElmj8Jns8zH7Q1w8XoVtm+WM6yDaTrfxryMyb8n0CMxt82fo42RoLIfxAEtM6tmQVxqhk0/A==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: '>=9.0.0' '@szmarczak/http-timer@4.0.6': - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==, + } + engines: { node: '>=10' } '@tokenizer/token@0.3.0': - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + resolution: + { + integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==, + } '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + } + engines: { node: '>= 10' } '@total-typescript/ts-reset@0.6.1': - resolution: {integrity: sha512-cka47fVSo6lfQDIATYqb/vO1nvFfbPw7uWLayIXIhGETj0wcOOlrlkobOMDNQOFr9QOafegUPq13V2+6vtD7yg==} + resolution: + { + integrity: sha512-cka47fVSo6lfQDIATYqb/vO1nvFfbPw7uWLayIXIhGETj0wcOOlrlkobOMDNQOFr9QOafegUPq13V2+6vtD7yg==, + } '@ts-morph/common@0.26.1': - resolution: {integrity: sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==} + resolution: + { + integrity: sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==, + } '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + resolution: + { + integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + } '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + resolution: + { + integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==, + } '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + resolution: + { + integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + } '@types/babel__traverse@7.20.6': - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + resolution: + { + integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==, + } '@types/cacheable-request@6.0.3': - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + resolution: + { + integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==, + } '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + resolution: + { + integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==, + } '@types/electron-localshortcut@3.1.3': - resolution: {integrity: sha512-D+CRdDTRZ4/9UmcSaZ5qvW4uq2VyyVmqsH9cdNReB4CL6MSIgyhr9w2PKeNEb0J/ZS7db7irJM/+ZiA5uSQsLw==} + resolution: + { + integrity: sha512-D+CRdDTRZ4/9UmcSaZ5qvW4uq2VyyVmqsH9cdNReB4CL6MSIgyhr9w2PKeNEb0J/ZS7db7irJM/+ZiA5uSQsLw==, + } '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + resolution: + { + integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==, + } '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + resolution: + { + integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==, + } '@types/fs-extra@9.0.13': - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + resolution: + { + integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==, + } '@types/howler@2.2.12': - resolution: {integrity: sha512-hy769UICzOSdK0Kn1FBk4gN+lswcj1EKRkmiDtMkUGvFfYJzgaDXmVXkSShS2m89ERAatGIPnTUlp2HhfkVo5g==} + resolution: + { + integrity: sha512-hy769UICzOSdK0Kn1FBk4gN+lswcj1EKRkmiDtMkUGvFfYJzgaDXmVXkSShS2m89ERAatGIPnTUlp2HhfkVo5g==, + } '@types/html-to-text@9.0.4': - resolution: {integrity: sha512-pUY3cKH/Nm2yYrEmDlPR1mR7yszjGx4DrwPjQ702C4/D5CwHuZTgZdIdwPkRbcuhs7BAh2L5rg3CL5cbRiGTCQ==} + resolution: + { + integrity: sha512-pUY3cKH/Nm2yYrEmDlPR1mR7yszjGx4DrwPjQ702C4/D5CwHuZTgZdIdwPkRbcuhs7BAh2L5rg3CL5cbRiGTCQ==, + } '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + resolution: + { + integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==, + } '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + resolution: + { + integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, + } '@types/keyv@3.1.4': - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + resolution: + { + integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==, + } '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + resolution: + { + integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==, + } '@types/node@16.9.1': - resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==} + resolution: + { + integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==, + } '@types/node@22.13.5': - resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} + resolution: + { + integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==, + } '@types/plist@3.0.5': - resolution: {integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==} + resolution: + { + integrity: sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==, + } '@types/responselike@1.0.3': - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + resolution: + { + integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==, + } '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + resolution: + { + integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, + } '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + resolution: + { + integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, + } '@types/verror@1.10.11': - resolution: {integrity: sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==} + resolution: + { + integrity: sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==, + } '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + resolution: + { + integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==, + } '@typescript-eslint/eslint-plugin@8.26.0': - resolution: {integrity: sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/parser@8.26.0': - resolution: {integrity: sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@8.26.0': - resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@typescript-eslint/type-utils@8.26.0': - resolution: {integrity: sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.26.0': - resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@typescript-eslint/typescript-estree@8.26.0': - resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/utils@8.26.0': - resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.26.0': - resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } '@vladfrangu/async_event_emitter@2.4.6': - resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} - engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + resolution: + { + integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==, + } + engines: { node: '>=v14.0.0', npm: '>=7.0.0' } '@xhayper/discord-rpc@1.2.0': - resolution: {integrity: sha512-cKjs9TKzN/7JoozijjszQjUEK1qnLHpEvcJQ2OGFBZjymUzIOH7l14KUu7TQtaIEk0Aw9Bx2w7TfQ0O6tp5mCw==} - engines: {node: '>=16.11.0'} + resolution: + { + integrity: sha512-cKjs9TKzN/7JoozijjszQjUEK1qnLHpEvcJQ2OGFBZjymUzIOH7l14KUu7TQtaIEk0Aw9Bx2w7TfQ0O6tp5mCw==, + } + engines: { node: '>=16.11.0' } '@xmldom/xmldom@0.8.10': - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==, + } + engines: { node: '>=10.0.0' } '@zeit/schemas@2.36.0': - resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==} + resolution: + { + integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==, + } abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + resolution: + { + integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, + } abbrev@3.0.0: - resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==, + } + engines: { node: ^18.17.0 || >=20.5.0 } abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: '>=6.5' } accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, + } + engines: { node: '>= 0.6' } acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==, + } + engines: { node: '>=0.4.0' } hasBin: true agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: '>= 6.0.0' } agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==, + } + engines: { node: '>= 14' } agentkeepalive@4.6.0: - resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} - engines: {node: '>= 8.0.0'} + resolution: + { + integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==, + } + engines: { node: '>= 8.0.0' } aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, + } + engines: { node: '>=8' } ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + resolution: + { + integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==, + } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -1493,460 +2283,829 @@ packages: optional: true ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + resolution: + { + integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==, + } peerDependencies: ajv: ^6.9.1 ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + resolution: + { + integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, + } ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + resolution: + { + integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, + } ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: '>=8' } ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==, + } + engines: { node: '>=12' } ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: '>=8' } ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, + } + engines: { node: '>=12' } ansis@3.16.0: - resolution: {integrity: sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA==, + } + engines: { node: '>=14' } any-base@1.1.0: - resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} + resolution: + { + integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==, + } app-builder-bin@5.0.0-alpha.12: - resolution: {integrity: sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==} + resolution: + { + integrity: sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==, + } app-builder-lib@26.0.10: - resolution: {integrity: sha512-RkvyWzlBkdOBIaEI6iClelSYc+yA8vwqgq4TL/ZpXLFyhybmzktngj+PcY1AJaX5CqAMFQ3p1KyDv7F1eMszKg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-RkvyWzlBkdOBIaEI6iClelSYc+yA8vwqgq4TL/ZpXLFyhybmzktngj+PcY1AJaX5CqAMFQ3p1KyDv7F1eMszKg==, + } + engines: { node: '>=14.0.0' } peerDependencies: dmg-builder: 26.0.10 electron-builder-squirrel-windows: 26.0.10 arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + resolution: + { + integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, + } arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + resolution: + { + integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==, + } argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==, + } + engines: { node: '>= 0.4' } array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==, + } + engines: { node: '>= 0.4' } array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==, + } + engines: { node: '>= 0.4' } array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==, + } + engines: { node: '>= 0.4' } array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==, + } + engines: { node: '>= 0.4' } arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==, + } + engines: { node: '>= 0.4' } assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==, + } + engines: { node: '>=0.8' } astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, + } + engines: { node: '>=8' } async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==, + } + engines: { node: '>=0.12.0' } async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==, + } + engines: { node: '>= 0.4' } async-mutex@0.5.0: - resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==} + resolution: + { + integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==, + } async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + resolution: + { + integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==, + } asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, + } + engines: { node: '>= 4.0.0' } atomically@2.0.3: - resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} + resolution: + { + integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==, + } available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, + } + engines: { node: '>= 0.4' } await-to-js@3.0.0: - resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==, + } + engines: { node: '>=6.0.0' } babel-plugin-jsx-dom-expressions@0.39.7: - resolution: {integrity: sha512-8GzVmFla7jaTNWW8W+lTMl9YGva4/06CtwJjySnkYtt8G1v9weCzc2SuF1DfrudcCNb2Doetc1FRg33swBYZCA==} + resolution: + { + integrity: sha512-8GzVmFla7jaTNWW8W+lTMl9YGva4/06CtwJjySnkYtt8G1v9weCzc2SuF1DfrudcCNb2Doetc1FRg33swBYZCA==, + } peerDependencies: '@babel/core': ^7.20.12 babel-preset-solid@1.9.5: - resolution: {integrity: sha512-85I3osODJ1LvZbv8wFozROV1vXq32BubqHXAGu73A//TRs3NLI1OFP83AQBUTSQHwgZQmARjHlJciym3we+V+w==} + resolution: + { + integrity: sha512-85I3osODJ1LvZbv8wFozROV1vXq32BubqHXAGu73A//TRs3NLI1OFP83AQBUTSQHwgZQmARjHlJciym3we+V+w==, + } peerDependencies: '@babel/core': ^7.0.0 balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } bgutils-js@3.2.0: - resolution: {integrity: sha512-CacO15JvxbclbLeCAAm9DETGlLuisRGWpPigoRvNsccSCPEC4pwYwA2g2x/pv7Om/sk79d4ib35V5HHmxPBpDg==} + resolution: + { + integrity: sha512-CacO15JvxbclbLeCAAm9DETGlLuisRGWpPigoRvNsccSCPEC4pwYwA2g2x/pv7Om/sk79d4ib35V5HHmxPBpDg==, + } birpc@2.2.0: - resolution: {integrity: sha512-1/22obknhoj56PcE+pZPp6AbWDdY55M81/ofpPW3Ltlp9Eh4zoFFLswvZmNpRTb790CY5tsNfgbYeNOqIARJfQ==} + resolution: + { + integrity: sha512-1/22obknhoj56PcE+pZPp6AbWDdY55M81/ofpPW3Ltlp9Eh4zoFFLswvZmNpRTb790CY5tsNfgbYeNOqIARJfQ==, + } bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } bmp-ts@1.0.9: - resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} + resolution: + { + integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==, + } boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + resolution: + { + integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, + } boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. boxen@7.0.0: - resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==, + } + engines: { node: '>=14.16' } brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, + } + engines: { node: '>=8' } browser-extension-url-match@1.2.0: - resolution: {integrity: sha512-+O/t71m1opNU5KG/bJkeNLvXLp0OxlFekjdR8w6waUOyWhkL6+bnQ6dCDoJxc6YF6ZQM0r64ag/d9K4m05ULsg==} + resolution: + { + integrity: sha512-+O/t71m1opNU5KG/bJkeNLvXLp0OxlFekjdR8w6waUOyWhkL6+bnQ6dCDoJxc6YF6ZQM0r64ag/d9K4m05ULsg==, + } browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { + integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, + } buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } bufferutil@4.0.9: - resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} - engines: {node: '>=6.14.2'} + resolution: + { + integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==, + } + engines: { node: '>=6.14.2' } builder-util-runtime@9.2.10: - resolution: {integrity: sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw==, + } + engines: { node: '>=12.0.0' } builder-util-runtime@9.3.1: - resolution: {integrity: sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ==, + } + engines: { node: '>=12.0.0' } builder-util@26.0.7: - resolution: {integrity: sha512-rZL8wTMtpAM8CZO4l6eIM36oie95LP7de4nEp7ZhQ94JsL7kKT4orPwp6weRzxldXPzNyalUPkhCxJcFDanFIg==} + resolution: + { + integrity: sha512-rZL8wTMtpAM8CZO4l6eIM36oie95LP7de4nEp7ZhQ94JsL7kKT4orPwp6weRzxldXPzNyalUPkhCxJcFDanFIg==, + } builtin-modules@5.0.0: - resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} - engines: {node: '>=18.20'} + resolution: + { + integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==, + } + engines: { node: '>=18.20' } bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==, + } + engines: { node: '>=18' } butterchurn-presets@3.0.0-beta.4: - resolution: {integrity: sha512-TbQLUPvGOYMZAtWKoCmBtludh9aQZ6NaMGQU4lvPeadBPy3Du3yNmwBjlTMLP5c5mRWElxQPjTL1PtR7FZK3OQ==} + resolution: + { + integrity: sha512-TbQLUPvGOYMZAtWKoCmBtludh9aQZ6NaMGQU4lvPeadBPy3Du3yNmwBjlTMLP5c5mRWElxQPjTL1PtR7FZK3OQ==, + } butterchurn@3.0.0-beta.4: - resolution: {integrity: sha512-hiY1ktHYHQ8MT65nnZi7GjrgZZ6sl/ipT5rBqEfaYJd90L4SvOtB6lVxtKadtzAyJo2TQJc4gJfEca4cpZo0DA==} + resolution: + { + integrity: sha512-hiY1ktHYHQ8MT65nnZi7GjrgZZ6sl/ipT5rBqEfaYJd90L4SvOtB6lVxtKadtzAyJo2TQJc4gJfEca4cpZo0DA==, + } bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==, + } + engines: { node: '>= 0.8' } cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: '>=8' } cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } cacache@19.0.1: - resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } cacheable-lookup@5.0.4: - resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} - engines: {node: '>=10.6.0'} + resolution: + { + integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==, + } + engines: { node: '>=10.6.0' } cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==, + } + engines: { node: '>=8' } call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, + } + engines: { node: '>= 0.4' } call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==, + } + engines: { node: '>= 0.4' } call-bound@1.0.3: - resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==, + } + engines: { node: '>= 0.4' } callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: '>=6' } camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==, + } + engines: { node: '>=14.16' } caniuse-lite@1.0.30001701: - resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==} + resolution: + { + integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==, + } chalk-template@0.4.0: - resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==, + } + engines: { node: '>=12' } chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: '>=10' } chalk@5.0.1: - resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { + integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, + } + engines: { node: '>=10' } chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==, + } + engines: { node: '>=18' } chromium-pickle-js@0.2.0: - resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + resolution: + { + integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==, + } ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + } + engines: { node: '>=8' } clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, + } + engines: { node: '>=6' } cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, + } + engines: { node: '>=10' } cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, + } + engines: { node: '>=8' } cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, + } + engines: { node: '>=6' } cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, + } + engines: { node: '>=8' } clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: '>=12' } clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + resolution: + { + integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==, + } clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: '>=0.8' } code-block-writer@13.0.3: - resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} + resolution: + { + integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==, + } color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: '>=7.0.0' } color-convert@3.0.1: - resolution: {integrity: sha512-5kQah2eolfQV7HCrxtsBBArPfT5dwaKYMCXeMQsdRO7ihTO/cuNLGjd50ITCDn+ZU/YbS0Go64SjP9154eopxg==} - engines: {node: '>=14.6'} + resolution: + { + integrity: sha512-5kQah2eolfQV7HCrxtsBBArPfT5dwaKYMCXeMQsdRO7ihTO/cuNLGjd50ITCDn+ZU/YbS0Go64SjP9154eopxg==, + } + engines: { node: '>=14.6' } color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } color-name@2.0.0: - resolution: {integrity: sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-SbtvAMWvASO5TE2QP07jHBMXKafgdZz8Vrsrn96fiL+O92/FN/PLARzUW5sKt013fjAprK2d2iCn2hk2Xb5oow==, + } + engines: { node: '>=12.20' } color-string@2.0.1: - resolution: {integrity: sha512-5z9FbYTZPAo8iKsNEqRNv+OlpBbDcoE+SY9GjLfDUHEfcNNV7tS9eSAlFHEaub/r5tBL9LtskAeq1l9SaoZ5tQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5z9FbYTZPAo8iKsNEqRNv+OlpBbDcoE+SY9GjLfDUHEfcNNV7tS9eSAlFHEaub/r5tBL9LtskAeq1l9SaoZ5tQ==, + } + engines: { node: '>=18' } color@5.0.0: - resolution: {integrity: sha512-16BlyiuyLq3MLxpRWyOTiWsO3ii/eLQLJUQXBSNcxMBBSnyt1ee9YUdaozQp03ifwm5woztEZGDbk9RGVuCsdw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-16BlyiuyLq3MLxpRWyOTiWsO3ii/eLQLJUQXBSNcxMBBSnyt1ee9YUdaozQp03ifwm5woztEZGDbk9RGVuCsdw==, + } + engines: { node: '>=18' } combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: '>= 0.8' } commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==, + } + engines: { node: '>= 6' } commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } compare-version@0.1.2: - resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==, + } + engines: { node: '>=0.10.0' } compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==, + } + engines: { node: '>= 0.6' } compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==, + } + engines: { node: '>= 0.8.0' } concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } conf@13.1.0: - resolution: {integrity: sha512-Bi6v586cy1CoTFViVO4lGTtx780lfF96fUmS1lSX6wpZf6330NvHUu6fReVuDP1de8Mg0nkZb01c8tAQdz1o3w==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Bi6v586cy1CoTFViVO4lGTtx780lfF96fUmS1lSX6wpZf6330NvHUu6fReVuDP1de8Mg0nkZb01c8tAQdz1o3w==, + } + engines: { node: '>=18' } config-file-ts@0.2.8-rc1: - resolution: {integrity: sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==} + resolution: + { + integrity: sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==, + } content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==, + } + engines: { node: '>= 0.6' } convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + resolution: + { + integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, + } core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { + integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, + } crc@3.8.0: - resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + resolution: + { + integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==, + } cross-dirname@0.1.0: - resolution: {integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==} + resolution: + { + integrity: sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==, + } cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + resolution: + { + integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==, + } + engines: { node: '>=10.14', npm: '>=6', yarn: '>=1' } hasBin: true cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: '>= 8' } css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + resolution: + { + integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==, + } css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, + } + engines: { node: '>= 6' } csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + resolution: + { + integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, + } custom-electron-prompt@1.5.8: - resolution: {integrity: sha512-AJat6JKDROsbxn375ysJEVYjW6c/+1AiPGyZ7qKugdjvgTjQsPCuH5H4pZ365M+gmYc9/WOSv4s31dPnZ+75eg==} + resolution: + { + integrity: sha512-AJat6JKDROsbxn375ysJEVYjW6c/+1AiPGyZ7qKugdjvgTjQsPCuH5H4pZ365M+gmYc9/WOSv4s31dPnZ+75eg==, + } peerDependencies: electron: '>=10.0.0' data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, + } + engines: { node: '>= 12' } data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==, + } + engines: { node: '>= 0.4' } data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==, + } + engines: { node: '>= 0.4' } data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==, + } + engines: { node: '>= 0.4' } debounce-fn@6.0.0: - resolution: {integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==, + } + engines: { node: '>=18' } debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + resolution: + { + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -1954,7 +3113,10 @@ packages: optional: true debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + resolution: + { + integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -1962,8 +3124,11 @@ packages: optional: true debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==, + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -1971,193 +3136,349 @@ packages: optional: true decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, + } + engines: { node: '>=10' } deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==, + } + engines: { node: '>= 0.4' } deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, + } + engines: { node: '>=4.0.0' } deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } deepmerge-ts@7.1.5: - resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==, + } + engines: { node: '>=16.0.0' } deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: '>=0.10.0' } default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==, + } + engines: { node: '>=18' } default-browser@5.2.1: - resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==, + } + engines: { node: '>=18' } defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==, + } + engines: { node: '>=10' } define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: '>= 0.4' } define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: '>=12' } define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, + } + engines: { node: '>= 0.4' } del-cli@6.0.0: - resolution: {integrity: sha512-9nitGV2W6KLFyya4qYt4+9AKQFL+c0Ehj5K7V7IwlxTc6RMCfQUGY9E9pLG6e8TQjtwXpuiWIGGZb3mfVxyZkw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9nitGV2W6KLFyya4qYt4+9AKQFL+c0Ehj5K7V7IwlxTc6RMCfQUGY9E9pLG6e8TQjtwXpuiWIGGZb3mfVxyZkw==, + } + engines: { node: '>=18' } hasBin: true del@8.0.0: - resolution: {integrity: sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==, + } + engines: { node: '>=18' } delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: '>=0.4.0' } detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, + } + engines: { node: '>=8' } detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + resolution: + { + integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, + } dir-compare@4.2.0: - resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + resolution: + { + integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==, + } discord-api-types@0.37.119: - resolution: {integrity: sha512-WasbGFXEB+VQWXlo6IpW3oUv73Yuau1Ig4AZF/m13tXcTKnMpc/mHjpztIlz4+BM9FG9BHQkEXiPto3bKduQUg==} + resolution: + { + integrity: sha512-WasbGFXEB+VQWXlo6IpW3oUv73Yuau1Ig4AZF/m13tXcTKnMpc/mHjpztIlz4+BM9FG9BHQkEXiPto3bKduQUg==, + } dmg-builder@26.0.10: - resolution: {integrity: sha512-wJxypzHqh79ZzZ2BCDjZPBlxQw0TaxLy3l75XvFSRjZkYxklV7/soy/7Ihzp/pmur19shpxLsFbBjwugIBMl4A==} + resolution: + { + integrity: sha512-wJxypzHqh79ZzZ2BCDjZPBlxQw0TaxLy3l75XvFSRjZkYxklV7/soy/7Ihzp/pmur19shpxLsFbBjwugIBMl4A==, + } dmg-license@1.0.11: - resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==, + } + engines: { node: '>=8' } os: [darwin] hasBin: true doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, + } + engines: { node: '>=0.10.0' } dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + resolution: + { + integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, + } domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + resolution: + { + integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==, + } domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==, + } + engines: { node: '>= 4' } domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + resolution: + { + integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==, + } dot-prop@9.0.0: - resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==, + } + engines: { node: '>=18' } dotenv-expand@11.0.7: - resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==, + } + engines: { node: '>=12' } dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==, + } + engines: { node: '>=12' } dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, + } + engines: { node: '>= 0.4' } duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + resolution: + { + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, + } eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { + integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, + } ecma-proposal-math-extensions@0.0.2: - resolution: {integrity: sha512-80BnDp2Fn7RxXlEr5HHZblniY4aQ97MOAicdWWpSo0vkQiISSE9wLR4SqxKsu4gCtXFBIPPzy8JMhay4NWRg/Q==} + resolution: + { + integrity: sha512-80BnDp2Fn7RxXlEr5HHZblniY4aQ97MOAicdWWpSo0vkQiISSE9wLR4SqxKsu4gCtXFBIPPzy8JMhay4NWRg/Q==, + } eel-wasm@0.0.15: - resolution: {integrity: sha512-FSTWf6lwGn7Zc3QiV+KxWTznIqq4j9eST/aXmyN/cC39+1Arqs13YOMosHQ7tqUt+OjQmG79Vd41f9gu+w1lvA==} + resolution: + { + integrity: sha512-FSTWf6lwGn7Zc3QiV+KxWTznIqq4j9eST/aXmyN/cC39+1Arqs13YOMosHQ7tqUt+OjQmG79Vd41f9gu+w1lvA==, + } ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==, + } + engines: { node: '>=0.10.0' } hasBin: true electron-builder-squirrel-windows@26.0.10: - resolution: {integrity: sha512-tjct3LAVC8npEspCTZc0iby6VnOqeNOYXk9J1qJES/Y2yJVFcQcZlArcWbcpfet7QUNTwt6qzERlfXYeHPEhng==} + resolution: + { + integrity: sha512-tjct3LAVC8npEspCTZc0iby6VnOqeNOYXk9J1qJES/Y2yJVFcQcZlArcWbcpfet7QUNTwt6qzERlfXYeHPEhng==, + } electron-builder@26.0.10: - resolution: {integrity: sha512-skrpii/V3WLwEWrm8aiEQ4r0eFvKN/oVHdQonVg7xsP0dyqnpCLu9YEZ7nCjGtEJZYTKmfcU/6FIugsrQsbsAA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-skrpii/V3WLwEWrm8aiEQ4r0eFvKN/oVHdQonVg7xsP0dyqnpCLu9YEZ7nCjGtEJZYTKmfcU/6FIugsrQsbsAA==, + } + engines: { node: '>=14.0.0' } hasBin: true electron-debug@4.1.0: - resolution: {integrity: sha512-rdbvmotqbaNcSuinPe1tzB5zK+JKal+4LSDbguBcqTLARNqWrGoRS/TkR1gGH4+63boYH3HUaf9r9ECAxgIe9g==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-rdbvmotqbaNcSuinPe1tzB5zK+JKal+4LSDbguBcqTLARNqWrGoRS/TkR1gGH4+63boYH3HUaf9r9ECAxgIe9g==, + } + engines: { node: '>=18' } electron-devtools-installer@4.0.0: - resolution: {integrity: sha512-9Tntu/jtfSn0n6N/ZI6IdvRqXpDyLQiDuuIbsBI+dL+1Ef7C8J2JwByw58P3TJiNeuqyV3ZkphpNWuZK5iSY2w==} + resolution: + { + integrity: sha512-9Tntu/jtfSn0n6N/ZI6IdvRqXpDyLQiDuuIbsBI+dL+1Ef7C8J2JwByw58P3TJiNeuqyV3ZkphpNWuZK5iSY2w==, + } electron-is-accelerator@0.1.2: - resolution: {integrity: sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==} + resolution: + { + integrity: sha512-fLGSAjXZtdn1sbtZxx52+krefmtNuVwnJCV2gNiVt735/ARUboMl8jnNC9fZEqQdlAv2ZrETfmBUsoQci5evJA==, + } electron-is-dev@0.3.0: - resolution: {integrity: sha512-jLttuuq8QK67n3mXmIe9pkrO7IH3LGIk12xJkhTmc852U2sCJaRAOpRGPSh+1Xnzck5v9escd9YXzuze9nGejg==} + resolution: + { + integrity: sha512-jLttuuq8QK67n3mXmIe9pkrO7IH3LGIk12xJkhTmc852U2sCJaRAOpRGPSh+1Xnzck5v9escd9YXzuze9nGejg==, + } electron-is-dev@2.0.0: - resolution: {integrity: sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==} + resolution: + { + integrity: sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==, + } electron-is-dev@3.0.1: - resolution: {integrity: sha512-8TjjAh8Ec51hUi3o4TaU0mD3GMTOESi866oRNavj9A3IQJ7pmv+MJVmdZBFGw4GFT36X7bkqnuDNYvkQgvyI8Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-8TjjAh8Ec51hUi3o4TaU0mD3GMTOESi866oRNavj9A3IQJ7pmv+MJVmdZBFGw4GFT36X7bkqnuDNYvkQgvyI8Q==, + } + engines: { node: '>=18' } electron-is@3.0.0: - resolution: {integrity: sha512-aQv1y3WrDZ+mtO8acbhiiip/8fa0Et7cvZyvlqJm2H7fih4hiJWEFRyYxzLgDG2kmiLdF8l3y5tbek5JFOPQkQ==} + resolution: + { + integrity: sha512-aQv1y3WrDZ+mtO8acbhiiip/8fa0Et7cvZyvlqJm2H7fih4hiJWEFRyYxzLgDG2kmiLdF8l3y5tbek5JFOPQkQ==, + } electron-localshortcut@3.2.1: - resolution: {integrity: sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==} + resolution: + { + integrity: sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==, + } electron-publish@26.0.7: - resolution: {integrity: sha512-zSCBtAXnLi1QhCDEomIEu22mjKgsf17VYW3fMyZ4Y9Q7s+Ftu9dqbTMaM/e/FBCn9VthnG7C/zPCr1yKpkI+dg==} + resolution: + { + integrity: sha512-zSCBtAXnLi1QhCDEomIEu22mjKgsf17VYW3fMyZ4Y9Q7s+Ftu9dqbTMaM/e/FBCn9VthnG7C/zPCr1yKpkI+dg==, + } electron-store@10.0.1: - resolution: {integrity: sha512-Ok0bF13WWdTzZi9rCtPN8wUfwx+yDMmV6PAnCMqjNRKEXHmklW/rV+6DofV/Vf5qoAh+Bl9Bj7dQ+0W+IL2psg==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-Ok0bF13WWdTzZi9rCtPN8wUfwx+yDMmV6PAnCMqjNRKEXHmklW/rV+6DofV/Vf5qoAh+Bl9Bj7dQ+0W+IL2psg==, + } + engines: { node: '>=20' } electron-to-chromium@1.5.109: - resolution: {integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==} + resolution: + { + integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==, + } electron-unhandled@4.0.1: - resolution: {integrity: sha512-6BsLnBg+i96eUnbaIFZyYdyfNX3f80/Nlfqy34YEMxXT9JP3ddNsNnUeiOF8ezN4+et4t4D37gjghKTP0V3jyw==} + resolution: + { + integrity: sha512-6BsLnBg+i96eUnbaIFZyYdyfNX3f80/Nlfqy34YEMxXT9JP3ddNsNnUeiOF8ezN4+et4t4D37gjghKTP0V3jyw==, + } electron-updater@6.3.9: - resolution: {integrity: sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw==} + resolution: + { + integrity: sha512-2PJNONi+iBidkoC5D1nzT9XqsE8Q1X28Fn6xRQhO3YX8qRRyJ3mkV4F1aQsuRnYPqq6Hw+E51y27W75WgDoofw==, + } electron-vite@3.0.0: - resolution: {integrity: sha512-Uf8NpF4OB2Juo1Vq8pobkLVp9BZTO70VwkW7fKXSCkod0SRkc7Dkw7ddR6b1fbsgT7lcZ0HD29WRxsCcbkHXUw==} - engines: {node: ^18.0.0 || >=20.0.0} + resolution: + { + integrity: sha512-Uf8NpF4OB2Juo1Vq8pobkLVp9BZTO70VwkW7fKXSCkod0SRkc7Dkw7ddR6b1fbsgT7lcZ0HD29WRxsCcbkHXUw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@swc/core': ^1.0.0 @@ -2167,122 +3488,212 @@ packages: optional: true electron-winstaller@5.4.0: - resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==, + } + engines: { node: '>=8.0.0' } electron@35.0.0: - resolution: {integrity: sha512-mwNQNktYLPnUWZVR8iNkfWCBjmM5e2/CmB1rhACwE9ASDbVU7CYPgp/jLUB3bj/LyQsfSuubD82OUite6SN8Uw==} - engines: {node: '>= 12.20.55'} + resolution: + { + integrity: sha512-mwNQNktYLPnUWZVR8iNkfWCBjmM5e2/CmB1rhACwE9ASDbVU7CYPgp/jLUB3bj/LyQsfSuubD82OUite6SN8Uw==, + } + engines: { node: '>= 12.20.55' } hasBin: true emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + resolution: + { + integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, + } encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + resolution: + { + integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, + } end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==, + } + engines: { node: '>=10.13.0' } ensure-error@2.1.0: - resolution: {integrity: sha512-+BMSJHw9gxiJAAp2ZR1E0TNcL09dD3lOvkl7WVm4+Y6xnes/pMetP/TzCHiDduh8ihNDjbGfuYxl7l4PA1xZ8A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-+BMSJHw9gxiJAAp2ZR1E0TNcL09dD3lOvkl7WVm4+Y6xnes/pMetP/TzCHiDduh8ihNDjbGfuYxl7l4PA1xZ8A==, + } + engines: { node: '>=8' } entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, + } + engines: { node: '>=0.12' } env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: '>=6' } env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + resolution: + { + integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, + } error-stack-parser-es@1.0.5: - resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + resolution: + { + integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==, + } es-abstract@1.23.9: - resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==, + } + engines: { node: '>= 0.4' } es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, + } + engines: { node: '>= 0.4' } es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: '>= 0.4' } es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + resolution: + { + integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==, + } es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==, + } + engines: { node: '>= 0.4' } es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, + } + engines: { node: '>= 0.4' } es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==, + } + engines: { node: '>= 0.4' } es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==, + } + engines: { node: '>= 0.4' } es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==, + } + engines: { node: '>=18' } hasBin: true esbuild@0.25.0: - resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==, + } + engines: { node: '>=18' } hasBin: true escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, + } + engines: { node: '>=6' } escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: '>=10' } eslint-config-prettier@10.0.2: - resolution: {integrity: sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==} + resolution: + { + integrity: sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==, + } hasBin: true peerDependencies: eslint: '>=7.0.0' eslint-import-resolver-exports@1.0.0-beta.5: - resolution: {integrity: sha512-o6t0w7muUpXr7MkUVzD5igQoDfAQvTmcPp8HEAJdNF8eOuAO+yn6I/TTyMxz9ecCwzX7e02vzlkHURoScUuidg==} + resolution: + { + integrity: sha512-o6t0w7muUpXr7MkUVzD5igQoDfAQvTmcPp8HEAJdNF8eOuAO+yn6I/TTyMxz9ecCwzX7e02vzlkHURoScUuidg==, + } peerDependencies: eslint: '*' eslint-plugin-import: '*' eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + resolution: + { + integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==, + } eslint-import-resolver-typescript@3.8.3: - resolution: {integrity: sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -2294,8 +3705,11 @@ packages: optional: true eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==, + } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -2315,8 +3729,11 @@ packages: optional: true eslint-plugin-import@2.31.0: - resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==, + } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 @@ -2325,8 +3742,11 @@ packages: optional: true eslint-plugin-prettier@5.2.3: - resolution: {integrity: sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: '@types/eslint': '>=8.0.0' eslint: '>=8.0.0' @@ -2339,20 +3759,32 @@ packages: optional: true eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } eslint@9.21.0: - resolution: {integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } hasBin: true peerDependencies: jiti: '*' @@ -2361,96 +3793,174 @@ packages: optional: true espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, + } + engines: { node: '>=0.10' } esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: '>=4.0' } estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: '>=4.0' } esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: '>=0.10.0' } event-stream@4.0.1: - resolution: {integrity: sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==} + resolution: + { + integrity: sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==, + } event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: '>=6' } eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + resolution: + { + integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, + } events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: '>=0.8.x' } execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + } + engines: { node: '>=10' } exif-parser@0.1.12: - resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==} + resolution: + { + integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==, + } exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + resolution: + { + integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==, + } extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} + resolution: + { + integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==, + } + engines: { node: '>= 10.17.0' } hasBin: true extsprintf@1.4.1: - resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} - engines: {'0': node >=0.6.0} + resolution: + { + integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==, + } + engines: { '0': node >=0.6.0 } fancy-regex@0.5.4: - resolution: {integrity: sha512-O6qfjtMnrPRs+3XOavCxGQDFaMS9K1vEsQMhPowqx2P/h1fDCvK5RUyeWeyDusMH2FkSHAsRE3IbSBMMg53fmw==} + resolution: + { + integrity: sha512-O6qfjtMnrPRs+3XOavCxGQDFaMS9K1vEsQMhPowqx2P/h1fDCvK5RUyeWeyDusMH2FkSHAsRE3IbSBMMg53fmw==, + } fast-average-color@9.4.0: - resolution: {integrity: sha512-bvM8vV6YwK07dPbzFz77zJaBcfF6ABVfgNwaxVgXc2G+o0e/tzLCF9WU8Ryp1r0Nkk6JuJNsWCzbb4cLOMlB+Q==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-bvM8vV6YwK07dPbzFz77zJaBcfF6ABVfgNwaxVgXc2G+o0e/tzLCF9WU8Ryp1r0Nkk6JuJNsWCzbb4cLOMlB+Q==, + } + engines: { node: '>= 12' } fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } fast-equals@5.2.2: - resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==, + } + engines: { node: '>=6.0.0' } fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + resolution: + { + integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==, + } + engines: { node: '>=8.6.0' } fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + resolution: + { + integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==, + } fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + resolution: + { + integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==, + } fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + resolution: + { + integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==, + } fdir@6.4.3: - resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + resolution: + { + integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==, + } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -2458,300 +3968,531 @@ packages: optional: true fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { + integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, + } + engines: { node: ^12.20 || >= 14.13 } file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, + } + engines: { node: '>=16.0.0' } file-type@16.5.4: - resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==, + } + engines: { node: '>=10' } filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + resolution: + { + integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==, + } filename-reserved-regex@3.0.0: - resolution: {integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } filenamify@6.0.0: - resolution: {integrity: sha512-vqIlNogKeyD3yzrm0yhRMQg8hOVwYcYRfjEoODd49iCprMn4HL85gK3HcykQE53EPIpX3HcAbGA5ELQv216dAQ==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-vqIlNogKeyD3yzrm0yhRMQg8hOVwYcYRfjEoODd49iCprMn4HL85gK3HcykQE53EPIpX3HcAbGA5ELQv216dAQ==, + } + engines: { node: '>=16' } fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, + } + engines: { node: '>=8' } find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: '>=10' } flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, + } + engines: { node: '>=16' } flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + resolution: + { + integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, + } for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==, + } + engines: { node: '>= 0.4' } foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==, + } + engines: { node: '>=14' } form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==, + } + engines: { node: '>= 6' } formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, + } + engines: { node: '>=12.20.0' } from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + resolution: + { + integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==, + } fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, + } + engines: { node: '>=12' } fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==, + } + engines: { node: '>=14.14' } fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: '>=6 <7 || >=8' } fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, + } + engines: { node: '>=6 <7 || >=8' } fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, + } + engines: { node: '>=10' } fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, + } + engines: { node: '>= 8' } fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { + integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==, + } + engines: { node: '>= 0.4' } functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + resolution: + { + integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, + } gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: '>=6.9.0' } get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, + } + engines: { node: '>= 0.4' } get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, + } + engines: { node: '>= 0.4' } get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==, + } + engines: { node: '>=8' } get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: '>=10' } get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==, + } + engines: { node: '>= 0.4' } get-tsconfig@4.10.0: - resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + resolution: + { + integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==, + } gifwrap@0.10.1: - resolution: {integrity: sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==} + resolution: + { + integrity: sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw==, + } glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: '>= 6' } glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: '>=10.13.0' } glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + resolution: + { + integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==, + } hasBin: true glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==, + } + engines: { node: 20 || >=22 } hasBin: true glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: '>=12' } deprecated: Glob versions prior to v9 are no longer supported global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} + resolution: + { + integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==, + } + engines: { node: '>=10.0' } globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: '>=4' } globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, + } + engines: { node: '>=18' } globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==, + } + engines: { node: '>= 0.4' } globby@14.1.0: - resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==, + } + engines: { node: '>=18' } goober@2.1.16: - resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} + resolution: + { + integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==, + } peerDependencies: csstype: ^3.0.10 gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, + } + engines: { node: '>= 0.4' } got@11.8.6: - resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} - engines: {node: '>=10.19.0'} + resolution: + { + integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==, + } + engines: { node: '>=10.19.0' } graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } happy-dom@17.2.2: - resolution: {integrity: sha512-3I1/CrNi780sdOhuhUnFtgTWhloSc3quSZwsylI41jycx8o97M6Y4aQAu0phSexGusT7+59BxATh4L4xiY0HcA==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-3I1/CrNi780sdOhuhUnFtgTWhloSc3quSZwsylI41jycx8o97M6Y4aQAu0phSexGusT7+59BxATh4L4xiY0HcA==, + } + engines: { node: '>=18.0.0' } has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==, + } + engines: { node: '>= 0.4' } has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: '>=8' } has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + resolution: + { + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, + } has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==, + } + engines: { node: '>= 0.4' } has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, + } + engines: { node: '>= 0.4' } has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: '>= 0.4' } hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: '>= 0.4' } he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + resolution: + { + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, + } hasBin: true hono@4.7.4: - resolution: {integrity: sha512-Pst8FuGqz3L7tFF+u9Pu70eI0xa5S3LPUmrNd5Jm8nTHze9FxLTK9Kaj5g/k4UcwuJSXTP65SyHOPLrffpcAJg==} - engines: {node: '>=16.9.0'} + resolution: + { + integrity: sha512-Pst8FuGqz3L7tFF+u9Pu70eI0xa5S3LPUmrNd5Jm8nTHze9FxLTK9Kaj5g/k4UcwuJSXTP65SyHOPLrffpcAJg==, + } + engines: { node: '>=16.9.0' } hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, + } + engines: { node: '>=10' } howler@2.2.4: - resolution: {integrity: sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==} + resolution: + { + integrity: sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w==, + } html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + resolution: + { + integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==, + } html-to-text@9.0.5: - resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==, + } + engines: { node: '>=14' } htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + resolution: + { + integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==, + } http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + resolution: + { + integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, + } http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==, + } + engines: { node: '>= 6' } http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, + } + engines: { node: '>= 14' } http2-wrapper@1.0.3: - resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} - engines: {node: '>=10.19.0'} + resolution: + { + integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==, + } + engines: { node: '>=10.19.0' } https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: '>= 6' } https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==, + } + engines: { node: '>= 14' } human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: '>=10.17.0' } humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + resolution: + { + integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, + } i18next@24.2.2: - resolution: {integrity: sha512-NE6i86lBCKRYZa5TaUDkU5S4HFgLIEJRLr3Whf2psgaxBleQ2LC1YW1Vc+SCgkAW7VEzndT6al6+CzegSUHcTQ==} + resolution: + { + integrity: sha512-NE6i86lBCKRYZa5TaUDkU5S4HFgLIEJRLr3Whf2psgaxBleQ2LC1YW1Vc+SCgkAW7VEzndT6al6+CzegSUHcTQ==, + } peerDependencies: typescript: ^5 peerDependenciesMeta: @@ -2759,928 +4500,1666 @@ packages: optional: true iconv-corefoundation@1.1.7: - resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} - engines: {node: ^8.11.2 || >=10} + resolution: + { + integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==, + } + engines: { node: ^8.11.2 || >=10 } os: [darwin] iconv-lite@0.6.2: - resolution: {integrity: sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==, + } + engines: { node: '>=0.10.0' } iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + } + engines: { node: '>=0.10.0' } ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + } + engines: { node: '>= 4' } ignore@7.0.3: - resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==, + } + engines: { node: '>= 4' } image-q@4.0.0: - resolution: {integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==} + resolution: + { + integrity: sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==, + } immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + resolution: + { + integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==, + } import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, + } + engines: { node: '>=6' } imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: '>=0.8.19' } indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, + } + engines: { node: '>=8' } infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + resolution: + { + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==, + } inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { + 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. inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==, + } + engines: { node: '>= 0.4' } ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==, + } + engines: { node: '>= 12' } is-arguments@1.2.0: - resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==, + } + engines: { node: '>= 0.4' } is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==, + } + engines: { node: '>= 0.4' } is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==, + } + engines: { node: '>= 0.4' } is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==, + } + engines: { node: '>= 0.4' } is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==, + } + engines: { node: '>= 0.4' } is-bun-module@1.3.0: - resolution: {integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==} + resolution: + { + integrity: sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==, + } is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, + } + engines: { node: '>= 0.4' } is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + resolution: + { + integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, + } hasBin: true is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==, + } + engines: { node: '>= 0.4' } is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==, + } + engines: { node: '>= 0.4' } is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==, + } + engines: { node: '>= 0.4' } is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: '>=8' } hasBin: true is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: '>=0.10.0' } is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==, + } + engines: { node: '>= 0.4' } is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: '>=8' } is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==, + } + engines: { node: '>= 0.4' } is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: '>=0.10.0' } is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: '>=14.16' } hasBin: true is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: '>=8' } is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + resolution: + { + integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, + } is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, + } + engines: { node: '>= 0.4' } is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==, + } + engines: { node: '>= 0.4' } is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: '>=0.12.0' } is-path-cwd@3.0.0: - resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==, + } + engines: { node: '>=12' } is-port-reachable@4.0.0: - resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==, + } + engines: { node: '>= 0.4' } is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, + } + engines: { node: '>= 0.4' } is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==, + } + engines: { node: '>= 0.4' } is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: '>=8' } is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==, + } + engines: { node: '>= 0.4' } is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==, + } + engines: { node: '>= 0.4' } is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==, + } + engines: { node: '>= 0.4' } is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: '>=10' } is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + resolution: + { + integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==, + } is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, + } + engines: { node: '>= 0.4' } is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==, + } + engines: { node: '>= 0.4' } is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==, + } + engines: { node: '>= 0.4' } is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==, + } + engines: { node: '>=12.13' } is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: '>=8' } is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==, + } + engines: { node: '>=16' } isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { + integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, + } isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + resolution: + { + integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, + } isbinaryfile@4.0.10: - resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} - engines: {node: '>= 8.0.0'} + resolution: + { + integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==, + } + engines: { node: '>= 8.0.0' } isbinaryfile@5.0.4: - resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} - engines: {node: '>= 18.0.0'} + resolution: + { + integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==, + } + engines: { node: '>= 18.0.0' } isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==, + } + engines: { node: '>=16' } jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + resolution: + { + integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, + } jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==, + } + engines: { node: 20 || >=22 } jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==, + } + engines: { node: '>=10' } hasBin: true jimp@1.6.0: - resolution: {integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg==, + } + engines: { node: '>=18' } jintr@3.2.1: - resolution: {integrity: sha512-yjKUBuwTTg4nc4izMysxuIk0BKh45hnbc1KnXE6LxagIGZn5od+I2elpuRY9IIm3EiKiUZxhxV89a0iX+xoEZg==} + resolution: + { + integrity: sha512-yjKUBuwTTg4nc4izMysxuIk0BKh45hnbc1KnXE6LxagIGZn5od+I2elpuRY9IIm3EiKiUZxhxV89a0iX+xoEZg==, + } jpeg-js@0.4.4: - resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + resolution: + { + integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==, + } js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } hasBin: true jsbi@4.3.0: - resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} + resolution: + { + integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==, + } jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + resolution: + { + integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==, + } jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, + } + engines: { node: '>=6' } hasBin: true json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } json-schema-typed@8.0.1: - resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==} + resolution: + { + integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==, + } json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + resolution: + { + integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, + } json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + resolution: + { + integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, + } hasBin: true json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: '>=6' } hasBin: true jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } jszip@3.10.1: - resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + resolution: + { + integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==, + } keyboardevent-from-electron-accelerator@2.0.0: - resolution: {integrity: sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==} + resolution: + { + integrity: sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA==, + } keyboardevents-areequal@0.2.2: - resolution: {integrity: sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==} + resolution: + { + integrity: sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw==, + } keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } lazy-val@1.0.5: - resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + resolution: + { + integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==, + } leac@0.6.0: - resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} + resolution: + { + integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==, + } levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: '>= 0.8.0' } lib-esm@0.4.2: - resolution: {integrity: sha512-VGqaEGuryUbT7FLGxXg46nrSzkhLzyk+JQjYoYEORH5UtdIu3yf6DCOqh65FOR3bWOHHGINQH/vR5YGGIFBgJw==} + resolution: + { + integrity: sha512-VGqaEGuryUbT7FLGxXg46nrSzkhLzyk+JQjYoYEORH5UtdIu3yf6DCOqh65FOR3bWOHHGINQH/vR5YGGIFBgJw==, + } lie@3.3.0: - resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + resolution: + { + integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==, + } locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: '>=10' } lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + resolution: + { + integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==, + } lodash.escaperegexp@4.1.2: - resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + resolution: + { + integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==, + } lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } deprecated: This package is deprecated. Use require('node:util').isDeepStrictEqual instead. lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, + } log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: '>=10' } long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + resolution: + { + integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==, + } lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==, + } + engines: { node: '>=8' } lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + resolution: + { + integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, + } lru-cache@11.0.2: - resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==, + } + engines: { node: 20 || >=22 } lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: '>=10' } lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, + } + engines: { node: '>=12' } magic-bytes.js@1.10.0: - resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} + resolution: + { + integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==, + } magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + resolution: + { + integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==, + } make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } make-fetch-happen@14.0.3: - resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } map-stream@0.0.7: - resolution: {integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==} + resolution: + { + integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==, + } matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==, + } + engines: { node: '>=10' } math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, + } + engines: { node: '>= 0.4' } meow@13.2.0: - resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==, + } + engines: { node: '>=18' } merge-anything@5.1.7: - resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==, + } + engines: { node: '>=12.13' } merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: '>= 8' } micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, + } + engines: { node: '>=8.6' } mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==, + } + engines: { node: '>= 0.6' } mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: '>= 0.6' } mime-db@1.53.0: - resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==, + } + engines: { node: '>= 0.6' } mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==, + } + engines: { node: '>= 0.6' } mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: '>= 0.6' } mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, + } + engines: { node: '>=4.0.0' } hasBin: true mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==, + } + engines: { node: '>=10.0.0' } hasBin: true mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: '>=6' } mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: '>=18' } mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==, + } + engines: { node: '>=4' } mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, + } + engines: { node: '>=10' } minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==, + } + engines: { node: 20 || >=22 } minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: '>=10' } minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, + } + engines: { node: '>=16 || 14 >=14.17' } minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==, + } + engines: { node: '>= 8' } minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==, + } + engines: { node: '>=16 || 14 >=14.17' } minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } minipass-fetch@4.0.1: - resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, + } + engines: { node: '>= 8' } minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, + } + engines: { node: '>=8' } minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, + } + engines: { node: '>=8' } minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, + } + engines: { node: '>=8' } minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, + } + engines: { node: '>=8' } minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, + } + engines: { node: '>=16 || 14 >=14.17' } minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, + } + engines: { node: '>= 8' } minizlib@3.0.1: - resolution: {integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==, + } + engines: { node: '>= 18' } mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } hasBin: true mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, + } + engines: { node: '>=10' } hasBin: true mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==, + } + engines: { node: '>=10' } hasBin: true mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==, + } + engines: { node: '>=10' } ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + resolution: + { + integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, + } ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, + } + engines: { node: '>= 0.6' } negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==, + } + engines: { node: '>= 0.6' } negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==, + } + engines: { node: '>= 0.6' } node-abi@3.74.0: - resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==, + } + engines: { node: '>=10' } node-addon-api@1.7.2: - resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} + resolution: + { + integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==, + } node-api-version@0.2.0: - resolution: {integrity: sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==} + resolution: + { + integrity: sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg==, + } node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + resolution: + { + integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, + } + engines: { node: '>=10.5.0' } node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + resolution: + { + integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==, + } hasBin: true node-gyp@11.1.0: - resolution: {integrity: sha512-/+7TuHKnBpnMvUQnsYEb0JOozDZqarQbfNuSGLXIjhStMT0fbw7IdSqWgopOP5xhRZE+lsbIvAHcekddruPZgQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-/+7TuHKnBpnMvUQnsYEb0JOozDZqarQbfNuSGLXIjhStMT0fbw7IdSqWgopOP5xhRZE+lsbIvAHcekddruPZgQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true node-html-parser@7.0.1: - resolution: {integrity: sha512-KGtmPY2kS0thCWGK0VuPyOS+pBKhhe8gXztzA2ilAOhbUbxa9homF1bOyKvhGzMLXUoRds9IOmr/v5lr/lqNmA==} + resolution: + { + integrity: sha512-KGtmPY2kS0thCWGK0VuPyOS+pBKhhe8gXztzA2ilAOhbUbxa9homF1bOyKvhGzMLXUoRds9IOmr/v5lr/lqNmA==, + } node-id3@0.2.8: - resolution: {integrity: sha512-S0nOm0cEZ0gbzlgJY7aNd6z2iRw6oPxwrBwAKOgrDX/s5keg1qiNqALJGiw4M9UXr5mR3lqH8h6HG9cajmfT1g==} + resolution: + { + integrity: sha512-S0nOm0cEZ0gbzlgJY7aNd6z2iRw6oPxwrBwAKOgrDX/s5keg1qiNqALJGiw4M9UXr5mR3lqH8h6HG9cajmfT1g==, + } node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + resolution: + { + integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==, + } nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } hasBin: true nopt@8.1.0: - resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==, + } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==, + } + engines: { node: '>=10' } npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: '>=8' } nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + resolution: + { + integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, + } object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==, + } + engines: { node: '>= 0.4' } object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==, + } + engines: { node: '>= 0.4' } object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: '>= 0.4' } object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==, + } + engines: { node: '>= 0.4' } object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, + } + engines: { node: '>= 0.4' } object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==, + } + engines: { node: '>= 0.4' } object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==, + } + engines: { node: '>= 0.4' } ohash@2.0.6: - resolution: {integrity: sha512-y3n0xHnH5RhTNlu5KvoH1cPKNS3ewteDWjvUXkW5+X/iYYe914zGbixMCr//jEjwn/IgMjfOwDPIpDJ0+ld3tw==} + resolution: + { + integrity: sha512-y3n0xHnH5RhTNlu5KvoH1cPKNS3ewteDWjvUXkW5+X/iYYe914zGbixMCr//jEjwn/IgMjfOwDPIpDJ0+ld3tw==, + } omggif@1.0.10: - resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + resolution: + { + integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==, + } on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==, + } + engines: { node: '>= 0.8' } once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: '>=6' } open@10.1.0: - resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==, + } + engines: { node: '>=18' } openapi3-ts@4.4.0: - resolution: {integrity: sha512-9asTNB9IkKEzWMcHmVZE7Ts3kC9G7AFHfs8i7caD8HbI76gEjdkId4z/AkP83xdZsH7PLAnnbl47qZkXuxpArw==} + resolution: + { + integrity: sha512-9asTNB9IkKEzWMcHmVZE7Ts3kC9G7AFHfs8i7caD8HbI76gEjdkId4z/AkP83xdZsH7PLAnnbl47qZkXuxpArw==, + } optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, + } + engines: { node: '>= 0.8.0' } ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, + } + engines: { node: '>=10' } os-homedir@1.0.2: - resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==, + } + engines: { node: '>=0.10.0' } own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==, + } + engines: { node: '>= 0.4' } p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==, + } + engines: { node: '>=8' } p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: '>=10' } p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: '>=10' } p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, + } + engines: { node: '>=10' } p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==, + } + engines: { node: '>=18' } package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + resolution: + { + integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, + } pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + resolution: + { + integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==, + } parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: '>=6' } parse-bmfont-ascii@1.0.6: - resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} + resolution: + { + integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==, + } parse-bmfont-binary@1.0.6: - resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==} + resolution: + { + integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==, + } parse-bmfont-xml@1.1.6: - resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==} + resolution: + { + integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==, + } parse5@7.2.1: - resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + resolution: + { + integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==, + } parseley@0.12.1: - resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} + resolution: + { + integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==, + } path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + resolution: + { + integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==, + } path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: '>=8' } path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: '>=0.10.0' } path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + resolution: + { + integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==, + } path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: '>=8' } path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + resolution: + { + integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, + } + engines: { node: '>=16 || 14 >=14.18' } path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==, + } + engines: { node: 20 || >=22 } path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} + resolution: + { + integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==, + } path-type@6.0.0: - resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==, + } + engines: { node: '>=18' } pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + resolution: + { + integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==, + } pe-library@0.4.1: - resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} - engines: {node: '>=12', npm: '>=6'} + resolution: + { + integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==, + } + engines: { node: '>=12', npm: '>=6' } peberminta@0.9.0: - resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + resolution: + { + integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==, + } peek-readable@4.1.0: - resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==, + } + engines: { node: '>=8' } peerjs-js-binarypack@2.1.0: - resolution: {integrity: sha512-YIwCC+pTzp3Bi8jPI9UFKO0t0SLo6xALnHkiNt/iUFmUUZG0fEEmEyFKvjsDKweiFitzHRyhuh6NvyJZ4nNxMg==} - engines: {node: '>= 14.0.0'} + resolution: + { + integrity: sha512-YIwCC+pTzp3Bi8jPI9UFKO0t0SLo6xALnHkiNt/iUFmUUZG0fEEmEyFKvjsDKweiFitzHRyhuh6NvyJZ4nNxMg==, + } + engines: { node: '>= 14.0.0' } peerjs@1.5.4: - resolution: {integrity: sha512-yFsoLMnurJKlQbx6kVSBpOp+AlNldY1JQS2BrSsHLKCZnq6t7saHleuHM5svuLNbQkUJXHLF3sKOJB1K0xulOw==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-yFsoLMnurJKlQbx6kVSBpOp+AlNldY1JQS2BrSsHLKCZnq6t7saHleuHM5svuLNbQkUJXHLF3sKOJB1K0xulOw==, + } + engines: { node: '>= 14' } pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + resolution: + { + integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, + } perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + resolution: + { + integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==, + } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: '>=8.6' } picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==, + } + engines: { node: '>=12' } pixelmatch@5.3.0: - resolution: {integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==} + resolution: + { + integrity: sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==, + } hasBin: true playwright-core@1.50.1: - resolution: {integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ra9fsNWayuYumt+NiM069M6OkcRb1FZSK8bgi66AtpFoWkg2+y0bJSNmkFrWhMbEBbVKC/EruAHH3g0zmtwGmQ==, + } + engines: { node: '>=18' } hasBin: true playwright@1.50.1: - resolution: {integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-G8rwsOQJ63XG6BbKj2w5rHeavFjy5zynBA9zsJMMtBoe/Uf757oG12NXz6e6OirF7RCrTVAKFXbLmn1RbL7Qaw==, + } + engines: { node: '>=18' } hasBin: true plist@3.1.0: - resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} - engines: {node: '>=10.4.0'} + resolution: + { + integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==, + } + engines: { node: '>=10.4.0' } pngjs@6.0.0: - resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} - engines: {node: '>=12.13.0'} + resolution: + { + integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==, + } + engines: { node: '>=12.13.0' } pngjs@7.0.0: - resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} - engines: {node: '>=14.19.0'} + resolution: + { + integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==, + } + engines: { node: '>=14.19.0' } possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==, + } + engines: { node: '>= 0.4' } postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==, + } + engines: { node: ^10 || ^12 || >=14 } postject@1.0.0-alpha.6: - resolution: {integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==, + } + engines: { node: '>=14.0.0' } hasBin: true prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: '>= 0.8.0' } prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: '>=6.0.0' } prettier@3.5.2: - resolution: {integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==, + } + engines: { node: '>=14' } hasBin: true proc-log@2.0.1: - resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } proc-log@5.0.0: - resolution: {integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, + } process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: '>= 0.6.0' } progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: '>=0.4.0' } promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + resolution: + { + integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, + } peerDependencies: bluebird: '*' peerDependenciesMeta: @@ -3688,680 +6167,1205 @@ packages: optional: true promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, + } + engines: { node: '>=10' } pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + resolution: + { + integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==, + } punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: '>=6' } queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==, + } + engines: { node: '>=10' } range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==, + } + engines: { node: '>= 0.6' } rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + resolution: + { + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, + } hasBin: true read-binary-file-arch@1.0.6: - resolution: {integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==} + resolution: + { + integrity: sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==, + } hasBin: true readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { + integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, + } readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: '>= 6' } readable-stream@4.7.0: - resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } readable-web-to-node-stream@3.0.4: - resolution: {integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw==, + } + engines: { node: '>=8' } reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==, + } + engines: { node: '>= 0.4' } regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + resolution: + { + integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, + } regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + resolution: + { + integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, + } regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==, + } + engines: { node: '>= 0.4' } registry-auth-token@3.3.2: - resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==} + resolution: + { + integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==, + } registry-url@3.1.0: - resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==, + } + engines: { node: '>=0.10.0' } require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: '>=0.10.0' } require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: '>=0.10.0' } resedit@1.7.2: - resolution: {integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==} - engines: {node: '>=12', npm: '>=6'} + resolution: + { + integrity: sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==, + } + engines: { node: '>=12', npm: '>=6' } resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolution: + { + integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==, + } resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: '>=4' } resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } resolve.exports@2.0.3: - resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==, + } + engines: { node: '>=10' } resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==, + } + engines: { node: '>= 0.4' } hasBin: true responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + resolution: + { + integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==, + } restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, + } + engines: { node: '>=8' } retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, + } + engines: { node: '>= 4' } reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==, + } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + resolution: + { + integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==, + } deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + resolution: + { + integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==, + } hasBin: true roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==, + } + engines: { node: '>=8.0' } rollup@4.34.9: - resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { + integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==, + } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true run-applescript@7.0.0: - resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==, + } + engines: { node: '>=18' } run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==, + } + engines: { node: '>=0.4' } safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, + } safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==, + } + engines: { node: '>= 0.4' } safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==, + } + engines: { node: '>= 0.4' } safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } sanitize-filename@1.6.3: - resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} + resolution: + { + integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==, + } sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + resolution: + { + integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, + } sdp@3.2.0: - resolution: {integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==} + resolution: + { + integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==, + } selderee@0.11.0: - resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} + resolution: + { + integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==, + } semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { + integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, + } hasBin: true semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } hasBin: true semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==, + } + engines: { node: '>=10' } hasBin: true serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==, + } + engines: { node: '>=10' } serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: '>=10' } seroval-plugins@1.2.1: - resolution: {integrity: sha512-H5vs53+39+x4Udwp4J5rNZfgFuA+Lt+uU+09w1gYBVWomtAl98B+E9w7yC05Xc81/HgLvJdlyqJbU0fJCKCmdw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-H5vs53+39+x4Udwp4J5rNZfgFuA+Lt+uU+09w1gYBVWomtAl98B+E9w7yC05Xc81/HgLvJdlyqJbU0fJCKCmdw==, + } + engines: { node: '>=10' } peerDependencies: seroval: ^1.0 seroval@1.2.1: - resolution: {integrity: sha512-yBxFFs3zmkvKNmR0pFSU//rIsYjuX418TnlDmc2weaq5XFDqDIV/NOMPBoLrbxjLH42p4UzRuXHryXh9dYcKcw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-yBxFFs3zmkvKNmR0pFSU//rIsYjuX418TnlDmc2weaq5XFDqDIV/NOMPBoLrbxjLH42p4UzRuXHryXh9dYcKcw==, + } + engines: { node: '>=10' } serve-handler@6.1.6: - resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} + resolution: + { + integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==, + } serve@14.2.4: - resolution: {integrity: sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==, + } + engines: { node: '>= 14' } hasBin: true set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, + } + engines: { node: '>= 0.4' } set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, + } + engines: { node: '>= 0.4' } set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==, + } + engines: { node: '>= 0.4' } setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + resolution: + { + integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==, + } shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: '>=8' } shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: '>=8' } side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==, + } + engines: { node: '>= 0.4' } side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==, + } + engines: { node: '>= 0.4' } side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==, + } + engines: { node: '>= 0.4' } side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==, + } + engines: { node: '>= 0.4' } signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: '>=14' } simple-update-notifier@2.0.0: - resolution: {integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==, + } + engines: { node: '>=10' } simple-xml-to-json@1.2.3: - resolution: {integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==} - engines: {node: '>=20.12.2'} + resolution: + { + integrity: sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA==, + } + engines: { node: '>=20.12.2' } simple-youtube-age-restriction-bypass@https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6: - resolution: {tarball: https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6} + resolution: + { + tarball: https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6, + } version: 2.5.9 - engines: {node: '>=18.0.0', npm: '>=7.0.0'} + engines: { node: '>=18.0.0', npm: '>=7.0.0' } sirv@3.0.1: - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==, + } + engines: { node: '>=18' } slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==, + } + engines: { node: '>=14.16' } slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, + } + engines: { node: '>=8' } smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + resolution: + { + integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, + } + engines: { node: '>= 6.0.0', npm: '>= 3.0.0' } socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==, + } + engines: { node: '>= 10' } socks-proxy-agent@8.0.5: - resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==, + } + engines: { node: '>= 14' } socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + resolution: + { + integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==, + } + engines: { node: '>= 10.0.0', npm: '>= 3.0.0' } solid-floating-ui@0.3.1: - resolution: {integrity: sha512-o/QmGsWPS2Z3KidAxP0nDvN7alI7Kqy0kU+wd85Fz+au5SYcnYm7I6Fk3M60Za35azsPX0U+5fEtqfOuk6Ao0Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-o/QmGsWPS2Z3KidAxP0nDvN7alI7Kqy0kU+wd85Fz+au5SYcnYm7I6Fk3M60Za35azsPX0U+5fEtqfOuk6Ao0Q==, + } + engines: { node: '>=10' } peerDependencies: '@floating-ui/dom': ^1.5 solid-js: ^1.8 solid-js@1.9.5: - resolution: {integrity: sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw==} + resolution: + { + integrity: sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw==, + } solid-refresh@0.6.3: - resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} + resolution: + { + integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==, + } peerDependencies: solid-js: ^1.3 solid-styled-components@0.28.5: - resolution: {integrity: sha512-vwTcdp76wZNnESIzB6rRZ3U55NgcSAQXCiiRIiEFhxTFqT0bEh/warNT1qaRZu4OkAzrBkViOngF35ktI8sc4A==} + resolution: + { + integrity: sha512-vwTcdp76wZNnESIzB6rRZ3U55NgcSAQXCiiRIiEFhxTFqT0bEh/warNT1qaRZu4OkAzrBkViOngF35ktI8sc4A==, + } peerDependencies: solid-js: ^1.4.4 solid-transition-group@0.3.0: - resolution: {integrity: sha512-gzFbtxkEnA8Hgi7UzmEjPPRl4rodoKLs+AGIXA7kJgjOr4j4qFRw39npu+WpdNSDV7aDKr+K0LFcoT9Kbm5PBA==} - engines: {node: '>=20.0.0', pnpm: '>=9.0.0'} + resolution: + { + integrity: sha512-gzFbtxkEnA8Hgi7UzmEjPPRl4rodoKLs+AGIXA7kJgjOr4j4qFRw39npu+WpdNSDV7aDKr+K0LFcoT9Kbm5PBA==, + } + engines: { node: '>=20.0.0', pnpm: '>=9.0.0' } peerDependencies: solid-js: ^1.6.12 source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: '>=0.10.0' } source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + resolution: + { + integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, + } source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: '>=0.10.0' } split@1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + resolution: + { + integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==, + } sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + resolution: + { + integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, + } ssri@12.0.0: - resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } stable-hash@0.0.4: - resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + resolution: + { + integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==, + } stat-mode@1.0.0: - resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==, + } + engines: { node: '>= 6' } stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==, + } + engines: { node: '>= 0.4' } stream-combiner@0.2.2: - resolution: {integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==} + resolution: + { + integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==, + } string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: '>=8' } string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, + } + engines: { node: '>=12' } string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==, + } + engines: { node: '>= 0.4' } string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==, + } + engines: { node: '>= 0.4' } string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, + } + engines: { node: '>= 0.4' } string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + } string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: '>=8' } strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, + } + engines: { node: '>=12' } strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: '>=4' } strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: '>=6' } strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, + } + engines: { node: '>=0.10.0' } strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: '>=8' } strtok3@6.3.0: - resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==, + } + engines: { node: '>=10' } stubborn-fs@1.2.5: - resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + resolution: + { + integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==, + } sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} + resolution: + { + integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==, + } + engines: { node: '>= 8.0' } supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: '>=8' } supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: '>= 0.4' } synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, + } + engines: { node: '>=6' } tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==, + } + engines: { node: '>=10' } tar@7.4.3: - resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==, + } + engines: { node: '>=18' } temp-file@3.4.0: - resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + resolution: + { + integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==, + } temp@0.9.4: - resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==, + } + engines: { node: '>=6.0.0' } through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } tiny-async-pool@1.3.0: - resolution: {integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==} + resolution: + { + integrity: sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==, + } tiny-typed-emitter@2.1.0: - resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==} + resolution: + { + integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==, + } tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + resolution: + { + integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==, + } tinyglobby@0.2.12: - resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==, + } + engines: { node: '>=12.0.0' } tldts-core@6.1.79: - resolution: {integrity: sha512-HM+Ud/2oQuHt4I43Nvjc213Zji/z25NSH5OkJskJwHXNtYh9DTRlHMDFhms9dFMP7qyve/yVaXFIxmcJ7TdOjw==} + resolution: + { + integrity: sha512-HM+Ud/2oQuHt4I43Nvjc213Zji/z25NSH5OkJskJwHXNtYh9DTRlHMDFhms9dFMP7qyve/yVaXFIxmcJ7TdOjw==, + } tldts-experimental@6.1.79: - resolution: {integrity: sha512-qAh6vDChn8fkkAaro/H632Af0yDQdcKGDQLYdwsv/c37VqKLiEO8loATjAgZPO2mwEgEYgzmxqtSLu293GjCTA==} + resolution: + { + integrity: sha512-qAh6vDChn8fkkAaro/H632Af0yDQdcKGDQLYdwsv/c37VqKLiEO8loATjAgZPO2mwEgEYgzmxqtSLu293GjCTA==, + } tmp-promise@3.0.3: - resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + resolution: + { + integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==, + } tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} + resolution: + { + integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, + } + engines: { node: '>=14.14' } to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: '>=8.0' } token-types@4.2.1: - resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==, + } + engines: { node: '>=10' } totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==, + } + engines: { node: '>=6' } truncate-utf8-bytes@1.0.2: - resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + resolution: + { + integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==, + } ts-api-utils@2.0.1: - resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} - engines: {node: '>=18.12'} + resolution: + { + integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==, + } + engines: { node: '>=18.12' } peerDependencies: typescript: '>=4.8.4' ts-morph@25.0.1: - resolution: {integrity: sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==} + resolution: + { + integrity: sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==, + } tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + resolution: + { + integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==, + } tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: '>= 0.8.0' } type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==, + } + engines: { node: '>=10' } type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: '>=10' } type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==, + } + engines: { node: '>=12.20' } type-fest@4.35.0: - resolution: {integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==, + } + engines: { node: '>=16' } typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==, + } + engines: { node: '>= 0.4' } typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==, + } + engines: { node: '>= 0.4' } typed-array-byte-offset@1.0.4: - resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==, + } + engines: { node: '>= 0.4' } typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==, + } + engines: { node: '>= 0.4' } typescript-eslint@8.26.0: - resolution: {integrity: sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + resolution: + { + integrity: sha512-PtVz9nAnuNJuAVeUFvwztjuUgSnJInODAUx47VDwWPXzd5vismPOtPtt83tzNXyOjVQbPRp786D6WFW/M2koIA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' typescript@5.8.2: - resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} - engines: {node: '>=14.17'} + resolution: + { + integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==, + } + engines: { node: '>=14.17' } hasBin: true uint8array-extras@1.4.0: - resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==, + } + engines: { node: '>=18' } unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==, + } + engines: { node: '>= 0.4' } undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + resolution: + { + integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==, + } undici@5.28.5: - resolution: {integrity: sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==} - engines: {node: '>=14.0'} + resolution: + { + integrity: sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==, + } + engines: { node: '>=14.0' } undici@6.21.1: - resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} - engines: {node: '>=18.17'} + resolution: + { + integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==, + } + engines: { node: '>=18.17' } unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==, + } + engines: { node: '>=18' } unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } unique-filename@4.0.0: - resolution: {integrity: sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } unique-slug@5.0.0: - resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==, + } + engines: { node: ^18.17.0 || >=20.5.0 } universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: '>= 4.0.0' } universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: '>= 10.0.0' } unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} - engines: {node: '>=18.12.0'} + resolution: + { + integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==, + } + engines: { node: '>=18.12.0' } unzip-crx-3@0.2.0: - resolution: {integrity: sha512-0+JiUq/z7faJ6oifVB5nSwt589v1KCduqIJupNVDoWSXZtWDmjDGO3RAEOvwJ07w90aoXoP4enKsR7ecMrJtWQ==} + resolution: + { + integrity: sha512-0+JiUq/z7faJ6oifVB5nSwt589v1KCduqIJupNVDoWSXZtWDmjDGO3RAEOvwJ07w90aoXoP4enKsR7ecMrJtWQ==, + } update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + resolution: + { + integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==, + } hasBin: true peerDependencies: browserslist: '>= 4.21.0' update-check@1.5.4: - resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==} + resolution: + { + integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==, + } uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } utf-8-validate@6.0.5: - resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==} - engines: {node: '>=6.14.2'} + resolution: + { + integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==, + } + engines: { node: '>=6.14.2' } utf8-byte-length@1.0.5: - resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} + resolution: + { + integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==, + } utif2@4.1.0: - resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} + resolution: + { + integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==, + } util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + resolution: + { + integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, + } hasBin: true validate-html-nesting@1.2.2: - resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + resolution: + { + integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==, + } vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: '>= 0.8' } verror@1.10.1: - resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} - engines: {node: '>=0.6.0'} + resolution: + { + integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==, + } + engines: { node: '>=0.6.0' } vite-dev-rpc@1.0.7: - resolution: {integrity: sha512-FxSTEofDbUi2XXujCA+hdzCDkXFG1PXktMjSk1efq9Qb5lOYaaM9zNSvKvPPF7645Bak79kSp1PTooMW2wktcA==} + resolution: + { + integrity: sha512-FxSTEofDbUi2XXujCA+hdzCDkXFG1PXktMjSk1efq9Qb5lOYaaM9zNSvKvPPF7645Bak79kSp1PTooMW2wktcA==, + } peerDependencies: vite: 6.2.0 vite-hot-client@2.0.4: - resolution: {integrity: sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==} + resolution: + { + integrity: sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==, + } peerDependencies: vite: 6.2.0 vite-plugin-inspect@11.0.0: - resolution: {integrity: sha512-Q0RDNcMs1mbI2yGRwOzSapnnA6NFO0j88+Vb8pJX0iYMw34WczwKJi3JgheItDhbWRq/CLUR0cs+ajZpcUaIFQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-Q0RDNcMs1mbI2yGRwOzSapnnA6NFO0j88+Vb8pJX0iYMw34WczwKJi3JgheItDhbWRq/CLUR0cs+ajZpcUaIFQ==, + } + engines: { node: '>=14' } peerDependencies: '@nuxt/kit': '*' vite: 6.2.0 @@ -4370,10 +7374,16 @@ packages: optional: true vite-plugin-resolve@2.5.2: - resolution: {integrity: sha512-8twv20M+KIMxkZzAoF1eAUxxxB56NxKdYjIJ309A/30lZ3GAqgiAeGFjVVlLLEpeAcbAwfl9p7jztsQEw7C3Jg==} + resolution: + { + integrity: sha512-8twv20M+KIMxkZzAoF1eAUxxxB56NxKdYjIJ309A/30lZ3GAqgiAeGFjVVlLLEpeAcbAwfl9p7jztsQEw7C3Jg==, + } vite-plugin-solid@2.11.6: - resolution: {integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==} + resolution: + { + integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==, + } peerDependencies: '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* solid-js: ^1.7.2 @@ -4383,8 +7393,11 @@ packages: optional: true vite@6.2.0: - resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + resolution: + { + integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==, + } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } hasBin: true peerDependencies: '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 @@ -4423,7 +7436,10 @@ packages: optional: true vitefu@1.0.6: - resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + resolution: + { + integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==, + } peerDependencies: vite: 6.2.0 peerDependenciesMeta: @@ -4431,78 +7447,135 @@ packages: optional: true vudio@2.1.1: - resolution: {integrity: sha512-VkFQcFt/b/kpF5Eg5Sq+oXUo1Zp5aRFF4BSmIrOzau5o+5WMWwX9ae/EGJZstCyZFiCTU5iw1Y+u2BCGW6Y6Jw==} + resolution: + { + integrity: sha512-VkFQcFt/b/kpF5Eg5Sq+oXUo1Zp5aRFF4BSmIrOzau5o+5WMWwX9ae/EGJZstCyZFiCTU5iw1Y+u2BCGW6Y6Jw==, + } wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==, + } + engines: { node: '>= 8' } webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, + } + engines: { node: '>=12' } webrtc-adapter@9.0.1: - resolution: {integrity: sha512-1AQO+d4ElfVSXyzNVTOewgGT/tAomwwztX/6e3totvyyzXPvXIIuUUjAmyZGbKBKbZOXauuJooZm3g6IuFuiNQ==} - engines: {node: '>=6.0.0', npm: '>=3.10.0'} + resolution: + { + integrity: sha512-1AQO+d4ElfVSXyzNVTOewgGT/tAomwwztX/6e3totvyyzXPvXIIuUUjAmyZGbKBKbZOXauuJooZm3g6IuFuiNQ==, + } + engines: { node: '>=6.0.0', npm: '>=3.10.0' } whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==, + } + engines: { node: '>=12' } when-exit@2.1.4: - resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==} + resolution: + { + integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==, + } which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==, + } + engines: { node: '>= 0.4' } which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==, + } + engines: { node: '>= 0.4' } which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, + } + engines: { node: '>= 0.4' } which-typed-array@1.1.18: - resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==, + } + engines: { node: '>= 0.4' } which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: '>= 8' } hasBin: true which@5.0.0: - resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} - engines: {node: ^18.17.0 || >=20.5.0} + resolution: + { + integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==, + } + engines: { node: ^18.17.0 || >=20.5.0 } hasBin: true widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, + } + engines: { node: '>=12' } word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: '>=0.10.0' } wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: '>=10' } wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, + } + engines: { node: '>=12' } wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } ws@8.18.1: - resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==, + } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -4513,68 +7586,118 @@ packages: optional: true x11@2.3.0: - resolution: {integrity: sha512-Ep4DbqZkVHvZNVht+vvELcfdpGKnfh2kZuKdXqyZdtJx3UdvgUGrMQ9lwPNV33tDs86MF4YagC6+E2fZXikF6A==} + resolution: + { + integrity: sha512-Ep4DbqZkVHvZNVht+vvELcfdpGKnfh2kZuKdXqyZdtJx3UdvgUGrMQ9lwPNV33tDs86MF4YagC6+E2fZXikF6A==, + } xml-parse-from-string@1.0.1: - resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==} + resolution: + { + integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==, + } xml2js@0.6.2: - resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==, + } + engines: { node: '>=4.0.0' } xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==, + } + engines: { node: '>=4.0' } xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==, + } + engines: { node: '>=8.0' } y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: '>=10' } yaku@0.16.7: - resolution: {integrity: sha512-Syu3IB3rZvKvYk7yTiyl1bo/jiEFaaStrgv1V2TIJTqYPStSMQVO8EQjg/z+DRzLq/4LIIharNT3iH1hylEIRw==} + resolution: + { + integrity: sha512-Syu3IB3rZvKvYk7yTiyl1bo/jiEFaaStrgv1V2TIJTqYPStSMQVO8EQjg/z+DRzLq/4LIIharNT3iH1hylEIRw==, + } yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==, + } + engines: { node: '>=18' } yaml@2.7.0: - resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==, + } + engines: { node: '>= 14' } hasBin: true yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: '>=12' } yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: '>=12' } yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + resolution: + { + integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==, + } yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: '>=10' } youtubei.js@13.1.0: - resolution: {integrity: sha512-uL4TyojAYET0c5NGFD7+ScCod/k8Pc/B+D5tLrunFcz1GaBjRMOGRPcNGaRmnhwisegU7ibtw0iUxCN+BZ0ang==} + resolution: + { + integrity: sha512-uL4TyojAYET0c5NGFD7+ScCod/k8Pc/B+D5tLrunFcz1GaBjRMOGRPcNGaRmnhwisegU7ibtw0iUxCN+BZ0ang==, + } zod@3.24.2: - resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + resolution: + { + integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==, + } snapshots: - 7zip-bin@5.2.0: {} '@ampproject/remapping@2.3.0': @@ -8668,7 +11791,8 @@ snapshots: simple-xml-to-json@1.2.3: {} - simple-youtube-age-restriction-bypass@https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6: {} + simple-youtube-age-restriction-bypass@https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6: + {} sirv@3.0.1: dependencies: @@ -9154,7 +12278,8 @@ snapshots: optionalDependencies: vite: 6.2.0(@types/node@22.13.5)(yaml@2.7.0) - vudio@2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d): {} + vudio@2.1.1(patch_hash=0e06c2ed11c02bdc490c209fa80070e98517c2735c641f5738b6e15d7dc1959d): + {} wcwidth@1.0.1: dependencies: diff --git a/src/config/defaults.ts b/src/config/defaults.ts index dcd56128a7..4521cc12e1 100644 --- a/src/config/defaults.ts +++ b/src/config/defaults.ts @@ -48,8 +48,8 @@ const defaultConfig: DefaultConfig = { x: -1, y: -1, }, - 'url': 'https://music.youtube.com', - 'options': { + url: 'https://music.youtube.com', + options: { tray: false, appVisible: true, autoUpdates: true, @@ -70,7 +70,7 @@ const defaultConfig: DefaultConfig = { usePodcastParticipantAsArtist: false, themes: [], }, - 'plugins': {}, + plugins: {}, }; export default defaultConfig; diff --git a/src/index.ts b/src/index.ts index 6abed0beca..f61280748f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -120,7 +120,7 @@ app.commandLine.appendSwitch('ozone-platform-hint', 'auto'); // WaylandWindowDecorations: Required for Wayland decorations app.commandLine.appendSwitch( 'enable-features', - 'OverlayScrollbar,SharedArrayBuffer,UseOzonePlatform,WaylandWindowDecorations', + 'OverlayScrollbar,SharedArrayBuffer,UseOzonePlatform,WaylandWindowDecorations' ); if (config.get('options.disableHardwareAcceleration')) { if (is.dev()) { @@ -170,11 +170,11 @@ const initHook = (win: BrowserWindow) => { (_, id: string) => deepmerge( allPlugins[id].config ?? { enabled: false }, - config.get(`plugins.${id}`) ?? {}, - ) as PluginConfig, + config.get(`plugins.${id}`) ?? {} + ) as PluginConfig ); ipcMain.handle('ytmd:set-config', (_, name: string, obj: object) => - config.setPartial(`plugins.${name}`, obj, allPlugins[name].config), + config.setPartial(`plugins.${name}`, obj, allPlugins[name].config) ); config.watch((newValue, oldValue) => { @@ -194,7 +194,7 @@ const initHook = (win: BrowserWindow) => { const oldConfig = oldPluginConfigList[id] as PluginConfig; const config = deepmerge( allPlugins[id].config ?? { enabled: false }, - newPluginConfig ?? {}, + newPluginConfig ?? {} ) as PluginConfig; if (config.enabled !== oldConfig?.enabled) { @@ -218,7 +218,7 @@ const initHook = (win: BrowserWindow) => { if (config.enabled && typeof mainPlugin.backend !== 'function') { mainPlugin.backend?.onConfigChange?.call( mainPlugin.backend, - config, + config ); } } @@ -285,9 +285,9 @@ function initTheme(win: BrowserWindow) { () => { console.warn( LoggerPrefix, - t('main.console.theme.css-file-not-found', { cssFile }), + t('main.console.theme.css-file-not-found', { cssFile }) ); - }, + } ); } } @@ -318,8 +318,8 @@ async function createMainWindow() { titleBarStyle: useInlineMenu ? 'hidden' : is.macOS() - ? 'hiddenInset' - : 'default', + ? 'hiddenInset' + : 'default', autoHideMenuBar: config.get('options.hideMenu'), }; @@ -382,7 +382,7 @@ async function createMainWindow() { windowSize: String(winSize), displaySize: JSON.stringify(display.bounds), position: JSON.stringify(windowPosition), - }), + }) ); } } else { @@ -439,7 +439,7 @@ async function createMainWindow() { function lateSave( key: string, value: unknown, - fn: (key: string, value: unknown) => void = config.set, + fn: (key: string, value: unknown) => void = config.set ) { if (savedTimeouts[key]) { clearTimeout(savedTimeouts[key]); @@ -469,7 +469,7 @@ async function createMainWindow() { ...defaultTitleBarOverlayOptions, height: Math.floor( defaultTitleBarOverlayOptions.height! * - win.webContents.getZoomFactor(), + win.webContents.getZoomFactor() ), }); } @@ -482,7 +482,7 @@ async function createMainWindow() { event.preventDefault(); win.webContents.loadURL( - 'https://accounts.google.com/ServiceLogin?ltmpl=music&service=youtube&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26next%3Dhttps%253A%252F%252Fmusic.youtube.com%252F', + 'https://accounts.google.com/ServiceLogin?ltmpl=music&service=youtube&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26next%3Dhttps%253A%252F%252Fmusic.youtube.com%252F' ); } }); @@ -507,8 +507,8 @@ app.once('browser-window-created', (_event, win) => { const updatedUserAgent = is.macOS() ? userAgents.mac : is.windows() - ? userAgents.windows - : userAgents.linux; + ? userAgents.windows + : userAgents.linux; win.webContents.userAgent = updatedUserAgent; app.userAgentFallback = updatedUserAgent; @@ -538,7 +538,7 @@ app.once('browser-window-created', (_event, win) => { validatedURL, isMainFrame, frameProcessId, - frameRoutingId, + frameRoutingId ) => { const log = JSON.stringify( { @@ -551,7 +551,7 @@ app.once('browser-window-created', (_event, win) => { frameRoutingId, }, null, - '\t', + '\t' ); if (is.dev()) { console.log(log); @@ -566,7 +566,7 @@ app.once('browser-window-created', (_event, win) => { win.webContents.send('log', log); win.webContents.loadFile(ErrorHtmlAsset); } - }, + } ); win.webContents.on('will-prevent-unload', (event) => { @@ -615,7 +615,7 @@ app.whenReady().then(async () => { if (is.dev()) { console.log( LoggerPrefix, - t('main.console.when-ready.clearing-cache-after-20s'), + t('main.console.when-ready.clearing-cache-after-20s') ); } @@ -641,7 +641,7 @@ app.whenReady().then(async () => { 'Windows', 'Start Menu', 'Programs', - 'YouTube Music.lnk', + 'YouTube Music.lnk' ); try { // Check if shortcut is registered and valid @@ -663,7 +663,7 @@ app.whenReady().then(async () => { cwd: path.dirname(appLocation), description: 'YouTube Music Desktop App - including custom plugins', appUserModelId: appID, - }, + } ); } } @@ -702,12 +702,12 @@ app.whenReady().then(async () => { } else { const rendererPath = path.join(__dirname, '..', 'renderer'); const indexHTML = parse( - fs.readFileSync(path.join(rendererPath, 'index.html'), 'utf-8'), + fs.readFileSync(path.join(rendererPath, 'index.html'), 'utf-8') ); const scriptSrc = indexHTML.querySelector('script')!; const scriptPath = path.join( rendererPath, - scriptSrc.getAttribute('src')!, + scriptSrc.getAttribute('src')! ); const scriptString = fs.readFileSync(scriptPath, 'utf-8'); event.returnValue = [ @@ -733,7 +733,7 @@ app.whenReady().then(async () => { if (is.dev()) { console.debug( LoggerPrefix, - t('main.console.second-instance.receive-command', { command }), + t('main.console.second-instance.receive-command', { command }) ); } @@ -846,17 +846,23 @@ app.whenReady().then(async () => { function showUnresponsiveDialog( win: BrowserWindow, - details: Electron.RenderProcessGoneDetails, + details: Electron.RenderProcessGoneDetails ) { if (details) { console.error( LoggerPrefix, t('main.console.unresponsive.details', { error: JSON.stringify(details, null, '\t'), - }), + }) ); } + // Ensure we're not trying to show a dialog on a destroyed window + if (win.isDestroyed()) { + console.error(LoggerPrefix, 'Window was destroyed, cannot show dialog'); + return; + } + dialog .showMessageBox(win, { type: 'error', @@ -886,7 +892,7 @@ function showUnresponsiveDialog( } function removeContentSecurityPolicy( - betterSession: BetterSession = session.defaultSession as BetterSession, + betterSession: BetterSession = session.defaultSession as BetterSession ) { // Allows defining multiple "onHeadersReceived" listeners // by enhancing the session. @@ -920,18 +926,15 @@ function removeContentSecurityPolicy( betterSession.webRequest.setResolver( 'onHeadersReceived', async (listeners) => { - return listeners.reduce( - async (accumulator, listener) => { - const acc = await accumulator; - if (acc.cancel) { - return acc; - } + return listeners.reduce(async (accumulator, listener) => { + const acc = await accumulator; + if (acc.cancel) { + return acc; + } - const result = await listener.apply(); - return { ...accumulator, ...result }; - }, - Promise.resolve({ cancel: false }), - ); - }, + const result = await listener.apply(); + return { ...accumulator, ...result }; + }, Promise.resolve({ cancel: false })); + } ); } diff --git a/src/plugins/adblocker/adEnhancedSkipper.ts b/src/plugins/adblocker/adEnhancedSkipper.ts new file mode 100644 index 0000000000..08e10d14f3 --- /dev/null +++ b/src/plugins/adblocker/adEnhancedSkipper.ts @@ -0,0 +1,342 @@ +/** + * Enhanced ad skipping with detailed detection and statistics + */ + +// Track ad skipping metrics +let skippedAdCount = 0; +let lastSkippedTime = 0; +const skippedAdIds = new Set(); + +interface AdSkipStats { + totalSkipped: number; + uniqueAdsSkipped: number; + lastSkippedTime: number; +} + +/** + * Skip ad with enhanced detection + */ +function skipAdEnhanced(target: Element): boolean { + // Try multiple skip button selectors for better coverage + const skipButtons = [ + 'button.ytp-ad-skip-button-modern', + 'button.ytp-ad-skip-button', + '.videoAdUiSkipButton', + '[data-tooltip-text*="Skip"]', + '.ytp-ad-skip-button-slot', + // Add more selectors for better coverage + '[class*="skip"]button', + '[class*="skip-"]button', + '[aria-label*="Skip"]', + ]; + + // Find any matching skip button + for (const selector of skipButtons) { + const skipButton = target.querySelector(selector); + if (skipButton) { + skipButton.click(); + skippedAdCount++; + lastSkippedTime = Date.now(); + + // Try to extract ad ID for unique counting + const adElement = target.querySelector('[data-ad-id]'); + if (adElement && adElement.getAttribute('data-ad-id')) { + skippedAdIds.add(adElement.getAttribute('data-ad-id') || ''); + } + + return true; + } + } + + // If we didn't find a skip button, try to detect overlay ads and close them + const closeButtons = [ + '.ytp-ad-overlay-close-button', + '.ytp-ad-overlay-close-container', + '.close-button', + '[aria-label="Close"]', + '[aria-label="Close ad"]', + '[class*="dismiss"]', + '[class*="close"]button', + ]; + + for (const selector of closeButtons) { + const closeButton = target.querySelector(selector); + if (closeButton) { + closeButton.click(); + skippedAdCount++; + lastSkippedTime = Date.now(); + return true; + } + } + + return false; +} + +/** + * Enhance video to speed through ads + */ +function enhanceAdPlayback( + video: HTMLVideoElement, + isAdShowing: boolean, + config: EnhancedAdBlockerConfig +): void { + if (!video) return; + + if (isAdShowing) { + // Apply user preference for ad speed + video.playbackRate = config.adPlaybackSpeed || 16; + + // Control audio based on user preference + video.muted = config.muteAds !== false; + + // Try to seek to end of ad if very aggressive mode is on + if (config.aggressiveMode && video.duration > 0) { + // Leave slightly less time at the end to ensure the ad completes + const seekTime = Math.max(video.duration - 0.3, video.currentTime); + + // Skip to end of video + video.currentTime = seekTime; + + // Also attempt to find and click skip buttons + const player = video.closest('#movie_player') || document; + skipAdEnhanced(player as Element); + } + } else { + // Restore normal playback only if we're not in an ad + if (video.playbackRate > 1) { + video.playbackRate = 1; + } + + // Unmute only if we're not in an ad and muting was because of an ad + if (config.muteAds !== false && video.muted) { + video.muted = false; + } + } +} + +/** + * Create visual ad-blocking indicator + */ +function createAdBlockingIndicator(): HTMLElement { + const indicator = document.createElement('div'); + + // Style the indicator + Object.assign(indicator.style, { + position: 'fixed', + bottom: '60px', + right: '20px', + backgroundColor: 'rgba(0, 0, 0, 0.7)', + color: '#ffffff', + padding: '5px 10px', + borderRadius: '4px', + fontSize: '12px', + zIndex: '9999', + transition: 'opacity 0.3s', + opacity: '0', + pointerEvents: 'none', + }); + + document.body.appendChild(indicator); + return indicator; +} + +/** + * Update the indicator with current stats + */ +function updateAdBlockingIndicator( + indicator: HTMLElement, + isAdBlocking: boolean, + stats: AdSkipStats +): void { + if (isAdBlocking) { + indicator.textContent = `Blocking ad...`; + indicator.style.opacity = '1'; + indicator.style.backgroundColor = 'rgba(255, 0, 0, 0.7)'; + + // Hide after 2 seconds + setTimeout(() => { + indicator.style.opacity = '0'; + }, 2000); + } else if ( + stats.lastSkippedTime > 0 && + Date.now() - stats.lastSkippedTime < 3000 + ) { + // Show skipped message briefly + indicator.textContent = `Ad skipped (Total: ${stats.totalSkipped})`; + indicator.style.opacity = '1'; + indicator.style.backgroundColor = 'rgba(0, 128, 0, 0.7)'; + + // Hide after 2 seconds + setTimeout(() => { + indicator.style.opacity = '0'; + }, 2000); + } +} + +/** + * Get current ad skipping statistics + */ +export function getAdSkipStats(): AdSkipStats { + return { + totalSkipped: skippedAdCount, + uniqueAdsSkipped: skippedAdIds.size, + lastSkippedTime, + }; +} + +// Configuration interface for enhanced ad blocker +export interface EnhancedAdBlockerConfig { + adPlaybackSpeed?: number; + muteAds?: boolean; + showIndicator?: boolean; + aggressiveMode?: boolean; +} + +// Default configuration +const defaultConfig: EnhancedAdBlockerConfig = { + adPlaybackSpeed: 16, + muteAds: true, + showIndicator: true, + aggressiveMode: false, +}; + +/** + * Load enhanced ad skipping functionality + */ +export const loadEnhancedAdSkipper = ( + userConfig?: Partial +): void => { + // Merge default config with user config + const config = { ...defaultConfig, ...userConfig }; + + // Get player element + const player = document.querySelector('#movie_player'); + if (!player) return; + + // Create indicator if enabled + const indicator = config.showIndicator ? createAdBlockingIndicator() : null; + + // Function to check if player contains an ad + const isPlayerShowingAd = (player: Element): boolean => { + return ( + player.classList.contains('ad-showing') || + player.classList.contains('ad-interrupting') || + !!player.querySelector('.ytp-ad-player-overlay') || + !!player.querySelector('.ytp-ad-module') || + !!player.querySelector('[id*="ad-"]') || + !!player.querySelector('[class*="ad-"]') + ); + }; + + // Set up observer to detect ad state changes + new MutationObserver((mutations) => { + for (const mutation of mutations) { + if ( + mutation.type === 'attributes' && + mutation.attributeName === 'class' + ) { + const target = mutation.target as HTMLElement; + + // Check for ad showing state + const isAdShowing = isPlayerShowingAd(target); + + // Get video element + const video = target.querySelector('video'); + + // Apply speed and muting changes + if (video) { + enhanceAdPlayback(video, isAdShowing, config); + } + + // Update visual indicator + if (indicator && isAdShowing) { + updateAdBlockingIndicator(indicator, isAdShowing, getAdSkipStats()); + } + } + + // Look for skip button when DOM changes + if ( + mutation.type === 'childList' && + mutation.addedNodes.length && + mutation.target instanceof HTMLElement + ) { + const didSkip = skipAdEnhanced(mutation.target); + + // Update indicator after skipping + if (indicator && didSkip) { + updateAdBlockingIndicator(indicator, false, getAdSkipStats()); + } + } + } + + // More aggressive checking for ad elements + const isAdShowing = isPlayerShowingAd(player); + + // Find the video element + const video = player.querySelector('video'); + + // Apply enhanced playback settings + if (video) { + enhanceAdPlayback(video, isAdShowing, config); + } + + // Update visual indicator + if (indicator && isAdShowing) { + updateAdBlockingIndicator(indicator, isAdShowing, getAdSkipStats()); + } + }).observe(player, { + attributes: true, + attributeFilter: ['class'], + childList: true, + subtree: true, + }); + + // Add a direct event listener for timeupdate to catch ads in real-time + const video = player.querySelector('video'); + if (video) { + video.addEventListener('timeupdate', () => { + const isAdShowing = isPlayerShowingAd(player); + if (isAdShowing) { + enhanceAdPlayback(video, isAdShowing, config); + if (indicator) { + updateAdBlockingIndicator(indicator, isAdShowing, getAdSkipStats()); + } + } + }); + } + + // Check initial state + const isAdShowing = isPlayerShowingAd(player); + + if (video) { + enhanceAdPlayback(video, isAdShowing, config); + } + + skipAdEnhanced(player); + + // Set up periodic ad checking as a fallback + setInterval(() => { + if (player) { + const isAdCurrentlyShowing = isPlayerShowingAd(player); + if (isAdCurrentlyShowing) { + skipAdEnhanced(player); + + const video = player.querySelector('video'); + if (video) { + enhanceAdPlayback(video, true, config); + } + + if (indicator) { + updateAdBlockingIndicator(indicator, true, getAdSkipStats()); + } + } + } + }, 1000); +}; + +// Reset the ad skip counter +export const resetAdSkipStats = (): void => { + skippedAdCount = 0; + lastSkippedTime = 0; + skippedAdIds.clear(); +}; diff --git a/src/plugins/adblocker/adSpeedup.ts b/src/plugins/adblocker/adSpeedup.ts index acbfd5ef8e..1034dbc734 100644 --- a/src/plugins/adblocker/adSpeedup.ts +++ b/src/plugins/adblocker/adSpeedup.ts @@ -1,4 +1,4 @@ -function skipAd(target: Element) { +function skipAd(target: Element): void { const skipButton = target.querySelector( 'button.ytp-ad-skip-button-modern', ); @@ -13,13 +13,13 @@ function speedUpAndMute(player: Element, isAdShowing: boolean) { if (isAdShowing) { video.playbackRate = 16; video.muted = true; - } else if (!isAdShowing) { + } else { video.playbackRate = 1; video.muted = false; } } -export const loadAdSpeedup = () => { +export const loadAdSpeedup = (): void => { const player = document.querySelector('#movie_player'); if (!player) return; diff --git a/src/plugins/adblocker/blocker.ts b/src/plugins/adblocker/blocker.ts index 368adfe3d1..4ee62c6673 100644 --- a/src/plugins/adblocker/blocker.ts +++ b/src/plugins/adblocker/blocker.ts @@ -1,4 +1,3 @@ -// Used for caching import path from 'node:path'; import fs, { promises } from 'node:fs'; @@ -19,63 +18,101 @@ const SOURCES = [ 'https://secure.fanboy.co.nz/fanboy-annoyance_ubo.txt', // AdGuard 'https://filters.adtidy.org/extension/ublock/filters/122_optimized.txt', + // Additional YouTube-specific filters + 'https://raw.githubusercontent.com/easylist/easylist/master/easylist/easylist_adservers_popup.txt', + 'https://raw.githubusercontent.com/brave/adblock-lists/master/brave-lists/brave-youtube.txt', + // YouTube music specific filters + 'https://raw.githubusercontent.com/DandelionSprout/adfilt/master/BrowseWebsitesWithoutLoggingIn.txt', ]; +// Tracking if a blocker is enabled and the instance let blocker: ElectronBlocker | undefined; +let blockingStats = { + adsBlocked: 0, + lastUpdateTime: 0, +}; +// Enhanced version of the ad blocker loader with better error handling export const loadAdBlockerEngine = async ( session: Electron.Session | undefined = undefined, cache: boolean = true, additionalBlockLists: string[] = [], - disableDefaultLists: boolean | unknown[] = false, -) => { - // Only use cache if no additional blocklists are passed - const cacheDirectory = path.join(app.getPath('userData'), 'adblock_cache'); - if (!fs.existsSync(cacheDirectory)) { - fs.mkdirSync(cacheDirectory); - } - const cachingOptions = - cache && additionalBlockLists.length === 0 - ? { - path: path.join(cacheDirectory, 'adblocker-engine.bin'), - read: promises.readFile, - write: promises.writeFile, - } - : undefined; - const lists = [ - ...((disableDefaultLists && !Array.isArray(disableDefaultLists)) || - (Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0) - ? [] - : SOURCES), - ...additionalBlockLists, - ]; - + disableDefaultLists: boolean | unknown[] = false +): Promise => { try { + // Only use cache if no additional blocklists are passed + const cacheDirectory = path.join(app.getPath('userData'), 'adblock_cache'); + if (!fs.existsSync(cacheDirectory)) { + fs.mkdirSync(cacheDirectory); + } + + const cachingOptions = + cache && additionalBlockLists.length === 0 + ? { + path: path.join(cacheDirectory, 'adblocker-engine.bin'), + read: promises.readFile, + write: promises.writeFile, + } + : undefined; + + const lists = [ + ...((disableDefaultLists && !Array.isArray(disableDefaultLists)) || + (Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0) + ? [] + : SOURCES), + ...additionalBlockLists, + ]; + + // Create blocker with improved configuration blocker = await ElectronBlocker.fromLists( (url: string) => net.fetch(url), lists, { enableCompression: true, - // When generating the engine for caching, do not load network filters - // So that enhancing the session works as expected - // Allowing to define multiple webRequest listeners loadNetworkFilters: session !== undefined, + debug: process.env.NODE_ENV === 'development', }, - cachingOptions, + cachingOptions ); - if (session) { + + // Set up request blocking and analytics + if (session && blocker) { blocker.enableBlockingInSession(session); + + // Add tracking for blocked requests + session.webRequest.onBeforeRequest((details, callback) => { + const match = blocker?.match(details); + if (match?.redirect || match?.match) { + blockingStats.adsBlocked++; + blockingStats.lastUpdateTime = Date.now(); + } + callback({}); + }); } } catch (error) { - console.error('Error loading adBlocker engine', error); + console.error('Failed to load ad blocker engine:', error); + // Fallback to minimal blocking if full loading fails + if (session) { + try { + blocker = await ElectronBlocker.empty(); + blocker.enableBlockingInSession(session); + } catch (e) { + console.error('Failed to create empty blocker:', e); + } + } } }; -export const unloadAdBlockerEngine = (session: Electron.Session) => { +export const unloadAdBlockerEngine = (session: Electron.Session): void => { if (blocker) { blocker.disableBlockingInSession(session); } }; -export const isBlockerEnabled = (session: Electron.Session) => +export const isBlockerEnabled = (session: Electron.Session): boolean => blocker !== undefined && blocker.isBlockingEnabled(session); + +// Get statistics about blocked ads +export const getBlockingStats = () => { + return blockingStats; +}; diff --git a/src/plugins/adblocker/index.ts b/src/plugins/adblocker/index.ts index ade1b479e9..136c8beaaa 100644 --- a/src/plugins/adblocker/index.ts +++ b/src/plugins/adblocker/index.ts @@ -1,15 +1,25 @@ import { contextBridge, webFrame } from 'electron'; -import { blockers } from './types'; +import { blockers, EnhancedAdBlockerSettings } from './types'; import { createPlugin } from '@/utils'; import { isBlockerEnabled, loadAdBlockerEngine, unloadAdBlockerEngine, + getBlockingStats, } from './blocker'; import { inject, isInjected } from './injectors/inject'; +import { + inject as injectEnhanced, + isInjected as isEnhancedInjected, +} from './injectors/enhanced-inject'; import { loadAdSpeedup } from './adSpeedup'; +import { + loadEnhancedAdSkipper, + getAdSkipStats, + resetAdSkipStats, +} from './adEnhancedSkipper'; import { t } from '@/i18n'; @@ -42,6 +52,10 @@ interface AdblockerConfig { * @default false */ disableDefaultLists: boolean; + /** + * Enhanced ad blocker settings + */ + enhancedSettings: EnhancedAdBlockerSettings; } export default createPlugin({ @@ -51,9 +65,15 @@ export default createPlugin({ config: { enabled: true, cache: true, - blocker: blockers.InPlayer, + blocker: blockers.EnhancedAdBlocker, // Set enhanced blocker as default additionalBlockLists: [], disableDefaultLists: false, + enhancedSettings: { + adPlaybackSpeed: 16, + muteAds: true, + showIndicator: true, + aggressiveMode: false, + }, } as AdblockerConfig, menu: async ({ getConfig, setConfig }) => { const config = await getConfig(); @@ -64,21 +84,105 @@ export default createPlugin({ submenu: Object.values(blockers).map((blocker) => ({ label: blocker, type: 'radio', - checked: (config.blocker || blockers.WithBlocklists) === blocker, + checked: (config.blocker || blockers.EnhancedAdBlocker) === blocker, click() { setConfig({ blocker }); }, })), }, + { + type: 'separator', + }, + { + label: 'Enhanced Ad Blocker Settings', + submenu: [ + { + label: 'Ad Playback Speed', + submenu: [1, 2, 4, 8, 16, 32].map((speed) => ({ + label: `${speed}x`, + type: 'radio', + checked: + (config.enhancedSettings?.adPlaybackSpeed || 16) === speed, + click() { + setConfig({ + enhancedSettings: { + ...config.enhancedSettings, + adPlaybackSpeed: speed, + }, + }); + }, + })), + }, + { + label: 'Mute Ads', + type: 'checkbox', + checked: config.enhancedSettings?.muteAds !== false, + click(item) { + setConfig({ + enhancedSettings: { + ...config.enhancedSettings, + muteAds: item.checked, + }, + }); + }, + }, + { + label: 'Show Ad Blocking Indicator', + type: 'checkbox', + checked: config.enhancedSettings?.showIndicator !== false, + click(item) { + setConfig({ + enhancedSettings: { + ...config.enhancedSettings, + showIndicator: item.checked, + }, + }); + }, + }, + { + label: 'Aggressive Mode', + type: 'checkbox', + checked: config.enhancedSettings?.aggressiveMode === true, + click(item) { + setConfig({ + enhancedSettings: { + ...config.enhancedSettings, + aggressiveMode: item.checked, + }, + }); + }, + }, + { + type: 'separator', + }, + { + label: 'Reset Ad Skip Statistics', + click() { + resetAdSkipStats(); + }, + }, + ], + }, ]; }, renderer: { async onPlayerApiReady(_, { getConfig }) { const config = await getConfig(); + + // Start the appropriate ad blocker based on config if (config.blocker === blockers.AdSpeedup) { await loadAdSpeedup(); + } else if (config.blocker === blockers.EnhancedAdBlocker) { + await loadEnhancedAdSkipper(config.enhancedSettings); } }, + + // Add method to get ad blocking statistics + getAdBlockingStats() { + return { + ...getAdSkipStats(), + }; + }, }, backend: { mainWindow: null as BrowserWindow | null, @@ -86,12 +190,15 @@ export default createPlugin({ const config = await getConfig(); this.mainWindow = window; - if (config.blocker === blockers.WithBlocklists) { + if ( + config.blocker === blockers.WithBlocklists || + config.blocker === blockers.EnhancedAdBlocker + ) { await loadAdBlockerEngine( window.webContents.session, config.cache, config.additionalBlockLists, - config.disableDefaultLists, + config.disableDefaultLists ); } }, @@ -103,45 +210,179 @@ export default createPlugin({ async onConfigChange(newConfig) { if (this.mainWindow) { if ( - newConfig.blocker === blockers.WithBlocklists && + (newConfig.blocker === blockers.WithBlocklists || + newConfig.blocker === blockers.EnhancedAdBlocker) && !isBlockerEnabled(this.mainWindow.webContents.session) ) { await loadAdBlockerEngine( this.mainWindow.webContents.session, newConfig.cache, newConfig.additionalBlockLists, - newConfig.disableDefaultLists, + newConfig.disableDefaultLists ); } } }, + + // New method to get backend ad blocking stats + getBackendBlockingStats() { + return getBlockingStats(); + }, }, preload: { - // see #1478 script: `const _prunerFn = window._pruner; + const _enhancedPrunerFn = window._enhancedPruner; window._pruner = undefined; + window._enhancedPruner = undefined; + + // Use enhanced pruner if available, otherwise fall back to regular pruner + const pruner = _enhancedPrunerFn || _prunerFn; + + // Apply DOM cleaning if available + if (typeof window._setupAdDomCleaner === 'function') { + window._adDomObserver = window._setupAdDomCleaner(); + } + + // Proxy JSON.parse to remove ad objects JSON.parse = new Proxy(JSON.parse, { apply() { - return _prunerFn(Reflect.apply(...arguments)); + return pruner(Reflect.apply(...arguments)); }, }); + + // Proxy Response.prototype.json to clean ad objects Response.prototype.json = new Proxy(Response.prototype.json, { apply() { - return Reflect.apply(...arguments).then((o) => _prunerFn(o)); + return Reflect.apply(...arguments).then((o) => pruner(o)); }, - }); 0`, + }); + + // Intercept XMLHttpRequest to block ad-related requests + const originalXhrOpen = XMLHttpRequest.prototype.open; + XMLHttpRequest.prototype.open = function(method, url, ...rest) { + if (typeof url === 'string') { + // Block ad-related XHR requests + if ( + url.includes('pagead') || + url.includes('doubleclick.net') || + url.includes('/ad_') || + url.includes('/ads') || + url.includes('googleads') || + url.includes('googlesyndication') || + (url.includes('youtube') && url.includes('_ads')) + ) { + // Replace with empty URL to prevent request + url = 'data:,'; + } + } + return originalXhrOpen.call(this, method, url, ...rest); + }; + + // Intercept YouTube's ad-related fetch requests + const originalFetch = window.fetch; + window.fetch = async function(input, init) { + const url = input?.toString() || ''; + + // Block requests to known ad endpoints + if ( + url.includes('pagead') || + url.includes('doubleclick.net') || + url.includes('/ad_') || + url.includes('/ads') || + url.includes('googleads') || + url.includes('googlesyndication') || + (url.includes('youtube') && url.includes('_ads')) + ) { + // Return empty response for ad requests + return new Response(JSON.stringify({}), { + status: 200, + headers: { 'Content-Type': 'application/json' } + }); + } + + // Let other requests through + return originalFetch.apply(this, arguments); + } + + // Prevent ad-related properties from being added to window/document + const blockProperties = [ + 'adPlacements', + 'google_ad_client', + 'google_ad_channel', + 'google_ad_host', + 'ytplayer.config.loaded' + ]; + + blockProperties.forEach(prop => { + try { + Object.defineProperty(window, prop, { + set: () => {}, + get: () => undefined, + configurable: false + }); + } catch (e) { + // Some properties might already be defined + } + }); + + // Keep track of time between ad skips to prevent excessive skipping + let lastAdSkipTime = 0; + + // Add event listener to auto-skip ads when they appear + document.addEventListener('timeupdate', function(e) { + if (e.target instanceof HTMLVideoElement) { + const now = Date.now(); + if (now - lastAdSkipTime > 500) { // Prevent too frequent skips + const player = document.getElementById('movie_player'); + if (player && + (player.classList.contains('ad-showing') || + player.classList.contains('ad-interrupting'))) { + // Auto-skip to end of ad + if (e.target.duration > 0) { + e.target.currentTime = Math.max(e.target.duration - 0.1, e.target.currentTime); + lastAdSkipTime = now; + } + } + } + } + }, true); + `, + async start({ getConfig }) { const config = await getConfig(); - if (config.blocker === blockers.InPlayer && !isInjected()) { - inject(contextBridge); + if ( + config.blocker === blockers.InPlayer || + config.blocker === blockers.EnhancedAdBlocker + ) { + // Use enhanced injector for enhanced blocker and standard for regular in-player + if (config.blocker === blockers.EnhancedAdBlocker) { + if (!isEnhancedInjected()) { + injectEnhanced(contextBridge); + } + } else if (!isInjected()) { + inject(contextBridge); + } + await webFrame.executeJavaScript(this.script); } }, + async onConfigChange(newConfig) { - if (newConfig.blocker === blockers.InPlayer && !isInjected()) { - inject(contextBridge); - await webFrame.executeJavaScript(this.script); + if ( + newConfig.blocker === blockers.InPlayer || + newConfig.blocker === blockers.EnhancedAdBlocker + ) { + // Use enhanced injector for enhanced blocker and standard for regular in-player + if (newConfig.blocker === blockers.EnhancedAdBlocker) { + if (!isEnhancedInjected()) { + injectEnhanced(contextBridge); + await webFrame.executeJavaScript(this.script); + } + } else if (!isInjected()) { + inject(contextBridge); + await webFrame.executeJavaScript(this.script); + } } }, }, diff --git a/src/plugins/adblocker/injectors/enhanced-inject.js b/src/plugins/adblocker/injectors/enhanced-inject.js new file mode 100644 index 0000000000..15482f6fda --- /dev/null +++ b/src/plugins/adblocker/injectors/enhanced-inject.js @@ -0,0 +1,152 @@ +/* eslint-disable */ + +// Enhanced YouTube Music Ad Blocker injector +// Builds upon the original inject.js but adds more comprehensive ad detection + +let injected = false; + +export const isInjected = () => injected; + +/** + * @param {Electron.ContextBridge} contextBridge + */ +export const inject = (contextBridge) => { + injected = true; + { + // Enhanced pruner that handles more ad-related fields + const pruner = function (o) { + // Skip processing if not an object + if (!o || typeof o !== 'object') return o; + + // Process existing properties to remove ads + delete o.playerAds; + delete o.adPlacements; + delete o.adSlots; + delete o.adBreakHeartbeatParams; + delete o.adParams; + delete o.adPlaybackContext; + delete o.adsSelfMonitoringContext; + delete o.adSignalsInfo; + delete o.breakoutRequests; + + // Handle nested playerResponse object + if (o.playerResponse) { + delete o.playerResponse.playerAds; + delete o.playerResponse.adPlacements; + delete o.playerResponse.adSlots; + delete o.playerResponse.adBreakHeartbeatParams; + + // Handle adBreakHeartbeatParams + if (o.playerResponse.adBreakHeartbeatParams) { + o.playerResponse.adBreakHeartbeatParams = {}; + } + + // Remove auxiliary ad-related data + if (o.playerResponse.auxiliaryUi) { + const messageRenderers = + o.playerResponse.auxiliaryUi?.messageRenderers; + + if (messageRenderers?.offerMessageRenderer) { + delete messageRenderers.offerMessageRenderer; + } + } + } + + // Handle initial player response object + if (o.ytInitialPlayerResponse) { + delete o.ytInitialPlayerResponse.playerAds; + delete o.ytInitialPlayerResponse.adPlacements; + delete o.ytInitialPlayerResponse.adSlots; + + // Handle auxiliary UI that might contain ads + if (o.ytInitialPlayerResponse.auxiliaryUi) { + const messageRenderers = + o.ytInitialPlayerResponse.auxiliaryUi?.messageRenderers; + + if (messageRenderers?.offerMessageRenderer) { + delete messageRenderers.offerMessageRenderer; + } + } + + // Remove ad breaks + if (o.ytInitialPlayerResponse.streamingData) { + delete o.ytInitialPlayerResponse.streamingData.adBreakTimings; + } + } + + // Clear preroll ads + if (o.response?.adPlacements) { + o.response.adPlacements = []; + } + + // Process items array - used in search results and playlists + if (Array.isArray(o.items)) { + // Filter out promoted content + o.items = o.items.filter( + (item) => + !item.promotedContent && + !item.promoted && + !item.adInfo && + !( + item.badges && + item.badges.some( + (b) => + b.metadataBadgeRenderer && + b.metadataBadgeRenderer.label === 'Ad' + ) + ) + ); + } + + return o; + }; + + contextBridge.exposeInMainWorld('_enhancedPruner', pruner); + } + + // Expose a hook for removing ad-related DOM elements + contextBridge.exposeInMainWorld('_removeAdElements', () => { + // Elements that might contain ads + const adSelectors = [ + '.ytd-display-ad-renderer', + '.ytd-promoted-video-renderer', + '.ytd-promoted-sparkles-web-renderer', + '.ytd-player-legacy-desktop-watch-ads-renderer', + '.ytp-ad-overlay-container', + '.ytp-ad-message-container', + 'ytd-in-feed-ad-layout-renderer', + '.masthead-ad', + '.ytd-video-masthead-ad-v3-renderer', + '.ytd-mealbar-promo-renderer', + ]; + + // Remove all ad elements + adSelectors.forEach((selector) => { + const elements = document.querySelectorAll(selector); + elements.forEach((element) => element.remove()); + }); + }); + + // Setup MutationObserver to clean ads from DOM + contextBridge.exposeInMainWorld('_setupAdDomCleaner', () => { + // Remove all ad elements initially + window._removeAdElements(); + + // Setup observer to remove ad elements as they appear + const observer = new MutationObserver((mutations) => { + for (const mutation of mutations) { + if (mutation.type === 'childList' && mutation.addedNodes.length) { + window._removeAdElements(); + } + } + }); + + // Start observing the document with the configured parameters + observer.observe(document.body, { + childList: true, + subtree: true, + }); + + return observer; + }); +}; diff --git a/src/plugins/adblocker/injectors/inject-cliqz-preload.ts b/src/plugins/adblocker/injectors/inject-cliqz-preload.ts index 27463f0bee..4d1de03180 100644 --- a/src/plugins/adblocker/injectors/inject-cliqz-preload.ts +++ b/src/plugins/adblocker/injectors/inject-cliqz-preload.ts @@ -1,3 +1,3 @@ -export default async () => { +export default async (): Promise => { await import('@ghostery/adblocker-electron-preload'); }; diff --git a/src/plugins/adblocker/injectors/inject.d.ts b/src/plugins/adblocker/injectors/inject.d.ts index 10062acc3c..a16c6c74ac 100644 --- a/src/plugins/adblocker/injectors/inject.d.ts +++ b/src/plugins/adblocker/injectors/inject.d.ts @@ -1,5 +1,13 @@ import type { ContextBridge } from 'electron'; +/** + * Injects the adblocker script into the context bridge. + * @param contextBridge - The Electron context bridge. + */ export const inject: (contextBridge: ContextBridge) => void; +/** + * Checks if the adblocker script has been injected. + * @returns A boolean indicating whether the script has been injected. + */ export const isInjected: () => boolean; diff --git a/src/plugins/adblocker/injectors/inject.js b/src/plugins/adblocker/injectors/inject.js index 6e6219fe97..36c8825027 100644 --- a/src/plugins/adblocker/injectors/inject.js +++ b/src/plugins/adblocker/injectors/inject.js @@ -37,7 +37,7 @@ export const inject = (contextBridge) => { // return o; - } + }; contextBridge.exposeInMainWorld('_pruner', pruner); } @@ -58,7 +58,7 @@ export const inject = (contextBridge) => { { chain: 'ytInitialPlayerResponse.adSlots', cValue: 'undefined', - } + }, ]; chains.forEach(function ({ chain, cValue }) { diff --git a/src/plugins/adblocker/types/index.ts b/src/plugins/adblocker/types/index.ts index d96ce6647c..e0484dc4e6 100644 --- a/src/plugins/adblocker/types/index.ts +++ b/src/plugins/adblocker/types/index.ts @@ -2,4 +2,27 @@ export const blockers = { WithBlocklists: 'With blocklists', InPlayer: 'In player', AdSpeedup: 'Ad speedup', + EnhancedAdBlocker: 'Enhanced ad blocker', + CombinedBlocker: 'Combined blocker', // New option that uses all methods together } as const; + +export type BlockerType = (typeof blockers)[keyof typeof blockers]; + +export interface EnhancedAdBlockerSettings { + adPlaybackSpeed: number; + muteAds: boolean; + showIndicator: boolean; + aggressiveMode: boolean; + // New settings + autoSkipOverlays: boolean; + blockYoutubeAnalytics: boolean; + hidePromos: boolean; + enableLogging: boolean; +} + +export interface AdBlockStats { + networkRequestsBlocked: number; + adsSkipped: number; + overlaysRemoved: number; + lastActivity: number; +} diff --git a/src/plugins/album-actions/templates/dislike.html b/src/plugins/album-actions/templates/dislike.html index 1d00412c0b..1da921c974 100644 --- a/src/plugins/album-actions/templates/dislike.html +++ b/src/plugins/album-actions/templates/dislike.html @@ -52,7 +52,12 @@ preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" - style="pointer-events: none; display: block; width: 100%; height: 100%" + style=" + pointer-events: none; + display: block; + width: 100%; + height: 100%; + " > [slot="player-page"]:not([is-mweb-modernization-enabled]):not(:has(ytmusic-player[player-ui-state=FULLSCREEN])) { +ytmusic-app-layout + > [slot='player-page']:not([is-mweb-modernization-enabled]):not( + :has(ytmusic-player[player-ui-state='FULLSCREEN']) + ) { padding-top: 90px; margin-top: calc(-90px + var(--menu-bar-height, 0px)) !important; } /* fix icon color */ -.duration.ytmusic-player-queue-item, .byline.ytmusic-player-queue-item { +.duration.ytmusic-player-queue-item, +.byline.ytmusic-player-queue-item { color: rgba(255, 255, 255, 0.5) !important; --yt-endpoint-color: rgba(255, 255, 255, 0.5) !important; --yt-endpoint-hover-color: rgba(255, 255, 255, 0.5) !important; @@ -60,7 +68,8 @@ ytmusic-player-bar { color: rgba(255, 255, 255, 0.5) !important; } -.volume-slider.ytmusic-player-bar, .expand-volume-slider.ytmusic-player-bar { +.volume-slider.ytmusic-player-bar, +.expand-volume-slider.ytmusic-player-bar { --paper-slider-container-color: rgba(255, 255, 255, 0.5) !important; } @@ -70,11 +79,13 @@ ytmusic-fullbleed-thumbnail-renderer img { } .background-gradient.style-scope, -ytmusic-app-layout[is-bauhaus-sidenav-enabled] #mini-guide-background.ytmusic-app-layout { +ytmusic-app-layout[is-bauhaus-sidenav-enabled] + #mini-guide-background.ytmusic-app-layout { background: var(--ytmusic-background) !important; } -ytmusic-browse-response[has-background]:not([disable-gradient]) .background-gradient.ytmusic-browse-response { +ytmusic-browse-response[has-background]:not([disable-gradient]) + .background-gradient.ytmusic-browse-response { background: unset !important; } diff --git a/src/plugins/ambient-mode/style.css b/src/plugins/ambient-mode/style.css index 78fcf55b22..9915dad748 100644 --- a/src/plugins/ambient-mode/style.css +++ b/src/plugins/ambient-mode/style.css @@ -29,14 +29,17 @@ height: 100%; } -#player:not([video-mode]):not(.video-mode):not([player-ui-state='MINIPLAYER']):not([is-mweb-modernization-enabled]) { +#player:not([video-mode]):not(.video-mode):not( + [player-ui-state='MINIPLAYER'] + ):not([is-mweb-modernization-enabled]) { width: 100%; margin: 0 auto !important; overflow: visible; } /* Fix ambient mode overlapping other elements #2520 */ -.song-button.ytmusic-av-toggle, .video-button.ytmusic-av-toggle { +.song-button.ytmusic-av-toggle, +.video-button.ytmusic-av-toggle { z-index: 1; background-color: transparent; } diff --git a/src/plugins/downloader/main/index.ts b/src/plugins/downloader/main/index.ts index 484f233a1a..b722f012d9 100644 --- a/src/plugins/downloader/main/index.ts +++ b/src/plugins/downloader/main/index.ts @@ -57,7 +57,7 @@ let playingUrl: string; const isYouTubeMusicPremium = async () => { const upgradeBtnIconPathData = (await win.webContents.executeJavaScript( - 'document.querySelector(\'iron-iconset-svg[name="yt-sys-icons"] #youtube_music_monochrome\')?.firstChild?.getAttribute("d")?.substring(0, 15)', + 'document.querySelector(\'iron-iconset-svg[name="yt-sys-icons"] #youtube_music_monochrome\')?.firstChild?.getAttribute("d")?.substring(0, 15)' )) as string | null; // Fallback to non-premium if the icon is not found @@ -66,26 +66,29 @@ const isYouTubeMusicPremium = async () => { const selector = `ytmusic-guide-entry-renderer:has(> tp-yt-paper-item > yt-icon path[d^="${upgradeBtnIconPathData}"])`; return (await win.webContents.executeJavaScript( - `!document.querySelector('${selector}')`, + `!document.querySelector('${selector}')` )) as boolean; }; -const sendError = (error: Error, source?: string) => { +const sendError = (error: Error | unknown, source?: string) => { win.setProgressBar(-1); // Close progress bar setBadge(0); // Close badge sendFeedback_(win); // Reset feedback + const errorObj = error instanceof Error ? error : new Error(String(error)); const songNameMessage = source ? `\nin ${source}` : ''; - const cause = error.cause + const cause = errorObj.cause ? `\n\n${ // eslint-disable-next-line @typescript-eslint/no-base-to-string,@typescript-eslint/restrict-template-expressions - error.cause instanceof Error ? error.cause.toString() : error.cause + errorObj.cause instanceof Error + ? errorObj.cause.toString() + : errorObj.cause }` : ''; - const message = `${error.toString()}${songNameMessage}${cause}`; + const message = `${errorObj.toString()}${songNameMessage}${cause}`; console.error(message); - console.trace(error); + console.trace(errorObj); dialog.showMessageBox(win, { type: 'info', buttons: [t('plugins.downloader.backend.dialog.error.buttons.ok')], @@ -186,7 +189,7 @@ export const onMainLoad = async ({ playingUrl = data.microformat.microformatDataRenderer.urlCanonical; }); ipc.handle('download-playlist-request', async (url: string) => - downloadPlaylist(url), + downloadPlaylist(url) ); downloadSongOnFinishSetup({ ipc, getConfig }); @@ -200,7 +203,7 @@ export async function downloadSong( url: string, playlistFolder: string | undefined = undefined, trackId: string | undefined = undefined, - increasePlaylistProgress: (value: number) => void = () => {}, + increasePlaylistProgress: (value: number) => void = () => {} ) { let resolvedName; try { @@ -210,7 +213,7 @@ export async function downloadSong( (name: string) => (resolvedName = name), playlistFolder, trackId, - increasePlaylistProgress, + increasePlaylistProgress ); } catch (error: unknown) { sendError(error as Error, resolvedName || url); @@ -221,7 +224,7 @@ export async function downloadSongFromId( id: string, playlistFolder: string | undefined = undefined, trackId: string | undefined = undefined, - increasePlaylistProgress: (value: number) => void = () => {}, + increasePlaylistProgress: (value: number) => void = () => {} ) { let resolvedName; try { @@ -231,7 +234,7 @@ export async function downloadSongFromId( (name: string) => (resolvedName = name), playlistFolder, trackId, - increasePlaylistProgress, + increasePlaylistProgress ); } catch (error: unknown) { sendError(error as Error, resolvedName || id); @@ -267,7 +270,7 @@ function downloadSongOnFinishSetup({ currentUrl, config.downloadOnFinish.folder ?? config.downloadFolder ?? - defaultDownloadFolder, + defaultDownloadFolder ); } else if ( config.downloadOnFinish.mode === 'percent' && @@ -277,7 +280,7 @@ function downloadSongOnFinishSetup({ currentUrl, config.downloadOnFinish.folder ?? config.downloadFolder ?? - defaultDownloadFolder, + defaultDownloadFolder ); } } @@ -299,7 +302,7 @@ async function downloadSongUnsafe( setName: (name: string) => void, playlistFolder: string | undefined = undefined, trackId: string | undefined = undefined, - increasePlaylistProgress: (value: number) => void = () => {}, + increasePlaylistProgress: (value: number) => void = () => {} ) { const sendFeedback = (message: unknown, progress?: number) => { if (!playlistFolder) { @@ -319,7 +322,7 @@ async function downloadSongUnsafe( id = getVideoId(idOrUrl); if (typeof id !== 'string') throw new Error( - t('plugins.downloader.backend.feedback.video-id-not-found'), + t('plugins.downloader.backend.feedback.video-id-not-found') ); } @@ -327,7 +330,7 @@ async function downloadSongUnsafe( if (!info) { throw new Error( - t('plugins.downloader.backend.feedback.video-id-not-found'), + t('plugins.downloader.backend.feedback.video-id-not-found') ); } @@ -354,7 +357,7 @@ async function downloadSongUnsafe( if (playabilityStatus?.status === 'LOGIN_REQUIRED') { throw new Error( - `[${playabilityStatus.status}] ${playabilityStatus.reason}`, + `[${playabilityStatus.status}] ${playabilityStatus.reason}` ); } @@ -365,7 +368,7 @@ async function downloadSongUnsafe( const errorScreen = playabilityStatus.error_screen as PlayerErrorMessage | null; throw new Error( - `[${playabilityStatus.status}] ${errorScreen?.reason.text}: ${errorScreen?.subreason.text}`, + `[${playabilityStatus.status}] ${errorScreen?.reason.text}: ${errorScreen?.subreason.text}` ); } @@ -417,7 +420,7 @@ async function downloadSongUnsafe( artist: metadata.artist, title: metadata.title, videoId: metadata.videoId, - }), + }) ); const iterableStream = Utils.streamToIterable(stream); @@ -433,14 +436,14 @@ async function downloadSongUnsafe( presetSetting?.ffmpegArgs ?? [], format.content_length ?? 0, sendFeedback, - increasePlaylistProgress, + increasePlaylistProgress ); if (fileBuffer && targetFileExtension === 'mp3') { fileBuffer = await writeID3( Buffer.from(fileBuffer), metadata, - sendFeedback, + sendFeedback ); } @@ -452,7 +455,7 @@ async function downloadSongUnsafe( console.info( t('plugins.downloader.backend.feedback.done', { filePath, - }), + }) ); } @@ -460,7 +463,7 @@ async function downloadChunks( stream: AsyncGenerator, contentLength: number, sendFeedback: (str: string, value?: number) => void, - increasePlaylistProgress: (value: number) => void = () => {}, + increasePlaylistProgress: (value: number) => void = () => {} ) { const chunks = []; let downloaded = 0; @@ -473,7 +476,7 @@ async function downloadChunks( t('plugins.downloader.backend.feedback.download-progress', { percent: progress, }), - ratio, + ratio ); // 15% for download, 85% for conversion // This is a very rough estimate, trying to make the progress bar look nice @@ -489,7 +492,7 @@ async function iterableStreamToProcessedUint8Array( presetFfmpegArgs: string[], contentLength: number, sendFeedback: (str: string, value?: number) => void, - increasePlaylistProgress: (value: number) => void = () => {}, + increasePlaylistProgress: (value: number) => void = () => {} ): Promise { sendFeedback(t('plugins.downloader.backend.feedback.loading'), 2); // Indefinite progress bar after download @@ -510,9 +513,9 @@ async function iterableStreamToProcessedUint8Array( stream, contentLength, sendFeedback, - increasePlaylistProgress, - ), - ), + increasePlaylistProgress + ) + ) ); sendFeedback(t('plugins.downloader.backend.feedback.converting')); @@ -522,7 +525,7 @@ async function iterableStreamToProcessedUint8Array( t('plugins.downloader.backend.feedback.conversion-progress', { percent: Math.floor(ratio * 100), }), - ratio, + ratio ); increasePlaylistProgress(0.15 + ratio * 0.85); }); @@ -534,7 +537,7 @@ async function iterableStreamToProcessedUint8Array( safeVideoName, ...presetFfmpegArgs, ...getFFmpegMetadataArgs(metadata), - safeVideoNameWithExtension, + safeVideoNameWithExtension ); } finally { ffmpeg.FS('unlink', safeVideoName); @@ -562,7 +565,7 @@ const getCoverBuffer = async (url: string) => { async function writeID3( buffer: Buffer, metadata: CustomSongInfo, - sendFeedback: (str: string, value?: number) => void, + sendFeedback: (str: string, value?: number) => void ) { try { sendFeedback(t('plugins.downloader.backend.feedback.writing-id3')); @@ -621,7 +624,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { if (!playlistId) { sendError( - new Error(t('plugins.downloader.backend.feedback.playlist-id-not-found')), + new Error(t('plugins.downloader.backend.feedback.playlist-id-not-found')) ); return; } @@ -631,7 +634,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { console.log( t('plugins.downloader.backend.feedback.trying-to-get-playlist-id', { playlistId, - }), + }) ); sendFeedback(t('plugins.downloader.backend.feedback.getting-playlist-info')); let playlist: Playlist; @@ -641,7 +644,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { if (playlist?.items) { const filteredItems = playlist.items.filter( (item): item is YTNodes.MusicResponsiveListItem => - item instanceof YTNodes.MusicResponsiveListItem, + item instanceof YTNodes.MusicResponsiveListItem ); items.push(...filteredItems); @@ -651,15 +654,15 @@ export async function downloadPlaylist(givenUrl?: string | URL) { Error( t('plugins.downloader.backend.feedback.playlist-is-mix-or-private', { error: String(error), - }), - ), + }) + ) ); return; } if (!playlist || !playlist.items || playlist.items.length === 0) { sendError( - new Error(t('plugins.downloader.backend.feedback.playlist-is-empty')), + new Error(t('plugins.downloader.backend.feedback.playlist-is-empty')) ); return; } @@ -682,7 +685,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { const filteredItems = playlist.items.filter( (item): item is YTNodes.MusicResponsiveListItem => - item instanceof YTNodes.MusicResponsiveListItem, + item instanceof YTNodes.MusicResponsiveListItem ); items.push(...filteredItems); @@ -690,7 +693,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { if (items.length === 1) { sendFeedback( - t('plugins.downloader.backend.feedback.playlist-has-only-one-song'), + t('plugins.downloader.backend.feedback.playlist-has-only-one-song') ); await downloadSongFromId(items.at(0)!.id!); return; @@ -709,8 +712,8 @@ export async function downloadPlaylist(givenUrl?: string | URL) { new Error( t('plugins.downloader.backend.feedback.folder-already-exists', { playlistFolder, - }), - ), + }) + ) ); return; } @@ -728,13 +731,13 @@ export async function downloadPlaylist(givenUrl?: string | URL) { 'plugins.downloader.backend.dialog.start-download-playlist.message', { playlistTitle, - }, + } ), detail: t( 'plugins.downloader.backend.dialog.start-download-playlist.detail', { playlistSize: items.length, - }, + } ), }); @@ -744,7 +747,7 @@ export async function downloadPlaylist(givenUrl?: string | URL) { playlistTitle, playlistSize: items.length, playlistId, - }), + }) ); } @@ -768,14 +771,14 @@ export async function downloadPlaylist(givenUrl?: string | URL) { t('plugins.downloader.backend.feedback.downloading-counter', { current: counter, total: items.length, - }), + }) ); const trackId = isAlbum ? counter : undefined; await downloadSongFromId( song.id!, playlistFolder, trackId?.toString(), - increaseProgress, + increaseProgress ).catch((error) => sendError( new Error( @@ -783,9 +786,9 @@ export async function downloadPlaylist(givenUrl?: string | URL) { author: song.author!.name, title: song.title!, error: String(error), - }), - ), - ), + }) + ) + ) ); win.setProgressBar(counter / items.length); @@ -836,7 +839,7 @@ const getMetadata = (info: TrackInfo): CustomSongInfo => ({ title: cleanupName(info.basic_info.title!), artist: cleanupName(info.basic_info.author!), album: info.player_overlays?.browser_media_session?.as( - YTNodes.BrowserMediaSession, + YTNodes.BrowserMediaSession ).album?.text, imageSrc: info.basic_info.thumbnail?.find((t) => !t.url.endsWith('.webp')) ?.url, diff --git a/src/plugins/downloader/types.ts b/src/plugins/downloader/types.ts index 8f04f68ad0..a6addad535 100644 --- a/src/plugins/downloader/types.ts +++ b/src/plugins/downloader/types.ts @@ -9,11 +9,11 @@ export const DefaultPresetList: Record = { extension: 'mp3', ffmpegArgs: ['-b:a', '256k'], }, - 'Source': { + Source: { extension: undefined, ffmpegArgs: ['-acodec', 'copy'], }, - 'Custom': { + Custom: { extension: null, ffmpegArgs: [], }, diff --git a/src/plugins/in-app-menu/titlebar.css b/src/plugins/in-app-menu/titlebar.css index f61a5c041a..b2a92ced97 100644 --- a/src/plugins/in-app-menu/titlebar.css +++ b/src/plugins/in-app-menu/titlebar.css @@ -16,10 +16,10 @@ ytmusic-app-layout#layout { --ytmusic-nav-bar-offset: 0px; } -ytmusic-app-layout::-webkit-scrollbar{ +ytmusic-app-layout::-webkit-scrollbar { width: var(--ytmusic-scrollbar-width); } -ytmusic-app-layout::-webkit-scrollbar-thumb{ +ytmusic-app-layout::-webkit-scrollbar-thumb { background-color: rgb(126, 126, 126); } @@ -41,9 +41,7 @@ ytmusic-app[is-bauhaus-sidenav-enabled] #mini-guide-spacer.ytmusic-app { @media (max-width: 935px) { ytmusic-app[is-bauhaus-sidenav-enabled] #guide-spacer.ytmusic-app { - margin-top: calc( - var(--menu-bar-height, 36px) - ) !important; + margin-top: calc(var(--menu-bar-height, 36px)) !important; } ytmusic-app[is-bauhaus-sidenav-enabled] #mini-guide-spacer.ytmusic-app { margin-top: calc( @@ -67,8 +65,18 @@ ytmusic-guide-renderer { } /* fix mini player behavior */ -ytmusic-app-layout ytmusic-player-page[is-mweb-modernization-enabled] .side-panel.ytmusic-player-page { - transform: translate(0, calc(var(--ytmusic-player-page-inner-height) - var(--ytmusic-player-page-tabs-header-height) - var(--ytmusic-player-page-player-bar-height) - var(--menu-bar-height, 32px) )); +ytmusic-app-layout + ytmusic-player-page[is-mweb-modernization-enabled] + .side-panel.ytmusic-player-page { + transform: translate( + 0, + calc( + var(--ytmusic-player-page-inner-height) - + var(--ytmusic-player-page-tabs-header-height) - + var(--ytmusic-player-page-player-bar-height) - + var(--menu-bar-height, 32px) + ) + ); } /* ytm-bugs: see https://github.com/th-ch/youtube-music/issues/1737 */ diff --git a/src/plugins/lumiastream/index.ts b/src/plugins/lumiastream/index.ts index 351337f512..106395964d 100644 --- a/src/plugins/lumiastream/index.ts +++ b/src/plugins/lumiastream/index.ts @@ -44,7 +44,7 @@ export default createPlugin({ const port = 39231; const headers = { 'Content-Type': 'application/json', - 'Accept': 'application/json', + Accept: 'application/json', 'Access-Control-Allow-Headers': '*', 'Access-Control-Allow-Origin': '*', } as const; diff --git a/src/plugins/music-together/connection.ts b/src/plugins/music-together/connection.ts index 3c71dcb853..18bf0257fc 100644 --- a/src/plugins/music-together/connection.ts +++ b/src/plugins/music-together/connection.ts @@ -30,7 +30,7 @@ type PromiseUtil = { export type ConnectionListener = ( event: ConnectionEventUnion, - conn: DataConnection, + conn: DataConnection ) => void; export type ConnectionMode = 'host' | 'guest' | 'disconnected'; export class Connection { @@ -102,10 +102,10 @@ export class Connection { public async broadcast( type: Event, - payload: ConnectionEventMap[Event], + payload: ConnectionEventMap[Event] ) { await Promise.all( - this.getConnections().map((conn) => conn.send({ type, payload })), + this.getConnections().map((conn) => conn.send({ type, payload })) ); } @@ -120,6 +120,7 @@ export class Connection { /* privates */ private async registerConnection(conn: DataConnection) { return new Promise((resolve, reject) => { + // Handle errors on peer level this.peer.once('error', (err) => { this._mode = 'disconnected'; @@ -127,11 +128,13 @@ export class Connection { this.connectionListeners.forEach((listener) => listener()); }); + // Initialize connection when open conn.on('open', () => { this.connections[conn.connectionId] = conn; resolve(conn); this.connectionListeners.forEach((listener) => listener(conn)); + // Handle data received through connection conn.on('data', (data) => { if ( !data || @@ -150,9 +153,11 @@ export class Connection { }); }); + // Handle connection close and errors const onClose = (err?: Error) => { - if (err) reject(err); - + if (err) { + reject(err); + } delete this.connections[conn.connectionId]; this.connectionListeners.forEach((listener) => listener(conn)); }; diff --git a/src/plugins/music-together/queue/song.ts b/src/plugins/music-together/queue/song.ts index e791c94272..547bc1675a 100644 --- a/src/plugins/music-together/queue/song.ts +++ b/src/plugins/music-together/queue/song.ts @@ -35,8 +35,8 @@ export const getMusicQueueRenderer = async ( }), headers: { 'Content-Type': 'application/json', - 'Origin': 'https://music.youtube.com', - 'Authorization': await getAuthorizationHeader(token), + Origin: 'https://music.youtube.com', + Authorization: await getAuthorizationHeader(token), }, }, ); diff --git a/src/plugins/music-together/style.css b/src/plugins/music-together/style.css index 2336eebc73..81cb30d144 100644 --- a/src/plugins/music-together/style.css +++ b/src/plugins/music-together/style.css @@ -7,7 +7,7 @@ & svg { width: 24px; height: 24px; - fill: rgba(255, 255, 255, .5); + fill: rgba(255, 255, 255, 0.5); } &:hover svg:hover { @@ -22,7 +22,7 @@ } .music-together-divider { - background-color: rgba(255, 255, 255, .15); + background-color: rgba(255, 255, 255, 0.15); } .music-together-divider.horizontal { width: 100%; @@ -55,7 +55,6 @@ } .music-together-spinner { - } .music-together-popup { @@ -78,7 +77,10 @@ cursor: pointer; } &:hover { - background-color: var(--ytmusic-menu-item-hover-background-color, rgba(255,255,255,0.05)); + background-color: var( + --ytmusic-menu-item-hover-background-color, + rgba(255, 255, 255, 0.05) + ); } } @@ -134,7 +136,7 @@ width: 100%; font-size: 14px; - color: rgba(255, 255, 255, .5); + color: rgba(255, 255, 255, 0.5); text-align: center; } diff --git a/src/plugins/music-together/templates/popup.html b/src/plugins/music-together/templates/popup.html index e28438467b..792b6b00ae 100644 --- a/src/plugins/music-together/templates/popup.html +++ b/src/plugins/music-together/templates/popup.html @@ -1,5 +1,6 @@
- - +
diff --git a/src/plugins/music-together/templates/setting.html b/src/plugins/music-together/templates/setting.html index b6d6897bf4..105f6df432 100644 --- a/src/plugins/music-together/templates/setting.html +++ b/src/plugins/music-together/templates/setting.html @@ -1,7 +1,21 @@ -
- - +
+ + - +
diff --git a/src/plugins/music-together/templates/status.html b/src/plugins/music-together/templates/status.html index c273930b4d..2f2fade9f4 100644 --- a/src/plugins/music-together/templates/status.html +++ b/src/plugins/music-together/templates/status.html @@ -1,17 +1,22 @@
- Profile Image + Profile Image
- + - +
-
+
diff --git a/src/plugins/no-google-login/index.ts b/src/plugins/no-google-login/index.ts index af89bcdeae..5a14e9c64f 100644 --- a/src/plugins/no-google-login/index.ts +++ b/src/plugins/no-google-login/index.ts @@ -23,4 +23,4 @@ export default createPlugin({ } } }, -}); \ No newline at end of file +}); diff --git a/src/plugins/notifications/interactive.ts b/src/plugins/notifications/interactive.ts index a7c9633606..e841b1efeb 100644 --- a/src/plugins/notifications/interactive.ts +++ b/src/plugins/notifications/interactive.ts @@ -27,11 +27,16 @@ type Accessor = () => T; export default ( win: BrowserWindow, config: Accessor, - { ipc: { on, send } }: BackendContext, + { ipc: { on, send } }: BackendContext ) => { const sendNotification = (songInfo: SongInfo) => { + if (!songInfo || (!songInfo.title && !songInfo.artist)) { + return; // Don't send notifications for empty song info + } + const iconSrc = notificationImage(songInfo, config()); + // Close previous notification to prevent stacking savedNotification?.close(); let icon: string; @@ -43,12 +48,9 @@ export default ( savedNotification = new Notification({ title: songInfo.title || 'Playing', - body: songInfo.artist, - icon: iconSrc, + body: songInfo.artist || '', + icon: icon, silent: true, - // https://learn.microsoft.com/en-us/uwp/schemas/tiles/toastschema/schema-root - // https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/toast-schema - // https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/adaptive-interactive-toasts?tabs=xml // https://learn.microsoft.com/en-us/uwp/api/windows.ui.notifications.toasttemplatetype toastXml: getXml(songInfo, icon), }); @@ -125,7 +127,7 @@ export default ( const getButton = (kind: keyof typeof mediaIcons) => ``; const getButtons = (isPaused: boolean) => `\ @@ -151,7 +153,7 @@ export default ( const xmlImage = ( { title, artist, isPaused }: SongInfo, imgSrc: string, - placement: string, + placement: string ) => toast( `\ @@ -159,7 +161,7 @@ export default ( ${title} ${artist}\ `, - isPaused ?? false, + isPaused ?? false ); const xmlLogo = (songInfo: SongInfo, imgSrc: string) => @@ -184,7 +186,7 @@ export default ( ${xmlMoreData(songInfo)} \ `, - songInfo.isPaused ?? false, + songInfo.isPaused ?? false ); const xmlMoreData = ({ album, elapsedSeconds, songDuration }: SongInfo) => `\ @@ -195,14 +197,14 @@ export default ( : '' } ${secondsToMinutes( - elapsedSeconds ?? 0, + elapsedSeconds ?? 0 )} / ${secondsToMinutes(songDuration)} \ `; const xmlBannerCenteredBottom = ( { title, artist, isPaused }: SongInfo, - imgSrc: string, + imgSrc: string ) => toast( `\ @@ -210,19 +212,19 @@ export default ( ${title} ${artist} \ `, - isPaused ?? false, + isPaused ?? false ); const xmlBannerCenteredTop = ( { title, artist, isPaused }: SongInfo, - imgSrc: string, + imgSrc: string ) => toast( `\ @@ -231,13 +233,13 @@ export default ( ${title} ${artist} \ `, - isPaused ?? false, + isPaused ?? false ); const titleFontPicker = (title: string) => { @@ -321,7 +323,7 @@ export default ( ...savedSongInfo, isPaused: cmd === 'pause', elapsedSeconds: currentSeconds, - }), + }) ); } } diff --git a/src/plugins/notifications/utils.ts b/src/plugins/notifications/utils.ts index 2db711977f..9ca05807ac 100644 --- a/src/plugins/notifications/utils.ts +++ b/src/plugins/notifications/utils.ts @@ -43,7 +43,7 @@ const nativeImageToLogo = (nativeImage: NativeImage) => { export const notificationImage = ( songInfo: SongInfo, - config: NotificationsPluginConfig, + config: NotificationsPluginConfig ) => { if (!songInfo.image) { return youtubeMusicIcon; @@ -79,11 +79,14 @@ export const saveImage = (img: NativeImage, savePath: string) => { export const snakeToCamel = (string_: string) => string_.replaceAll(/([-_][a-z]|^[a-z])/g, (group) => - group.toUpperCase().replace('-', ' ').replace('_', ' '), + group.toUpperCase().replace('-', ' ').replace('_', ' ') ); -export const secondsToMinutes = (seconds: number) => { +export const secondsToMinutes = (seconds: number): string => { + if (typeof seconds !== 'number' || isNaN(seconds)) { + return '0:00'; + } const minutes = Math.floor(seconds / 60); - const secondsLeft = seconds % 60; + const secondsLeft = Math.floor(seconds % 60); return `${minutes}:${secondsLeft < 10 ? '0' : ''}${secondsLeft}`; }; diff --git a/src/plugins/picture-in-picture/index.ts b/src/plugins/picture-in-picture/index.ts index 92e0add8d5..42527d4956 100644 --- a/src/plugins/picture-in-picture/index.ts +++ b/src/plugins/picture-in-picture/index.ts @@ -23,15 +23,15 @@ export default createPlugin({ description: () => t('plugins.picture-in-picture.description'), restartNeeded: true, config: { - 'enabled': false, - 'alwaysOnTop': true, - 'savePosition': true, - 'saveSize': false, - 'hotkey': 'P', + enabled: false, + alwaysOnTop: true, + savePosition: true, + saveSize: false, + hotkey: 'P', 'pip-position': [10, 10], 'pip-size': [450, 275], - 'isInPiP': false, - 'useNativePiP': true, + isInPiP: false, + useNativePiP: true, } as PictureInPicturePluginConfig, stylesheets: [style], menu: onMenu, diff --git a/src/plugins/scrobbler/services/listenbrainz.ts b/src/plugins/scrobbler/services/listenbrainz.ts index 405c2e2669..fe28780725 100644 --- a/src/plugins/scrobbler/services/listenbrainz.ts +++ b/src/plugins/scrobbler/services/listenbrainz.ts @@ -106,7 +106,7 @@ function submitListen( method: 'POST', body: JSON.stringify(body), headers: { - 'Authorization': 'Token ' + config.scrobblers.listenbrainz.token, + Authorization: 'Token ' + config.scrobblers.listenbrainz.token, 'Content-Type': 'application/json', }, }) diff --git a/src/plugins/skip-silences/renderer.ts b/src/plugins/skip-silences/renderer.ts index 2fbd74197b..69fe93efed 100644 --- a/src/plugins/skip-silences/renderer.ts +++ b/src/plugins/skip-silences/renderer.ts @@ -14,7 +14,10 @@ const speakingHistory = Array.from({ length: history }).fill(0) as number[]; let playOrSeekHandler: (() => void) | undefined; -const getMaxVolume = (analyser: AnalyserNode, fftBins: Float32Array) => { +const getMaxVolume = ( + analyser: AnalyserNode, + fftBins: Float32Array +): number => { let maxVolume = Number.NEGATIVE_INFINITY; analyser.getFloatFrequencyData(fftBins); diff --git a/src/plugins/synced-lyrics/providers/YTMusic.ts b/src/plugins/synced-lyrics/providers/YTMusic.ts index 633a822d69..6d424e4a41 100644 --- a/src/plugins/synced-lyrics/providers/YTMusic.ts +++ b/src/plugins/synced-lyrics/providers/YTMusic.ts @@ -2,7 +2,7 @@ import type { LyricProvider, LyricResult, SearchSongInfo } from '../types'; import type { YouTubeMusicAppElement } from '@/types/youtube-music-app-element'; const headers = { - 'Accept': 'application/json', + Accept: 'application/json', 'Content-Type': 'application/json', }; diff --git a/src/plugins/synced-lyrics/renderer/components/LoadingKaomoji.tsx b/src/plugins/synced-lyrics/renderer/components/LoadingKaomoji.tsx index f16a5dd95e..1f274255d6 100644 --- a/src/plugins/synced-lyrics/renderer/components/LoadingKaomoji.tsx +++ b/src/plugins/synced-lyrics/renderer/components/LoadingKaomoji.tsx @@ -20,9 +20,9 @@ export const LoadingKaomoji = () => { { _ytAPI?.seekTo(line.timeInMs / 1000); }} > -
+
void) | undefined = undefined, + callbackIfExists: () => void, + callbackIfError: (() => void) | undefined = undefined ) => { - fs.access(path, fs.constants.F_OK, (error) => { - if (error) { - callbackIfError?.(); - - return; + fs.access(path, fs.constants.F_OK, (err) => { + if (err) { + // File doesn't exist or there was an error accessing it + if (callbackIfError) { + callbackIfError(); + } + } else { + // File exists and is accessible + callbackIfExists(); } - - callbackIfExists(); }); }; diff --git a/src/providers/extracted-data.ts b/src/providers/extracted-data.ts index 47ec83fc8b..b39095d71e 100644 --- a/src/providers/extracted-data.ts +++ b/src/providers/extracted-data.ts @@ -1,17 +1,17 @@ export const startingPages: Record = { - 'Default': '', - 'Home': 'FEmusic_home', - 'Explore': 'FEmusic_explore', + Default: '', + Home: 'FEmusic_home', + Explore: 'FEmusic_explore', 'New Releases': 'FEmusic_new_releases', - 'Charts': 'FEmusic_charts', + Charts: 'FEmusic_charts', 'Moods & Genres': 'FEmusic_moods_and_genres', - 'Library': 'FEmusic_library_landing', - 'Playlists': 'FEmusic_liked_playlists', - 'Songs': 'FEmusic_liked_videos', - 'Albums': 'FEmusic_liked_albums', - 'Artists': 'FEmusic_library_corpus_track_artists', + Library: 'FEmusic_library_landing', + Playlists: 'FEmusic_liked_playlists', + Songs: 'FEmusic_liked_videos', + Albums: 'FEmusic_liked_albums', + Artists: 'FEmusic_library_corpus_track_artists', 'Subscribed Artists': 'FEmusic_library_corpus_artists', - 'Uploads': 'FEmusic_library_privately_owned_landing', + Uploads: 'FEmusic_library_privately_owned_landing', 'Uploaded Playlists': 'FEmusic_liked_playlists', 'Uploaded Songs': 'FEmusic_library_privately_owned_tracks', 'Uploaded Albums': 'FEmusic_library_privately_owned_releases', diff --git a/src/types/icons.ts b/src/types/icons.ts index 898ebd78be..d10ff5c275 100644 --- a/src/types/icons.ts +++ b/src/types/icons.ts @@ -1,24 +1,1418 @@ -export type GeneralIcons = 'icons:3d-rotation' | 'icons:accessibility' | 'icons:accessible' | 'icons:account-balance' | 'icons:account-balance-wallet' | 'icons:account-box' | 'icons:account-circle' | 'icons:add' | 'icons:add-alert' | 'icons:add-box' | 'icons:add-circle' | 'icons:add-circle-outline' | 'icons:add-shopping-cart' | 'icons:alarm' | 'icons:alarm-add' | 'icons:alarm-off' | 'icons:alarm-on' | 'icons:all-out' | 'icons:android' | 'icons:announcement' | 'icons:apps' | 'icons:archive' | 'icons:arrow-back' | 'icons:arrow-downward' | 'icons:arrow-drop-down' | 'icons:arrow-drop-down-circle' | 'icons:arrow-drop-up' | 'icons:arrow-forward' | 'icons:arrow-upward' | 'icons:aspect-ratio' | 'icons:assessment' | 'icons:assignment' | 'icons:assignment-ind' | 'icons:assignment-late' | 'icons:assignment-return' | 'icons:assignment-returned' | 'icons:assignment-turned-in' | 'icons:attachment' | 'icons:autorenew' | 'icons:backspace' | 'icons:backup' | 'icons:block' | 'icons:book' | 'icons:bookmark' | 'icons:bookmark-border' | 'icons:bug-report' | 'icons:build' | 'icons:cached' | 'icons:camera-enhance' | 'icons:cancel' | 'icons:card-giftcard' | 'icons:card-membership' | 'icons:card-travel' | 'icons:change-history' | 'icons:check' | 'icons:check-box' | 'icons:check-box-outline-blank' | 'icons:check-circle' | 'icons:chevron-left' | 'icons:chevron-right' | 'icons:chrome-reader-mode' | 'icons:class' | 'icons:clear' | 'icons:close' | 'icons:cloud' | 'icons:cloud-circle' | 'icons:cloud-done' | 'icons:cloud-download' | 'icons:cloud-off' | 'icons:cloud-queue' | 'icons:cloud-upload' | 'icons:code' | 'icons:compare-arrows' | 'icons:content-copy' | 'icons:content-cut' | 'icons:content-paste' | 'icons:copyright' | 'icons:create' | 'icons:create-new-folder' | 'icons:credit-card' | 'icons:dashboard' | 'icons:date-range' | 'icons:delete' | 'icons:delete-forever' | 'icons:delete-sweep' | 'icons:description' | 'icons:dns' | 'icons:done' | 'icons:done-all' | 'icons:donut-large' | 'icons:donut-small' | 'icons:drafts' | 'icons:eject' | 'icons:error' | 'icons:error-outline' | 'icons:euro-symbol' | 'icons:event' | 'icons:event-seat' | 'icons:exit-to-app' | 'icons:expand-less' | 'icons:expand-more' | 'icons:explore' | 'icons:extension' | 'icons:face' | 'icons:favorite' | 'icons:favorite-border' | 'icons:feedback' | 'icons:file-download' | 'icons:file-upload' | 'icons:filter-list' | 'icons:find-in-page' | 'icons:find-replace' | 'icons:fingerprint' | 'icons:first-page' | 'icons:flag' | 'icons:flight-land' | 'icons:flight-takeoff' | 'icons:flip-to-back' | 'icons:flip-to-front' | 'icons:folder' | 'icons:folder-open' | 'icons:folder-shared' | 'icons:font-download' | 'icons:forward' | 'icons:fullscreen' | 'icons:fullscreen-exit' | 'icons:g-translate' | 'icons:gavel' | 'icons:gesture' | 'icons:get-app' | 'icons:gif' | 'icons:grade' | 'icons:group-work' | 'icons:help' | 'icons:help-outline' | 'icons:highlight-off' | 'icons:history' | 'icons:home' | 'icons:hourglass-empty' | 'icons:hourglass-full' | 'icons:http' | 'icons:https' | 'icons:important-devices' | 'icons:inbox' | 'icons:indeterminate-check-box' | 'icons:info' | 'icons:info-outline' | 'icons:input' | 'icons:invert-colors' | 'icons:label' | 'icons:label-outline' | 'icons:language' | 'icons:last-page' | 'icons:launch' | 'icons:lightbulb-outline' | 'icons:line-style' | 'icons:line-weight' | 'icons:link' | 'icons:list' | 'icons:lock' | 'icons:lock-open' | 'icons:lock-outline' | 'icons:low-priority' | 'icons:loyalty' | 'icons:mail' | 'icons:markunread' | 'icons:markunread-mailbox' | 'icons:menu' | 'icons:more-horiz' | 'icons:more-vert' | 'icons:motorcycle' | 'icons:move-to-inbox' | 'icons:next-week' | 'icons:note-add' | 'icons:offline-pin' | 'icons:opacity' | 'icons:open-in-browser' | 'icons:open-in-new' | 'icons:open-with' | 'icons:pageview' | 'icons:pan-tool' | 'icons:payment' | 'icons:perm-camera-mic' | 'icons:perm-contact-calendar' | 'icons:perm-data-setting' | 'icons:perm-device-information' | 'icons:perm-identity' | 'icons:perm-media' | 'icons:perm-phone-msg' | 'icons:perm-scan-wifi' | 'icons:pets' | 'icons:picture-in-picture' | 'icons:picture-in-picture-alt' | 'icons:play-for-work' | 'icons:polymer' | 'icons:power-settings-new' | 'icons:pregnant-woman' | 'icons:print' | 'icons:query-builder' | 'icons:question-answer' | 'icons:radio-button-checked' | 'icons:radio-button-unchecked' | 'icons:receipt' | 'icons:record-voice-over' | 'icons:redeem' | 'icons:redo' | 'icons:refresh' | 'icons:remove' | 'icons:remove-circle' | 'icons:remove-circle-outline' | 'icons:remove-shopping-cart' | 'icons:reorder' | 'icons:reply' | 'icons:reply-all' | 'icons:report' | 'icons:report-problem' | 'icons:restore' | 'icons:restore-page' | 'icons:room' | 'icons:rounded-corner' | 'icons:rowing' | 'icons:save' | 'icons:schedule' | 'icons:search' | 'icons:select-all' | 'icons:send' | 'icons:settings' | 'icons:settings-applications' | 'icons:settings-backup-restore' | 'icons:settings-bluetooth' | 'icons:settings-brightness' | 'icons:settings-cell' | 'icons:settings-ethernet' | 'icons:settings-input-antenna' | 'icons:settings-input-component' | 'icons:settings-input-composite' | 'icons:settings-input-hdmi' | 'icons:settings-input-svideo' | 'icons:settings-overscan' | 'icons:settings-phone' | 'icons:settings-power' | 'icons:settings-remote' | 'icons:settings-voice' | 'icons:shop' | 'icons:shop-two' | 'icons:shopping-basket' | 'icons:shopping-cart' | 'icons:sort' | 'icons:speaker-notes' | 'icons:speaker-notes-off' | 'icons:spellcheck' | 'icons:star' | 'icons:star-border' | 'icons:star-half' | 'icons:stars' | 'icons:store' | 'icons:subdirectory-arrow-left' | 'icons:subdirectory-arrow-right' | 'icons:subject' | 'icons:supervisor-account' | 'icons:swap-horiz' | 'icons:swap-vert' | 'icons:swap-vertical-circle' | 'icons:system-update-alt' | 'icons:tab' | 'icons:tab-unselected' | 'icons:text-format' | 'icons:theaters' | 'icons:thumb-down' | 'icons:thumb-up' | 'icons:thumbs-up-down' | 'icons:timeline' | 'icons:toc' | 'icons:today' | 'icons:toll' | 'icons:touch-app' | 'icons:track-changes' | 'icons:translate' | 'icons:trending-down' | 'icons:trending-flat' | 'icons:trending-up' | 'icons:turned-in' | 'icons:turned-in-not' | 'icons:unarchive' | 'icons:undo' | 'icons:unfold-less' | 'icons:unfold-more' | 'icons:update' | 'icons:verified-user' | 'icons:view-agenda' | 'icons:view-array' | 'icons:view-carousel' | 'icons:view-column' | 'icons:view-day' | 'icons:view-headline' | 'icons:view-list' | 'icons:view-module' | 'icons:view-quilt' | 'icons:view-stream' | 'icons:view-week' | 'icons:visibility' | 'icons:visibility-off' | 'icons:warning' | 'icons:watch-later' | 'icons:weekend' | 'icons:work' | 'icons:youtube-searched-for' | 'icons:zoom-in' | 'icons:zoom-out'; -export type PaperDropDownMenuIcons = 'paper-dropdown-menu:arrow-drop-down' | 'paper-tabs:chevron-left' | 'paper-tabs:chevron-right'; -export type SocialNetworkIcons = 'socialNetworks:ameba' | 'socialNetworks:bebo' | 'socialNetworks:blogger' | 'socialNetworks:cyworld' | 'socialNetworks:digg' | 'socialNetworks:email' | 'socialNetworks:embed' | 'socialNetworks:facebook' | 'socialNetworks:fotka' | 'socialNetworks:goo' | 'socialNetworks:hi5' | 'socialNetworks:kakao' | 'socialNetworks:linkedin' | 'socialNetworks:livejournal' | 'socialNetworks:mail' | 'socialNetworks:meneame' | 'socialNetworks:mixi' | 'socialNetworks:myspace' | 'socialNetworks:naver' | 'socialNetworks:odnoklassniki' | 'socialNetworks:pinterest' | 'socialNetworks:rakuten' | 'socialNetworks:reddit' | 'socialNetworks:skyblog' | 'socialNetworks:skype' | 'socialNetworks:stumbleupon' | 'socialNetworks:tuenti' | 'socialNetworks:tumblr' | 'socialNetworks:twitter' | 'socialNetworks:vkontakte' | 'socialNetworks:weibo' | 'socialNetworks:wykop' | 'socialNetworks:yahoo' | 'socialNetworksRound:ameba' | 'socialNetworksRound:bebo' | 'socialNetworksRound:blogger' | 'socialNetworksRound:cyworld' | 'socialNetworksRound:digg' | 'socialNetworksRound:email' | 'socialNetworksRound:embed' | 'socialNetworksRound:facebook' | 'socialNetworksRound:fotka' | 'socialNetworksRound:goo' | 'socialNetworksRound:hi5' | 'socialNetworksRound:kakao' | 'socialNetworksRound:linkedin' | 'socialNetworksRound:livejournal' | 'socialNetworksRound:mail' | 'socialNetworksRound:meneame' | 'socialNetworksRound:mixi' | 'socialNetworksRound:myspace' | 'socialNetworksRound:naver' | 'socialNetworksRound:odnoklassniki' | 'socialNetworksRound:pinterest' | 'socialNetworksRound:rakuten' | 'socialNetworksRound:reddit' | 'socialNetworksRound:skyblog' | 'socialNetworksRound:skype' | 'socialNetworksRound:stumbleupon' | 'socialNetworksRound:tuenti' | 'socialNetworksRound:tumblr' | 'socialNetworksRound:twitter' | 'socialNetworksRound:vkontakte' | 'socialNetworksRound:web_system_activity_dialog' | 'socialNetworksRound:weibo' | 'socialNetworksRound:whatsapp' | 'socialNetworksRound:wykop' | 'socialNetworksRound:yahoo' | 'socialNetworksRound:youtube_community_post' | 'socialNetworksRound:youtube_community_repost'; -export type HashtagLandingPageIcons = 'hashtag-landing-page:hashtag_landing_page_empty' | 'hashtag-landing-page:hashtag_landing_page_empty_dark_mode' | 'hashtag-landing-page:hashtag_landing_page_error' | 'hashtag-landing-page:hashtag_landing_page_error_dark_mode'; -export type LiveChatBadgeIcons = 'live-chat-badges:member' | 'live-chat-badges:moderator' | 'live-chat-badges:owner' | 'live-chat-badges:verified'; -export type MiniplayerIcons = 'miniplayer:cast-connected' | 'miniplayer:cast' | 'miniplayer:keyboard-arrow-down' | 'miniplayer:keyboard-arrow-up' | 'miniplayer:miniplayer-expand' | 'miniplayer:pause' | 'miniplayer:play-arrow' | 'miniplayer:skip-next' | 'miniplayer:skip-previous' | 'miniplayer:volume-off' | 'miniplayer:volume-up'; -export type RottenTomatoesIcons = 'rotten-tomatoes:certified' | 'rotten-tomatoes:fresh' | 'rotten-tomatoes:rotten'; -export type SettingsIcons = 'settings:account_advanced' | 'settings:account_notifications' | 'settings:account_playback' | 'settings:account_privacy' | 'settings:account_settings' | 'settings:account_sharing' | 'settings:chrome_icon'; -export type ShortsIcons = 'shorts:shorts-comment' | 'shorts:shorts-dislike' | 'shorts:shorts-like' | 'shorts:shorts-share'; -export type YtIcons = 'yt-icons:accelerator' | 'yt-icons:access_time' | 'yt-icons:account_box' | 'yt-icons:account_circle' | 'yt-icons:account_linked' | 'yt-icons:account_unlinked' | 'yt-icons:add' | 'yt-icons:add_circle' | 'yt-icons:add_friend' | 'yt-icons:add_moderator' | 'yt-icons:add_photo_alternate' | 'yt-icons:add_to_playlist' | 'yt-icons:add_to_queue' | 'yt-icons:add_to_queue_tail' | 'yt-icons:add_video_link' | 'yt-icons:album' | 'yt-icons:align_left' | 'yt-icons:answer_neither_satisfied_nor_dissatisfied' | 'yt-icons:answer_somewhat_dissatisfied' | 'yt-icons:answer_somewhat_satisfied' | 'yt-icons:answer_very_dissatisfied' | 'yt-icons:answer_very_satisfied' | 'yt-icons:applause' | 'yt-icons:apps' | 'yt-icons:arrow-back' | 'yt-icons:arrow-drop-down' | 'yt-icons:arrow-forward' | 'yt-icons:arrow_back' | 'yt-icons:arrow_chart_neutral' | 'yt-icons:arrow_drop_down' | 'yt-icons:arrow_drop_up' | 'yt-icons:arrow_forward' | 'yt-icons:article' | 'yt-icons:artist' | 'yt-icons:audio_badge' | 'yt-icons:audiotrack' | 'yt-icons:auto-awesome' | 'yt-icons:avatar-circle-blue' | 'yt-icons:avatar_anonymous' | 'yt-icons:avatar_logged_out' | 'yt-icons:back' | 'yt-icons:bar_chart' | 'yt-icons:block' | 'yt-icons:bookmark' | 'yt-icons:bookmark_border' | 'yt-icons:breaking_news' | 'yt-icons:breaking_news_alt_1' | 'yt-icons:brightness_three' | 'yt-icons:build' | 'yt-icons:cake' | 'yt-icons:calendar' | 'yt-icons:camera_alt' | 'yt-icons:campaign' | 'yt-icons:channel_notification_preference_off' | 'yt-icons:channel_notification_preference_on' | 'yt-icons:chat_bubble' | 'yt-icons:chat_off' | 'yt-icons:check-circle' | 'yt-icons:check' | 'yt-icons:check_box' | 'yt-icons:check_box_bar' | 'yt-icons:check_box_outline_blank' | 'yt-icons:check_circle_thick' | 'yt-icons:chevron_down' | 'yt-icons:chevron_left' | 'yt-icons:chevron_right' | 'yt-icons:chevron_up' | 'yt-icons:chromecast-filled' | 'yt-icons:chromecast' | 'yt-icons:chromecast_animate_frame-1' | 'yt-icons:chromecast_animate_frame-2' | 'yt-icons:chromecast_animate_frame-3' | 'yt-icons:clarify' | 'yt-icons:close' | 'yt-icons:cloud_upload' | 'yt-icons:collapse' | 'yt-icons:collections' | 'yt-icons:color_lens' | 'yt-icons:colored_gaming_logo' | 'yt-icons:comment' | 'yt-icons:consent_shield' | 'yt-icons:contact_support' | 'yt-icons:content_cut' | 'yt-icons:conversations' | 'yt-icons:copy' | 'yt-icons:course' | 'yt-icons:creation_live' | 'yt-icons:creation_post' | 'yt-icons:creation_upload' | 'yt-icons:creation_upload_red' | 'yt-icons:creator_metadata_monetization' | 'yt-icons:creator_metadata_monetization_off' | 'yt-icons:creator_studio' | 'yt-icons:creator_studio_red_logo' | 'yt-icons:credit_card' | 'yt-icons:dark_theme' | 'yt-icons:delete' | 'yt-icons:delete_sweep' | 'yt-icons:dislike' | 'yt-icons:dislike_outline' | 'yt-icons:dismissal' | 'yt-icons:dogfood' | 'yt-icons:dollar_sign' | 'yt-icons:done_all' | 'yt-icons:down_arrow' | 'yt-icons:drag_handle' | 'yt-icons:edit' | 'yt-icons:email' | 'yt-icons:emoji' | 'yt-icons:emoji_activities' | 'yt-icons:emoji_custom' | 'yt-icons:emoji_flags' | 'yt-icons:emoji_food' | 'yt-icons:emoji_nature' | 'yt-icons:emoji_objects' | 'yt-icons:emoji_people' | 'yt-icons:emoji_recent' | 'yt-icons:emoji_sponsorships' | 'yt-icons:emoji_symbols' | 'yt-icons:emoji_travel' | 'yt-icons:error' | 'yt-icons:error_black' | 'yt-icons:error_outline' | 'yt-icons:event' | 'yt-icons:exit_app' | 'yt-icons:exit_to_app' | 'yt-icons:expand-less' | 'yt-icons:expand-more' | 'yt-icons:expand' | 'yt-icons:explore' | 'yt-icons:external_link' | 'yt-icons:fact_check' | 'yt-icons:fashion_logo' | 'yt-icons:fast_rewind' | 'yt-icons:feedback' | 'yt-icons:fill_dollar_sign_heart_12' | 'yt-icons:filter' | 'yt-icons:find_in_page' | 'yt-icons:first_page' | 'yt-icons:flag' | 'yt-icons:flag_outline' | 'yt-icons:folder' | 'yt-icons:forum' | 'yt-icons:full_heart' | 'yt-icons:fullscreen' | 'yt-icons:fullscreen_exit' | 'yt-icons:g_translate' | 'yt-icons:gaming_logo' | 'yt-icons:gif' | 'yt-icons:google' | 'yt-icons:google_logo' | 'yt-icons:groups' | 'yt-icons:guide_close' | 'yt-icons:happy' | 'yt-icons:health_and_safety' | 'yt-icons:help' | 'yt-icons:help_outline' | 'yt-icons:highlight_off' | 'yt-icons:hourglass' | 'yt-icons:image' | 'yt-icons:info-outline' | 'yt-icons:info' | 'yt-icons:info_circle' | 'yt-icons:info_outline' | 'yt-icons:insert_chart' | 'yt-icons:insert_chart_outlined' | 'yt-icons:insert_photo' | 'yt-icons:insights' | 'yt-icons:invite_only_mode' | 'yt-icons:invite_only_mode_off' | 'yt-icons:keep' | 'yt-icons:keep_off' | 'yt-icons:keyboard' | 'yt-icons:language' | 'yt-icons:last_page' | 'yt-icons:launch' | 'yt-icons:library_add' | 'yt-icons:library_music' | 'yt-icons:library_remove' | 'yt-icons:like' | 'yt-icons:like_outline' | 'yt-icons:likes_playlist' | 'yt-icons:link' | 'yt-icons:live' | 'yt-icons:live_unlisted' | 'yt-icons:local_mall' | 'yt-icons:local_offer' | 'yt-icons:location_pin' | 'yt-icons:lock' | 'yt-icons:lock_clock' | 'yt-icons:lock_open' | 'yt-icons:loop' | 'yt-icons:loop_one' | 'yt-icons:manual-record' | 'yt-icons:maximize' | 'yt-icons:meh' | 'yt-icons:members_only_mode' | 'yt-icons:members_only_mode_off' | 'yt-icons:membership_post_purchase' | 'yt-icons:membership_pre_purchase' | 'yt-icons:memberships' | 'yt-icons:menu' | 'yt-icons:message' | 'yt-icons:message_bubble_question' | 'yt-icons:microphone_off' | 'yt-icons:microphone_on' | 'yt-icons:minimize' | 'yt-icons:mix' | 'yt-icons:mobile_portrait' | 'yt-icons:monetization_on' | 'yt-icons:money_fill' | 'yt-icons:money_fill_jpy' | 'yt-icons:money_fill_more_arrow' | 'yt-icons:money_fill_shopping_bag' | 'yt-icons:money_fill_store' | 'yt-icons:money_heart' | 'yt-icons:more' | 'yt-icons:more_chevron' | 'yt-icons:more_horiz' | 'yt-icons:more_vert' | 'yt-icons:movies' | 'yt-icons:music' | 'yt-icons:music_explicit_badge' | 'yt-icons:music_miniplayer' | 'yt-icons:music_new_release' | 'yt-icons:music_note' | 'yt-icons:music_player_page' | 'yt-icons:music_repeat_all' | 'yt-icons:music_repeat_one' | 'yt-icons:music_shuffle' | 'yt-icons:music_video' | 'yt-icons:my_channel' | 'yt-icons:my_videos' | 'yt-icons:new_release' | 'yt-icons:not_interested' | 'yt-icons:notifications' | 'yt-icons:notifications_active' | 'yt-icons:notifications_done_checkmark' | 'yt-icons:notifications_none' | 'yt-icons:notifications_off' | 'yt-icons:official_artist_badge' | 'yt-icons:offline_cloud' | 'yt-icons:offline_download' | 'yt-icons:offline_downloading_eighty' | 'yt-icons:offline_downloading_forty' | 'yt-icons:offline_downloading_sixty' | 'yt-icons:offline_downloading_spinner' | 'yt-icons:offline_downloading_twenty' | 'yt-icons:offline_downloading_zero' | 'yt-icons:offline_pause' | 'yt-icons:offline_pin' | 'yt-icons:open_in_new' | 'yt-icons:open_with' | 'yt-icons:paid' | 'yt-icons:pause_outlined' | 'yt-icons:pencil' | 'yt-icons:people' | 'yt-icons:people_2' | 'yt-icons:person' | 'yt-icons:person_add' | 'yt-icons:person_setting' | 'yt-icons:phone' | 'yt-icons:phone_download' | 'yt-icons:play_all' | 'yt-icons:play_arrow' | 'yt-icons:play_disabled' | 'yt-icons:play_next' | 'yt-icons:play_outlined' | 'yt-icons:playlist_add' | 'yt-icons:playlist_add_check' | 'yt-icons:playlists' | 'yt-icons:policy' | 'yt-icons:poll' | 'yt-icons:premium' | 'yt-icons:price_tag' | 'yt-icons:privacy_info' | 'yt-icons:privacy_private' | 'yt-icons:privacy_public' | 'yt-icons:privacy_unlisted' | 'yt-icons:prompted_sign_in' | 'yt-icons:purchase_sponsorship' | 'yt-icons:purchase_super_chat' | 'yt-icons:purchase_super_sticker' | 'yt-icons:purchases' | 'yt-icons:question_answer' | 'yt-icons:radio-button-unchecked' | 'yt-icons:refresh' | 'yt-icons:remove-circle-outline' | 'yt-icons:remove' | 'yt-icons:remove_circle' | 'yt-icons:remove_done' | 'yt-icons:remove_moderator' | 'yt-icons:replay' | 'yt-icons:report' | 'yt-icons:report_problem' | 'yt-icons:sad' | 'yt-icons:scatterplot' | 'yt-icons:schedule' | 'yt-icons:search' | 'yt-icons:send' | 'yt-icons:service_toolbox' | 'yt-icons:settings' | 'yt-icons:settings_applications' | 'yt-icons:settings_material' | 'yt-icons:share' | 'yt-icons:share_arrow' | 'yt-icons:shield' | 'yt-icons:shield_with_avatar' | 'yt-icons:shuffle' | 'yt-icons:skip_next' | 'yt-icons:skip_previous' | 'yt-icons:slow_mode' | 'yt-icons:slow_mode_off' | 'yt-icons:sms' | 'yt-icons:sort' | 'yt-icons:sponsorship_star' | 'yt-icons:sponsorships' | 'yt-icons:sponsorships_no_bg' | 'yt-icons:star' | 'yt-icons:star_border' | 'yt-icons:star_half' | 'yt-icons:stars' | 'yt-icons:sticker_emoticon' | 'yt-icons:subdirectory_arrow_right' | 'yt-icons:subscribe' | 'yt-icons:subscription_manager' | 'yt-icons:subscriptions' | 'yt-icons:subtitles' | 'yt-icons:super_chat_for_good' | 'yt-icons:super_store' | 'yt-icons:supervisor_account' | 'yt-icons:switch_accounts' | 'yt-icons:tab_account' | 'yt-icons:tab_explore' | 'yt-icons:tab_home' | 'yt-icons:tab_subscriptions' | 'yt-icons:tab_trending' | 'yt-icons:trailer' | 'yt-icons:translate' | 'yt-icons:trending' | 'yt-icons:trending_up' | 'yt-icons:trophy' | 'yt-icons:tune' | 'yt-icons:tv' | 'yt-icons:unlimited' | 'yt-icons:unplugged_logo' | 'yt-icons:up_arrow' | 'yt-icons:upload' | 'yt-icons:uploads' | 'yt-icons:verified_user' | 'yt-icons:vertical_align_bottom' | 'yt-icons:vertical_align_top' | 'yt-icons:very_happy' | 'yt-icons:very_sad' | 'yt-icons:video_call' | 'yt-icons:video_camera' | 'yt-icons:video_camera_disabled' | 'yt-icons:video_library_white' | 'yt-icons:video_youtube' | 'yt-icons:videogame_asset' | 'yt-icons:view_list' | 'yt-icons:view_module' | 'yt-icons:visibility' | 'yt-icons:visibility_off' | 'yt-icons:volume_off' | 'yt-icons:volume_up' | 'yt-icons:vpn_key' | 'yt-icons:wallpaper' | 'yt-icons:warning' | 'yt-icons:watch_history' | 'yt-icons:watch_later' | 'yt-icons:watch_related_mix' | 'yt-icons:waveform' | 'yt-icons:what_to_watch' | 'yt-icons:wifi_status_bar_four' | 'yt-icons:wifi_status_bar_one' | 'yt-icons:wifi_status_bar_three' | 'yt-icons:wifi_status_bar_zero' | 'yt-icons:work_off' | 'yt-icons:youtube_ad' | 'yt-icons:youtube_kids' | 'yt-icons:youtube_kids_round' | 'yt-icons:youtube_logo' | 'yt-icons:youtube_music' | 'yt-icons:youtube_music_logo_short' | 'yt-icons:youtube_music_monochrome' | 'yt-icons:youtube_premiere_logo_short' | 'yt-icons:youtube_red_logo' | 'yt-icons:youtube_red_logo_short' | 'yt-icons:youtube_round' | 'yt-icons:youtube_shorts_brand_24' | 'yt-icons:zoom_in' | 'yt-icons:zoom_out'; -export type YtLogos = 'yt-logos:lozenge' | 'yt-logos:premium' | 'yt-logos:premium_standalone' | 'yt-logos:premium_standalone_cairo' | 'yt-logos:red'; -export type YtSysIcons = 'yt-sys-icons:1_point_2x' | 'yt-sys-icons:1_point_5x' | 'yt-sys-icons:1_point_8x' | 'yt-sys-icons:1x' | 'yt-sys-icons:2x' | 'yt-sys-icons:account_box-filled' | 'yt-sys-icons:account_box' | 'yt-sys-icons:account_circle-filled' | 'yt-sys-icons:account_circle' | 'yt-sys-icons:account_linked' | 'yt-sys-icons:account_unlinked' | 'yt-sys-icons:add' | 'yt-sys-icons:add_circle' | 'yt-sys-icons:add_moderator' | 'yt-sys-icons:add_to_queue' | 'yt-sys-icons:add_to_queue_tail' | 'yt-sys-icons:add_video_link' | 'yt-sys-icons:admin_panel_settings' | 'yt-sys-icons:album-filled' | 'yt-sys-icons:album' | 'yt-sys-icons:apps-filled' | 'yt-sys-icons:apps' | 'yt-sys-icons:arrow_back' | 'yt-sys-icons:arrow_circle_right' | 'yt-sys-icons:arrow_drop_down' | 'yt-sys-icons:arrow_drop_up' | 'yt-sys-icons:arrow_flip' | 'yt-sys-icons:arrow_forward' | 'yt-sys-icons:arrow_pause' | 'yt-sys-icons:arrow_remix' | 'yt-sys-icons:arrow_solid_down-filled' | 'yt-sys-icons:arrow_solid_down' | 'yt-sys-icons:arrow_solid_up-filled' | 'yt-sys-icons:arrow_undo' | 'yt-sys-icons:auto_awesome-filled' | 'yt-sys-icons:auto_awesome' | 'yt-sys-icons:bag-filled' | 'yt-sys-icons:bag' | 'yt-sys-icons:bar_chart-filled' | 'yt-sys-icons:bar_chart' | 'yt-sys-icons:bar_circle' | 'yt-sys-icons:bar_graph_box_vertical-filled' | 'yt-sys-icons:bar_graph_box_vertical' | 'yt-sys-icons:bar_horizontal' | 'yt-sys-icons:book' | 'yt-sys-icons:bookmark-filled' | 'yt-sys-icons:bookmark' | 'yt-sys-icons:box_check' | 'yt-sys-icons:box_empty' | 'yt-sys-icons:box_open_check' | 'yt-sys-icons:box_pencil' | 'yt-sys-icons:briefcase' | 'yt-sys-icons:broadcast' | 'yt-sys-icons:calendar-filled' | 'yt-sys-icons:calendar' | 'yt-sys-icons:camera_alt' | 'yt-sys-icons:cast_outline' | 'yt-sys-icons:celebration' | 'yt-sys-icons:chat_bubble-filled' | 'yt-sys-icons:chat_bubble' | 'yt-sys-icons:chat_off-filled' | 'yt-sys-icons:chat_off' | 'yt-sys-icons:check-filled' | 'yt-sys-icons:check' | 'yt-sys-icons:check_box' | 'yt-sys-icons:check_box_bar' | 'yt-sys-icons:check_box_outline_blank' | 'yt-sys-icons:check_circle_thick-filled' | 'yt-sys-icons:check_circle_thick' | 'yt-sys-icons:check_double' | 'yt-sys-icons:check_double_off' | 'yt-sys-icons:chevron_left' | 'yt-sys-icons:chevron_right' | 'yt-sys-icons:chromecast-filled' | 'yt-sys-icons:chromecast' | 'yt-sys-icons:chromecast_animate_frame_1' | 'yt-sys-icons:chromecast_animate_frame_2' | 'yt-sys-icons:chromecast_animate_frame_3' | 'yt-sys-icons:circle-filled' | 'yt-sys-icons:circle' | 'yt-sys-icons:circles_6-filled' | 'yt-sys-icons:clapperboard-filled' | 'yt-sys-icons:clapperboard' | 'yt-sys-icons:clarify' | 'yt-sys-icons:clock' | 'yt-sys-icons:clock_half_circle' | 'yt-sys-icons:close' | 'yt-sys-icons:closed_caption' | 'yt-sys-icons:cloud_arrow_up' | 'yt-sys-icons:collapse' | 'yt-sys-icons:comment-filled' | 'yt-sys-icons:comment' | 'yt-sys-icons:copy' | 'yt-sys-icons:countdown_to_close' | 'yt-sys-icons:countdown_to_close_digit' | 'yt-sys-icons:course-filled' | 'yt-sys-icons:course' | 'yt-sys-icons:creation_post-filled' | 'yt-sys-icons:creation_post' | 'yt-sys-icons:creator_academy' | 'yt-sys-icons:creator_metadata_monetization-filled' | 'yt-sys-icons:creator_metadata_monetization' | 'yt-sys-icons:creator_metadata_monetization_off' | 'yt-sys-icons:creator_studio-filled' | 'yt-sys-icons:creator_studio' | 'yt-sys-icons:credit_card-filled' | 'yt-sys-icons:credit_card' | 'yt-sys-icons:dark_theme-filled' | 'yt-sys-icons:dark_theme' | 'yt-sys-icons:delete-filled' | 'yt-sys-icons:delete' | 'yt-sys-icons:dislike-filled' | 'yt-sys-icons:dislike' | 'yt-sys-icons:dollar_sign_circle-filled' | 'yt-sys-icons:dollar_sign_circle' | 'yt-sys-icons:dollar_sign_container' | 'yt-sys-icons:done_all-filled' | 'yt-sys-icons:done_all' | 'yt-sys-icons:down_arrow-filled' | 'yt-sys-icons:down_arrow' | 'yt-sys-icons:drag_handle' | 'yt-sys-icons:edit' | 'yt-sys-icons:email-filled' | 'yt-sys-icons:emoji_activities-filled' | 'yt-sys-icons:emoji_activities' | 'yt-sys-icons:error-filled' | 'yt-sys-icons:error' | 'yt-sys-icons:exit_to_app' | 'yt-sys-icons:expand' | 'yt-sys-icons:explore-filled' | 'yt-sys-icons:explore' | 'yt-sys-icons:eye' | 'yt-sys-icons:fact_check' | 'yt-sys-icons:fashion_logo-filled' | 'yt-sys-icons:fashion_logo' | 'yt-sys-icons:feedback' | 'yt-sys-icons:filter-filled' | 'yt-sys-icons:filter' | 'yt-sys-icons:find_in_page' | 'yt-sys-icons:fire-filled' | 'yt-sys-icons:fire' | 'yt-sys-icons:first_page-filled' | 'yt-sys-icons:first_page' | 'yt-sys-icons:flag-filled' | 'yt-sys-icons:flag' | 'yt-sys-icons:folder-filled' | 'yt-sys-icons:folder' | 'yt-sys-icons:forum-filled' | 'yt-sys-icons:forum' | 'yt-sys-icons:full_heart-filled' | 'yt-sys-icons:full_heart' | 'yt-sys-icons:fullscreen-filled' | 'yt-sys-icons:fullscreen' | 'yt-sys-icons:fullscreen_exit-filled' | 'yt-sys-icons:fullscreen_exit' | 'yt-sys-icons:gaming_logo-filled' | 'yt-sys-icons:gaming_logo' | 'yt-sys-icons:gift-filled' | 'yt-sys-icons:gift' | 'yt-sys-icons:google' | 'yt-sys-icons:happy-filled' | 'yt-sys-icons:happy' | 'yt-sys-icons:headset-filled' | 'yt-sys-icons:headset' | 'yt-sys-icons:health_and_safety' | 'yt-sys-icons:heart_box' | 'yt-sys-icons:heart_circle' | 'yt-sys-icons:help' | 'yt-sys-icons:highlight_off' | 'yt-sys-icons:hourglass' | 'yt-sys-icons:image' | 'yt-sys-icons:info' | 'yt-sys-icons:keep-filled' | 'yt-sys-icons:keep' | 'yt-sys-icons:keep_off-filled' | 'yt-sys-icons:keep_off' | 'yt-sys-icons:keyboard-filled' | 'yt-sys-icons:keyboard' | 'yt-sys-icons:language-filled' | 'yt-sys-icons:language' | 'yt-sys-icons:laptop_mobile' | 'yt-sys-icons:last_page-filled' | 'yt-sys-icons:last_page' | 'yt-sys-icons:library_add' | 'yt-sys-icons:library_music-filled' | 'yt-sys-icons:library_music' | 'yt-sys-icons:library_outline' | 'yt-sys-icons:library_remove' | 'yt-sys-icons:library_saved' | 'yt-sys-icons:like-filled' | 'yt-sys-icons:like' | 'yt-sys-icons:link' | 'yt-sys-icons:list_play_arrow' | 'yt-sys-icons:list_queue' | 'yt-sys-icons:list_queue_last' | 'yt-sys-icons:list_remove' | 'yt-sys-icons:location_pin-filled' | 'yt-sys-icons:location_pin' | 'yt-sys-icons:lock' | 'yt-sys-icons:lock_open' | 'yt-sys-icons:loop-filled' | 'yt-sys-icons:loop' | 'yt-sys-icons:loop_active' | 'yt-sys-icons:loop_one-filled' | 'yt-sys-icons:loop_one' | 'yt-sys-icons:loop_one_active' | 'yt-sys-icons:mail' | 'yt-sys-icons:medal_star' | 'yt-sys-icons:meet' | 'yt-sys-icons:meh-filled' | 'yt-sys-icons:meh' | 'yt-sys-icons:menu' | 'yt-sys-icons:menu_filter' | 'yt-sys-icons:message-filled' | 'yt-sys-icons:message' | 'yt-sys-icons:message_bubble_left_boost' | 'yt-sys-icons:message_bubble_question-filled' | 'yt-sys-icons:message_bubble_question' | 'yt-sys-icons:microphone_on-filled' | 'yt-sys-icons:microphone_on' | 'yt-sys-icons:mix-filled' | 'yt-sys-icons:mix' | 'yt-sys-icons:mobile_portrait-filled' | 'yt-sys-icons:mobile_portrait' | 'yt-sys-icons:monetization_on-filled' | 'yt-sys-icons:monetization_on' | 'yt-sys-icons:money_fill' | 'yt-sys-icons:money_fill_shopping_bag-filled' | 'yt-sys-icons:money_fill_shopping_bag' | 'yt-sys-icons:money_hand' | 'yt-sys-icons:money_heart' | 'yt-sys-icons:moon_z-filled' | 'yt-sys-icons:moon_z' | 'yt-sys-icons:more' | 'yt-sys-icons:more_vert' | 'yt-sys-icons:movies-filled' | 'yt-sys-icons:movies' | 'yt-sys-icons:music-filled' | 'yt-sys-icons:music' | 'yt-sys-icons:music_explicit_badge-filled' | 'yt-sys-icons:music_explicit_badge' | 'yt-sys-icons:music_miniplayer-filled' | 'yt-sys-icons:music_miniplayer' | 'yt-sys-icons:music_new_release' | 'yt-sys-icons:music_player_page-filled' | 'yt-sys-icons:music_player_page' | 'yt-sys-icons:music_video-filled' | 'yt-sys-icons:music_video' | 'yt-sys-icons:my_videos-filled' | 'yt-sys-icons:my_videos' | 'yt-sys-icons:new_release-filled' | 'yt-sys-icons:new_release' | 'yt-sys-icons:news-filled' | 'yt-sys-icons:news' | 'yt-sys-icons:not_interested' | 'yt-sys-icons:notifications-filled' | 'yt-sys-icons:notifications' | 'yt-sys-icons:notifications_active' | 'yt-sys-icons:notifications_off' | 'yt-sys-icons:offline_cloud' | 'yt-sys-icons:offline_download' | 'yt-sys-icons:offline_pause' | 'yt-sys-icons:open_in_new-filled' | 'yt-sys-icons:open_in_new' | 'yt-sys-icons:open_in_panel' | 'yt-sys-icons:outline_arrow_solid_up' | 'yt-sys-icons:panels-filled' | 'yt-sys-icons:panels' | 'yt-sys-icons:paper_corner_folded' | 'yt-sys-icons:pause_outlined' | 'yt-sys-icons:pdf' | 'yt-sys-icons:people-filled' | 'yt-sys-icons:people' | 'yt-sys-icons:people_group' | 'yt-sys-icons:person-filled' | 'yt-sys-icons:person' | 'yt-sys-icons:person_2' | 'yt-sys-icons:person_add-filled' | 'yt-sys-icons:person_add' | 'yt-sys-icons:person_circle_slash' | 'yt-sys-icons:person_minus' | 'yt-sys-icons:person_music-filled' | 'yt-sys-icons:person_music' | 'yt-sys-icons:person_radar' | 'yt-sys-icons:phone-filled' | 'yt-sys-icons:phone' | 'yt-sys-icons:phone_download' | 'yt-sys-icons:play_arrow' | 'yt-sys-icons:play_arrow_half_circle' | 'yt-sys-icons:play_arrow_outline' | 'yt-sys-icons:play_outlined-filled' | 'yt-sys-icons:play_outlined' | 'yt-sys-icons:playlist_add' | 'yt-sys-icons:playlist_add_check' | 'yt-sys-icons:playlists-filled' | 'yt-sys-icons:playlists' | 'yt-sys-icons:podcast-filled' | 'yt-sys-icons:podcast' | 'yt-sys-icons:point_2x' | 'yt-sys-icons:point_5x' | 'yt-sys-icons:point_8x' | 'yt-sys-icons:poll-filled' | 'yt-sys-icons:poll' | 'yt-sys-icons:privacy_info' | 'yt-sys-icons:privacy_public-filled' | 'yt-sys-icons:privacy_public' | 'yt-sys-icons:purchase_super_chat-filled' | 'yt-sys-icons:purchase_super_chat' | 'yt-sys-icons:purchase_super_sticker-filled' | 'yt-sys-icons:purchase_super_sticker' | 'yt-sys-icons:purchases-filled' | 'yt-sys-icons:purchases' | 'yt-sys-icons:quotation_mark' | 'yt-sys-icons:radar_live-filled' | 'yt-sys-icons:radar_live' | 'yt-sys-icons:remove_circle' | 'yt-sys-icons:remove_done-filled' | 'yt-sys-icons:remove_done' | 'yt-sys-icons:remove_moderator-filled' | 'yt-sys-icons:remove_moderator' | 'yt-sys-icons:replay' | 'yt-sys-icons:replay_10' | 'yt-sys-icons:replay_arrow' | 'yt-sys-icons:rss' | 'yt-sys-icons:rss_off' | 'yt-sys-icons:sad-filled' | 'yt-sys-icons:sad' | 'yt-sys-icons:scissors-filled' | 'yt-sys-icons:scissors' | 'yt-sys-icons:screen_default-filled' | 'yt-sys-icons:screen_default' | 'yt-sys-icons:screen_fullscreen-filled' | 'yt-sys-icons:screen_fullscreen' | 'yt-sys-icons:screen_miniplayer-filled' | 'yt-sys-icons:screen_miniplayer' | 'yt-sys-icons:screen_multi_view-fill' | 'yt-sys-icons:screen_multi_view' | 'yt-sys-icons:screen_switch-filled' | 'yt-sys-icons:screen_switch' | 'yt-sys-icons:screen_theatre-filled' | 'yt-sys-icons:screen_theatre' | 'yt-sys-icons:search' | 'yt-sys-icons:send-filled' | 'yt-sys-icons:send' | 'yt-sys-icons:settings-filled' | 'yt-sys-icons:settings' | 'yt-sys-icons:settings_remote' | 'yt-sys-icons:share' | 'yt-sys-icons:share_ios' | 'yt-sys-icons:shield-filled' | 'yt-sys-icons:shield' | 'yt-sys-icons:shield_add' | 'yt-sys-icons:shield_off' | 'yt-sys-icons:shield_overflow' | 'yt-sys-icons:shield_with_avatar-filled' | 'yt-sys-icons:shield_with_avatar' | 'yt-sys-icons:shopping_cart-filled' | 'yt-sys-icons:shopping_cart' | 'yt-sys-icons:shorts_layout_bottom' | 'yt-sys-icons:shorts_layout_centered_square' | 'yt-sys-icons:shorts_layout_foreground' | 'yt-sys-icons:shorts_layout_landscape_bottom' | 'yt-sys-icons:shorts_layout_landscape_top' | 'yt-sys-icons:shorts_layout_left' | 'yt-sys-icons:shorts_layout_pip' | 'yt-sys-icons:shorts_layout_right' | 'yt-sys-icons:shorts_layout_single' | 'yt-sys-icons:shorts_layout_top' | 'yt-sys-icons:shuffle-filled' | 'yt-sys-icons:shuffle' | 'yt-sys-icons:skip_forward_30-filled' | 'yt-sys-icons:skip_forward_30' | 'yt-sys-icons:skip_next' | 'yt-sys-icons:skip_previous' | 'yt-sys-icons:slash_circle_left' | 'yt-sys-icons:sort-filled' | 'yt-sys-icons:sort' | 'yt-sys-icons:spark' | 'yt-sys-icons:sparkle-filled' | 'yt-sys-icons:sparkle_filled' | 'yt-sys-icons:spotlight-filled' | 'yt-sys-icons:spotlight' | 'yt-sys-icons:star-filled' | 'yt-sys-icons:star' | 'yt-sys-icons:star_half' | 'yt-sys-icons:stopwatch' | 'yt-sys-icons:subscribe-filled' | 'yt-sys-icons:subscribe' | 'yt-sys-icons:subscriptions-filled' | 'yt-sys-icons:subscriptions' | 'yt-sys-icons:subtitles-filled' | 'yt-sys-icons:subtitles' | 'yt-sys-icons:super_chat_for_good-filled' | 'yt-sys-icons:super_chat_for_good' | 'yt-sys-icons:super_sticker-filled' | 'yt-sys-icons:super_sticker' | 'yt-sys-icons:superstar' | 'yt-sys-icons:switch_accounts-filled' | 'yt-sys-icons:switch_accounts' | 'yt-sys-icons:tab_home-filled' | 'yt-sys-icons:tab_home' | 'yt-sys-icons:tab_shorts-filled' | 'yt-sys-icons:tab_shorts' | 'yt-sys-icons:tablet' | 'yt-sys-icons:tic_tac_toe-filled' | 'yt-sys-icons:tic_tac_toe' | 'yt-sys-icons:trailer-filled' | 'yt-sys-icons:trailer' | 'yt-sys-icons:transcript' | 'yt-sys-icons:transcript_search' | 'yt-sys-icons:translate-filled' | 'yt-sys-icons:translate' | 'yt-sys-icons:trending_up' | 'yt-sys-icons:trophy-filled' | 'yt-sys-icons:trophy' | 'yt-sys-icons:trophy_star' | 'yt-sys-icons:tune-filled' | 'yt-sys-icons:tune' | 'yt-sys-icons:tv_circle-filled' | 'yt-sys-icons:tv_circle' | 'yt-sys-icons:up_arrow-filled' | 'yt-sys-icons:up_arrow' | 'yt-sys-icons:upload' | 'yt-sys-icons:uploads-filled' | 'yt-sys-icons:uploads' | 'yt-sys-icons:vertical_align_top' | 'yt-sys-icons:very_happy-filled' | 'yt-sys-icons:very_happy' | 'yt-sys-icons:very_sad-filled' | 'yt-sys-icons:very_sad' | 'yt-sys-icons:video_call-filled' | 'yt-sys-icons:video_call' | 'yt-sys-icons:video_camera' | 'yt-sys-icons:video_link' | 'yt-sys-icons:view_list-filled' | 'yt-sys-icons:view_list' | 'yt-sys-icons:view_module-filled' | 'yt-sys-icons:view_module' | 'yt-sys-icons:visibility-filled' | 'yt-sys-icons:visibility' | 'yt-sys-icons:visibility_off' | 'yt-sys-icons:volume_off' | 'yt-sys-icons:volume_up-filled' | 'yt-sys-icons:volume_up' | 'yt-sys-icons:vpn_key' | 'yt-sys-icons:vr-filled' | 'yt-sys-icons:vr' | 'yt-sys-icons:warning-filled' | 'yt-sys-icons:warning' | 'yt-sys-icons:watch_history-filled' | 'yt-sys-icons:watch_history' | 'yt-sys-icons:watch_later-filled' | 'yt-sys-icons:watch_later' | 'yt-sys-icons:x_circle' | 'yt-sys-icons:x_octagon' | 'yt-sys-icons:yen_sign_container' | 'yt-sys-icons:youtube_improve_tv' | 'yt-sys-icons:youtube_linked_tv' | 'yt-sys-icons:youtube_music_monochrome' | 'yt-sys-icons:youtube_shorts_fill_no_triangle_red_16' | 'yt-sys-icons:youtube_shorts_no_triangle-filled' | 'yt-sys-icons:youtube_shorts_no_triangle' | 'yt-sys-icons:youtube_studio_arrow_down-filled' | 'yt-sys-icons:youtube_studio_arrow_up-filled' | 'yt-sys-icons:zoom_in-filled' | 'yt-sys-icons:zoom_in' | 'yt-sys-icons:zoom_out-filled' | 'yt-sys-icons:zoom_out'; -export type YtSysIcons12 = 'yt-sys-icons12:arrow_circle_right' | 'yt-sys-icons12:keep-filled' | 'yt-sys-icons12:keep' | 'yt-sys-icons12:music-filled' | 'yt-sys-icons12:music' | 'yt-sys-icons12:rating_up'; -export type YtSysIcons13 = 'yt-sys-icons13:check-filled' | 'yt-sys-icons13:check' | 'yt-sys-icons13:check_circle_thick-filled' | 'yt-sys-icons13:check_circle_thick' | 'yt-sys-icons13:music-filled' | 'yt-sys-icons13:music'; -export type YtSysIcons15 = 'yt-sys-icons15:open_in_new-filled' | 'yt-sys-icons15:open_in_new'; -export type YtSysIcons16 = 'yt-sys-icons16:add' | 'yt-sys-icons16:arrow_circle_right' | 'yt-sys-icons16:arrow_solid_down-filled' | 'yt-sys-icons16:arrow_solid_down' | 'yt-sys-icons16:arrow_solid_up-filled' | 'yt-sys-icons16:arrow_solid_up' | 'yt-sys-icons16:bar_horizontal' | 'yt-sys-icons16:check_circle_thick-filled' | 'yt-sys-icons16:check_circle_thick' | 'yt-sys-icons16:chevron_left' | 'yt-sys-icons16:chevron_right' | 'yt-sys-icons16:comment-filled' | 'yt-sys-icons16:comment' | 'yt-sys-icons16:dislike-filled' | 'yt-sys-icons16:dislike' | 'yt-sys-icons16:dollar_sign_circle-filled' | 'yt-sys-icons16:dollar_sign_circle' | 'yt-sys-icons16:fire' | 'yt-sys-icons16:heart_circle' | 'yt-sys-icons16:help-filled' | 'yt-sys-icons16:help' | 'yt-sys-icons16:info' | 'yt-sys-icons16:like-filled' | 'yt-sys-icons16:like' | 'yt-sys-icons16:lock' | 'yt-sys-icons16:message_bubble_question-filled' | 'yt-sys-icons16:message_bubble_question' | 'yt-sys-icons16:music-filled' | 'yt-sys-icons16:music' | 'yt-sys-icons16:open_in_new' | 'yt-sys-icons16:podcast' | 'yt-sys-icons16:radar_live' | 'yt-sys-icons16:rating_up' | 'yt-sys-icons16:rss' | 'yt-sys-icons16:rss_off' | 'yt-sys-icons16:super_sticker-filled' | 'yt-sys-icons16:super_sticker' | 'yt-sys-icons16:transcript' | 'yt-sys-icons16:transcript_search' | 'yt-sys-icons16:youtube_shorts_no_triangle-filled' | 'yt-sys-icons16:youtube_shorts_no_triangle'; -export type YtSysIcons18 = 'yt-sys-icons18:arrow_circle_right' | 'yt-sys-icons18:heart_circle' | 'yt-sys-icons18:info' | 'yt-sys-icons18:lock-filled' | 'yt-sys-icons18:lock' | 'yt-sys-icons18:music' | 'yt-sys-icons18:podcast' | 'yt-sys-icons18:privacy_public-filled' | 'yt-sys-icons18:privacy_public'; -export type YtSysIcons20 = 'yt-sys-icons20:heart_circle' | 'yt-sys-icons20:help-filled' | 'yt-sys-icons20:help' | 'yt-sys-icons20:mix-filled' | 'yt-sys-icons20:mix'; -export type YtSysIcons36 = 'yt-sys-icons36:face_happy_v2-filled' | 'yt-sys-icons36:face_happy_v2' | 'yt-sys-icons36:face_meh_v2-filled' | 'yt-sys-icons36:face_meh_v2' | 'yt-sys-icons36:face_sad_v2-filled' | 'yt-sys-icons36:face_sad_v2' | 'yt-sys-icons36:face_unhappy_v2-filled' | 'yt-sys-icons36:face_unhappy_v2' | 'yt-sys-icons36:face_very_happy_v2-filled' | 'yt-sys-icons36:face_very_happy_v2'; -export type YtSysIcons48 = 'yt-sys-icons48:broadcast' | 'yt-sys-icons48:screen_default-filled' | 'yt-sys-icons48:screen_default' | 'yt-sys-icons48:screen_fullscreen-filled' | 'yt-sys-icons48:screen_fullscreen' | 'yt-sys-icons48:screen_miniplayer-filled' | 'yt-sys-icons48:screen_miniplayer' | 'yt-sys-icons48:screen_theatre-filled' | 'yt-sys-icons48:screen_theatre'; -export type YtcpIcons = 'ytcp-icons:arrow-down-alt' | 'ytcp-icons:arrow-right' | 'ytcp-icons:arrow-up-alt' | 'ytcp-icons:check-circle-outline' | 'ytcp-icons:error-on-load-v2' | 'ytcp-icons:error-on-load' | 'ytcp-icons:escape-hatch' | 'ytcp-icons:feature-search' | 'ytcp-icons:first-page' | 'ytcp-icons:last-page' | 'ytcp-icons:no-comments' | 'ytcp-icons:no-held-comments-v2' | 'ytcp-icons:no-held-comments' | 'ytcp-icons:no-search-match-v2' | 'ytcp-icons:no-search-match' | 'ytcp-icons:report-off' | 'ytcp-icons:show-ranking' | 'ytcp-icons:trend-down-circle-outline' | 'ytcp-icons:trend-down-circle' | 'ytcp-icons:trend-down' | 'ytcp-icons:trend-up-circle' | 'ytcp-icons:trend-up' | 'ytcp-icons:web-traffic' | 'ytcp-icons:zoom-in' | 'ytcp-icons:zoom-out'; +export type GeneralIcons = + | 'icons:3d-rotation' + | 'icons:accessibility' + | 'icons:accessible' + | 'icons:account-balance' + | 'icons:account-balance-wallet' + | 'icons:account-box' + | 'icons:account-circle' + | 'icons:add' + | 'icons:add-alert' + | 'icons:add-box' + | 'icons:add-circle' + | 'icons:add-circle-outline' + | 'icons:add-shopping-cart' + | 'icons:alarm' + | 'icons:alarm-add' + | 'icons:alarm-off' + | 'icons:alarm-on' + | 'icons:all-out' + | 'icons:android' + | 'icons:announcement' + | 'icons:apps' + | 'icons:archive' + | 'icons:arrow-back' + | 'icons:arrow-downward' + | 'icons:arrow-drop-down' + | 'icons:arrow-drop-down-circle' + | 'icons:arrow-drop-up' + | 'icons:arrow-forward' + | 'icons:arrow-upward' + | 'icons:aspect-ratio' + | 'icons:assessment' + | 'icons:assignment' + | 'icons:assignment-ind' + | 'icons:assignment-late' + | 'icons:assignment-return' + | 'icons:assignment-returned' + | 'icons:assignment-turned-in' + | 'icons:attachment' + | 'icons:autorenew' + | 'icons:backspace' + | 'icons:backup' + | 'icons:block' + | 'icons:book' + | 'icons:bookmark' + | 'icons:bookmark-border' + | 'icons:bug-report' + | 'icons:build' + | 'icons:cached' + | 'icons:camera-enhance' + | 'icons:cancel' + | 'icons:card-giftcard' + | 'icons:card-membership' + | 'icons:card-travel' + | 'icons:change-history' + | 'icons:check' + | 'icons:check-box' + | 'icons:check-box-outline-blank' + | 'icons:check-circle' + | 'icons:chevron-left' + | 'icons:chevron-right' + | 'icons:chrome-reader-mode' + | 'icons:class' + | 'icons:clear' + | 'icons:close' + | 'icons:cloud' + | 'icons:cloud-circle' + | 'icons:cloud-done' + | 'icons:cloud-download' + | 'icons:cloud-off' + | 'icons:cloud-queue' + | 'icons:cloud-upload' + | 'icons:code' + | 'icons:compare-arrows' + | 'icons:content-copy' + | 'icons:content-cut' + | 'icons:content-paste' + | 'icons:copyright' + | 'icons:create' + | 'icons:create-new-folder' + | 'icons:credit-card' + | 'icons:dashboard' + | 'icons:date-range' + | 'icons:delete' + | 'icons:delete-forever' + | 'icons:delete-sweep' + | 'icons:description' + | 'icons:dns' + | 'icons:done' + | 'icons:done-all' + | 'icons:donut-large' + | 'icons:donut-small' + | 'icons:drafts' + | 'icons:eject' + | 'icons:error' + | 'icons:error-outline' + | 'icons:euro-symbol' + | 'icons:event' + | 'icons:event-seat' + | 'icons:exit-to-app' + | 'icons:expand-less' + | 'icons:expand-more' + | 'icons:explore' + | 'icons:extension' + | 'icons:face' + | 'icons:favorite' + | 'icons:favorite-border' + | 'icons:feedback' + | 'icons:file-download' + | 'icons:file-upload' + | 'icons:filter-list' + | 'icons:find-in-page' + | 'icons:find-replace' + | 'icons:fingerprint' + | 'icons:first-page' + | 'icons:flag' + | 'icons:flight-land' + | 'icons:flight-takeoff' + | 'icons:flip-to-back' + | 'icons:flip-to-front' + | 'icons:folder' + | 'icons:folder-open' + | 'icons:folder-shared' + | 'icons:font-download' + | 'icons:forward' + | 'icons:fullscreen' + | 'icons:fullscreen-exit' + | 'icons:g-translate' + | 'icons:gavel' + | 'icons:gesture' + | 'icons:get-app' + | 'icons:gif' + | 'icons:grade' + | 'icons:group-work' + | 'icons:help' + | 'icons:help-outline' + | 'icons:highlight-off' + | 'icons:history' + | 'icons:home' + | 'icons:hourglass-empty' + | 'icons:hourglass-full' + | 'icons:http' + | 'icons:https' + | 'icons:important-devices' + | 'icons:inbox' + | 'icons:indeterminate-check-box' + | 'icons:info' + | 'icons:info-outline' + | 'icons:input' + | 'icons:invert-colors' + | 'icons:label' + | 'icons:label-outline' + | 'icons:language' + | 'icons:last-page' + | 'icons:launch' + | 'icons:lightbulb-outline' + | 'icons:line-style' + | 'icons:line-weight' + | 'icons:link' + | 'icons:list' + | 'icons:lock' + | 'icons:lock-open' + | 'icons:lock-outline' + | 'icons:low-priority' + | 'icons:loyalty' + | 'icons:mail' + | 'icons:markunread' + | 'icons:markunread-mailbox' + | 'icons:menu' + | 'icons:more-horiz' + | 'icons:more-vert' + | 'icons:motorcycle' + | 'icons:move-to-inbox' + | 'icons:next-week' + | 'icons:note-add' + | 'icons:offline-pin' + | 'icons:opacity' + | 'icons:open-in-browser' + | 'icons:open-in-new' + | 'icons:open-with' + | 'icons:pageview' + | 'icons:pan-tool' + | 'icons:payment' + | 'icons:perm-camera-mic' + | 'icons:perm-contact-calendar' + | 'icons:perm-data-setting' + | 'icons:perm-device-information' + | 'icons:perm-identity' + | 'icons:perm-media' + | 'icons:perm-phone-msg' + | 'icons:perm-scan-wifi' + | 'icons:pets' + | 'icons:picture-in-picture' + | 'icons:picture-in-picture-alt' + | 'icons:play-for-work' + | 'icons:polymer' + | 'icons:power-settings-new' + | 'icons:pregnant-woman' + | 'icons:print' + | 'icons:query-builder' + | 'icons:question-answer' + | 'icons:radio-button-checked' + | 'icons:radio-button-unchecked' + | 'icons:receipt' + | 'icons:record-voice-over' + | 'icons:redeem' + | 'icons:redo' + | 'icons:refresh' + | 'icons:remove' + | 'icons:remove-circle' + | 'icons:remove-circle-outline' + | 'icons:remove-shopping-cart' + | 'icons:reorder' + | 'icons:reply' + | 'icons:reply-all' + | 'icons:report' + | 'icons:report-problem' + | 'icons:restore' + | 'icons:restore-page' + | 'icons:room' + | 'icons:rounded-corner' + | 'icons:rowing' + | 'icons:save' + | 'icons:schedule' + | 'icons:search' + | 'icons:select-all' + | 'icons:send' + | 'icons:settings' + | 'icons:settings-applications' + | 'icons:settings-backup-restore' + | 'icons:settings-bluetooth' + | 'icons:settings-brightness' + | 'icons:settings-cell' + | 'icons:settings-ethernet' + | 'icons:settings-input-antenna' + | 'icons:settings-input-component' + | 'icons:settings-input-composite' + | 'icons:settings-input-hdmi' + | 'icons:settings-input-svideo' + | 'icons:settings-overscan' + | 'icons:settings-phone' + | 'icons:settings-power' + | 'icons:settings-remote' + | 'icons:settings-voice' + | 'icons:shop' + | 'icons:shop-two' + | 'icons:shopping-basket' + | 'icons:shopping-cart' + | 'icons:sort' + | 'icons:speaker-notes' + | 'icons:speaker-notes-off' + | 'icons:spellcheck' + | 'icons:star' + | 'icons:star-border' + | 'icons:star-half' + | 'icons:stars' + | 'icons:store' + | 'icons:subdirectory-arrow-left' + | 'icons:subdirectory-arrow-right' + | 'icons:subject' + | 'icons:supervisor-account' + | 'icons:swap-horiz' + | 'icons:swap-vert' + | 'icons:swap-vertical-circle' + | 'icons:system-update-alt' + | 'icons:tab' + | 'icons:tab-unselected' + | 'icons:text-format' + | 'icons:theaters' + | 'icons:thumb-down' + | 'icons:thumb-up' + | 'icons:thumbs-up-down' + | 'icons:timeline' + | 'icons:toc' + | 'icons:today' + | 'icons:toll' + | 'icons:touch-app' + | 'icons:track-changes' + | 'icons:translate' + | 'icons:trending-down' + | 'icons:trending-flat' + | 'icons:trending-up' + | 'icons:turned-in' + | 'icons:turned-in-not' + | 'icons:unarchive' + | 'icons:undo' + | 'icons:unfold-less' + | 'icons:unfold-more' + | 'icons:update' + | 'icons:verified-user' + | 'icons:view-agenda' + | 'icons:view-array' + | 'icons:view-carousel' + | 'icons:view-column' + | 'icons:view-day' + | 'icons:view-headline' + | 'icons:view-list' + | 'icons:view-module' + | 'icons:view-quilt' + | 'icons:view-stream' + | 'icons:view-week' + | 'icons:visibility' + | 'icons:visibility-off' + | 'icons:warning' + | 'icons:watch-later' + | 'icons:weekend' + | 'icons:work' + | 'icons:youtube-searched-for' + | 'icons:zoom-in' + | 'icons:zoom-out'; +export type PaperDropDownMenuIcons = + | 'paper-dropdown-menu:arrow-drop-down' + | 'paper-tabs:chevron-left' + | 'paper-tabs:chevron-right'; +export type SocialNetworkIcons = + | 'socialNetworks:ameba' + | 'socialNetworks:bebo' + | 'socialNetworks:blogger' + | 'socialNetworks:cyworld' + | 'socialNetworks:digg' + | 'socialNetworks:email' + | 'socialNetworks:embed' + | 'socialNetworks:facebook' + | 'socialNetworks:fotka' + | 'socialNetworks:goo' + | 'socialNetworks:hi5' + | 'socialNetworks:kakao' + | 'socialNetworks:linkedin' + | 'socialNetworks:livejournal' + | 'socialNetworks:mail' + | 'socialNetworks:meneame' + | 'socialNetworks:mixi' + | 'socialNetworks:myspace' + | 'socialNetworks:naver' + | 'socialNetworks:odnoklassniki' + | 'socialNetworks:pinterest' + | 'socialNetworks:rakuten' + | 'socialNetworks:reddit' + | 'socialNetworks:skyblog' + | 'socialNetworks:skype' + | 'socialNetworks:stumbleupon' + | 'socialNetworks:tuenti' + | 'socialNetworks:tumblr' + | 'socialNetworks:twitter' + | 'socialNetworks:vkontakte' + | 'socialNetworks:weibo' + | 'socialNetworks:wykop' + | 'socialNetworks:yahoo' + | 'socialNetworksRound:ameba' + | 'socialNetworksRound:bebo' + | 'socialNetworksRound:blogger' + | 'socialNetworksRound:cyworld' + | 'socialNetworksRound:digg' + | 'socialNetworksRound:email' + | 'socialNetworksRound:embed' + | 'socialNetworksRound:facebook' + | 'socialNetworksRound:fotka' + | 'socialNetworksRound:goo' + | 'socialNetworksRound:hi5' + | 'socialNetworksRound:kakao' + | 'socialNetworksRound:linkedin' + | 'socialNetworksRound:livejournal' + | 'socialNetworksRound:mail' + | 'socialNetworksRound:meneame' + | 'socialNetworksRound:mixi' + | 'socialNetworksRound:myspace' + | 'socialNetworksRound:naver' + | 'socialNetworksRound:odnoklassniki' + | 'socialNetworksRound:pinterest' + | 'socialNetworksRound:rakuten' + | 'socialNetworksRound:reddit' + | 'socialNetworksRound:skyblog' + | 'socialNetworksRound:skype' + | 'socialNetworksRound:stumbleupon' + | 'socialNetworksRound:tuenti' + | 'socialNetworksRound:tumblr' + | 'socialNetworksRound:twitter' + | 'socialNetworksRound:vkontakte' + | 'socialNetworksRound:web_system_activity_dialog' + | 'socialNetworksRound:weibo' + | 'socialNetworksRound:whatsapp' + | 'socialNetworksRound:wykop' + | 'socialNetworksRound:yahoo' + | 'socialNetworksRound:youtube_community_post' + | 'socialNetworksRound:youtube_community_repost'; +export type HashtagLandingPageIcons = + | 'hashtag-landing-page:hashtag_landing_page_empty' + | 'hashtag-landing-page:hashtag_landing_page_empty_dark_mode' + | 'hashtag-landing-page:hashtag_landing_page_error' + | 'hashtag-landing-page:hashtag_landing_page_error_dark_mode'; +export type LiveChatBadgeIcons = + | 'live-chat-badges:member' + | 'live-chat-badges:moderator' + | 'live-chat-badges:owner' + | 'live-chat-badges:verified'; +export type MiniplayerIcons = + | 'miniplayer:cast-connected' + | 'miniplayer:cast' + | 'miniplayer:keyboard-arrow-down' + | 'miniplayer:keyboard-arrow-up' + | 'miniplayer:miniplayer-expand' + | 'miniplayer:pause' + | 'miniplayer:play-arrow' + | 'miniplayer:skip-next' + | 'miniplayer:skip-previous' + | 'miniplayer:volume-off' + | 'miniplayer:volume-up'; +export type RottenTomatoesIcons = + | 'rotten-tomatoes:certified' + | 'rotten-tomatoes:fresh' + | 'rotten-tomatoes:rotten'; +export type SettingsIcons = + | 'settings:account_advanced' + | 'settings:account_notifications' + | 'settings:account_playback' + | 'settings:account_privacy' + | 'settings:account_settings' + | 'settings:account_sharing' + | 'settings:chrome_icon'; +export type ShortsIcons = + | 'shorts:shorts-comment' + | 'shorts:shorts-dislike' + | 'shorts:shorts-like' + | 'shorts:shorts-share'; +export type YtIcons = + | 'yt-icons:accelerator' + | 'yt-icons:access_time' + | 'yt-icons:account_box' + | 'yt-icons:account_circle' + | 'yt-icons:account_linked' + | 'yt-icons:account_unlinked' + | 'yt-icons:add' + | 'yt-icons:add_circle' + | 'yt-icons:add_friend' + | 'yt-icons:add_moderator' + | 'yt-icons:add_photo_alternate' + | 'yt-icons:add_to_playlist' + | 'yt-icons:add_to_queue' + | 'yt-icons:add_to_queue_tail' + | 'yt-icons:add_video_link' + | 'yt-icons:album' + | 'yt-icons:align_left' + | 'yt-icons:answer_neither_satisfied_nor_dissatisfied' + | 'yt-icons:answer_somewhat_dissatisfied' + | 'yt-icons:answer_somewhat_satisfied' + | 'yt-icons:answer_very_dissatisfied' + | 'yt-icons:answer_very_satisfied' + | 'yt-icons:applause' + | 'yt-icons:apps' + | 'yt-icons:arrow-back' + | 'yt-icons:arrow-drop-down' + | 'yt-icons:arrow-forward' + | 'yt-icons:arrow_back' + | 'yt-icons:arrow_chart_neutral' + | 'yt-icons:arrow_drop_down' + | 'yt-icons:arrow_drop_up' + | 'yt-icons:arrow_forward' + | 'yt-icons:article' + | 'yt-icons:artist' + | 'yt-icons:audio_badge' + | 'yt-icons:audiotrack' + | 'yt-icons:auto-awesome' + | 'yt-icons:avatar-circle-blue' + | 'yt-icons:avatar_anonymous' + | 'yt-icons:avatar_logged_out' + | 'yt-icons:back' + | 'yt-icons:bar_chart' + | 'yt-icons:block' + | 'yt-icons:bookmark' + | 'yt-icons:bookmark_border' + | 'yt-icons:breaking_news' + | 'yt-icons:breaking_news_alt_1' + | 'yt-icons:brightness_three' + | 'yt-icons:build' + | 'yt-icons:cake' + | 'yt-icons:calendar' + | 'yt-icons:camera_alt' + | 'yt-icons:campaign' + | 'yt-icons:channel_notification_preference_off' + | 'yt-icons:channel_notification_preference_on' + | 'yt-icons:chat_bubble' + | 'yt-icons:chat_off' + | 'yt-icons:check-circle' + | 'yt-icons:check' + | 'yt-icons:check_box' + | 'yt-icons:check_box_bar' + | 'yt-icons:check_box_outline_blank' + | 'yt-icons:check_circle_thick' + | 'yt-icons:chevron_down' + | 'yt-icons:chevron_left' + | 'yt-icons:chevron_right' + | 'yt-icons:chevron_up' + | 'yt-icons:chromecast-filled' + | 'yt-icons:chromecast' + | 'yt-icons:chromecast_animate_frame-1' + | 'yt-icons:chromecast_animate_frame-2' + | 'yt-icons:chromecast_animate_frame-3' + | 'yt-icons:clarify' + | 'yt-icons:close' + | 'yt-icons:cloud_upload' + | 'yt-icons:collapse' + | 'yt-icons:collections' + | 'yt-icons:color_lens' + | 'yt-icons:colored_gaming_logo' + | 'yt-icons:comment' + | 'yt-icons:consent_shield' + | 'yt-icons:contact_support' + | 'yt-icons:content_cut' + | 'yt-icons:conversations' + | 'yt-icons:copy' + | 'yt-icons:course' + | 'yt-icons:creation_live' + | 'yt-icons:creation_post' + | 'yt-icons:creation_upload' + | 'yt-icons:creation_upload_red' + | 'yt-icons:creator_metadata_monetization' + | 'yt-icons:creator_metadata_monetization_off' + | 'yt-icons:creator_studio' + | 'yt-icons:creator_studio_red_logo' + | 'yt-icons:credit_card' + | 'yt-icons:dark_theme' + | 'yt-icons:delete' + | 'yt-icons:delete_sweep' + | 'yt-icons:dislike' + | 'yt-icons:dislike_outline' + | 'yt-icons:dismissal' + | 'yt-icons:dogfood' + | 'yt-icons:dollar_sign' + | 'yt-icons:done_all' + | 'yt-icons:down_arrow' + | 'yt-icons:drag_handle' + | 'yt-icons:edit' + | 'yt-icons:email' + | 'yt-icons:emoji' + | 'yt-icons:emoji_activities' + | 'yt-icons:emoji_custom' + | 'yt-icons:emoji_flags' + | 'yt-icons:emoji_food' + | 'yt-icons:emoji_nature' + | 'yt-icons:emoji_objects' + | 'yt-icons:emoji_people' + | 'yt-icons:emoji_recent' + | 'yt-icons:emoji_sponsorships' + | 'yt-icons:emoji_symbols' + | 'yt-icons:emoji_travel' + | 'yt-icons:error' + | 'yt-icons:error_black' + | 'yt-icons:error_outline' + | 'yt-icons:event' + | 'yt-icons:exit_app' + | 'yt-icons:exit_to_app' + | 'yt-icons:expand-less' + | 'yt-icons:expand-more' + | 'yt-icons:expand' + | 'yt-icons:explore' + | 'yt-icons:external_link' + | 'yt-icons:fact_check' + | 'yt-icons:fashion_logo' + | 'yt-icons:fast_rewind' + | 'yt-icons:feedback' + | 'yt-icons:fill_dollar_sign_heart_12' + | 'yt-icons:filter' + | 'yt-icons:find_in_page' + | 'yt-icons:first_page' + | 'yt-icons:flag' + | 'yt-icons:flag_outline' + | 'yt-icons:folder' + | 'yt-icons:forum' + | 'yt-icons:full_heart' + | 'yt-icons:fullscreen' + | 'yt-icons:fullscreen_exit' + | 'yt-icons:g_translate' + | 'yt-icons:gaming_logo' + | 'yt-icons:gif' + | 'yt-icons:google' + | 'yt-icons:google_logo' + | 'yt-icons:groups' + | 'yt-icons:guide_close' + | 'yt-icons:happy' + | 'yt-icons:health_and_safety' + | 'yt-icons:help' + | 'yt-icons:help_outline' + | 'yt-icons:highlight_off' + | 'yt-icons:hourglass' + | 'yt-icons:image' + | 'yt-icons:info-outline' + | 'yt-icons:info' + | 'yt-icons:info_circle' + | 'yt-icons:info_outline' + | 'yt-icons:insert_chart' + | 'yt-icons:insert_chart_outlined' + | 'yt-icons:insert_photo' + | 'yt-icons:insights' + | 'yt-icons:invite_only_mode' + | 'yt-icons:invite_only_mode_off' + | 'yt-icons:keep' + | 'yt-icons:keep_off' + | 'yt-icons:keyboard' + | 'yt-icons:language' + | 'yt-icons:last_page' + | 'yt-icons:launch' + | 'yt-icons:library_add' + | 'yt-icons:library_music' + | 'yt-icons:library_remove' + | 'yt-icons:like' + | 'yt-icons:like_outline' + | 'yt-icons:likes_playlist' + | 'yt-icons:link' + | 'yt-icons:live' + | 'yt-icons:live_unlisted' + | 'yt-icons:local_mall' + | 'yt-icons:local_offer' + | 'yt-icons:location_pin' + | 'yt-icons:lock' + | 'yt-icons:lock_clock' + | 'yt-icons:lock_open' + | 'yt-icons:loop' + | 'yt-icons:loop_one' + | 'yt-icons:manual-record' + | 'yt-icons:maximize' + | 'yt-icons:meh' + | 'yt-icons:members_only_mode' + | 'yt-icons:members_only_mode_off' + | 'yt-icons:membership_post_purchase' + | 'yt-icons:membership_pre_purchase' + | 'yt-icons:memberships' + | 'yt-icons:menu' + | 'yt-icons:message' + | 'yt-icons:message_bubble_question' + | 'yt-icons:microphone_off' + | 'yt-icons:microphone_on' + | 'yt-icons:minimize' + | 'yt-icons:mix' + | 'yt-icons:mobile_portrait' + | 'yt-icons:monetization_on' + | 'yt-icons:money_fill' + | 'yt-icons:money_fill_jpy' + | 'yt-icons:money_fill_more_arrow' + | 'yt-icons:money_fill_shopping_bag' + | 'yt-icons:money_fill_store' + | 'yt-icons:money_heart' + | 'yt-icons:more' + | 'yt-icons:more_chevron' + | 'yt-icons:more_horiz' + | 'yt-icons:more_vert' + | 'yt-icons:movies' + | 'yt-icons:music' + | 'yt-icons:music_explicit_badge' + | 'yt-icons:music_miniplayer' + | 'yt-icons:music_new_release' + | 'yt-icons:music_note' + | 'yt-icons:music_player_page' + | 'yt-icons:music_repeat_all' + | 'yt-icons:music_repeat_one' + | 'yt-icons:music_shuffle' + | 'yt-icons:music_video' + | 'yt-icons:my_channel' + | 'yt-icons:my_videos' + | 'yt-icons:new_release' + | 'yt-icons:not_interested' + | 'yt-icons:notifications' + | 'yt-icons:notifications_active' + | 'yt-icons:notifications_done_checkmark' + | 'yt-icons:notifications_none' + | 'yt-icons:notifications_off' + | 'yt-icons:official_artist_badge' + | 'yt-icons:offline_cloud' + | 'yt-icons:offline_download' + | 'yt-icons:offline_downloading_eighty' + | 'yt-icons:offline_downloading_forty' + | 'yt-icons:offline_downloading_sixty' + | 'yt-icons:offline_downloading_spinner' + | 'yt-icons:offline_downloading_twenty' + | 'yt-icons:offline_downloading_zero' + | 'yt-icons:offline_pause' + | 'yt-icons:offline_pin' + | 'yt-icons:open_in_new' + | 'yt-icons:open_with' + | 'yt-icons:paid' + | 'yt-icons:pause_outlined' + | 'yt-icons:pencil' + | 'yt-icons:people' + | 'yt-icons:people_2' + | 'yt-icons:person' + | 'yt-icons:person_add' + | 'yt-icons:person_setting' + | 'yt-icons:phone' + | 'yt-icons:phone_download' + | 'yt-icons:play_all' + | 'yt-icons:play_arrow' + | 'yt-icons:play_disabled' + | 'yt-icons:play_next' + | 'yt-icons:play_outlined' + | 'yt-icons:playlist_add' + | 'yt-icons:playlist_add_check' + | 'yt-icons:playlists' + | 'yt-icons:policy' + | 'yt-icons:poll' + | 'yt-icons:premium' + | 'yt-icons:price_tag' + | 'yt-icons:privacy_info' + | 'yt-icons:privacy_private' + | 'yt-icons:privacy_public' + | 'yt-icons:privacy_unlisted' + | 'yt-icons:prompted_sign_in' + | 'yt-icons:purchase_sponsorship' + | 'yt-icons:purchase_super_chat' + | 'yt-icons:purchase_super_sticker' + | 'yt-icons:purchases' + | 'yt-icons:question_answer' + | 'yt-icons:radio-button-unchecked' + | 'yt-icons:refresh' + | 'yt-icons:remove-circle-outline' + | 'yt-icons:remove' + | 'yt-icons:remove_circle' + | 'yt-icons:remove_done' + | 'yt-icons:remove_moderator' + | 'yt-icons:replay' + | 'yt-icons:report' + | 'yt-icons:report_problem' + | 'yt-icons:sad' + | 'yt-icons:scatterplot' + | 'yt-icons:schedule' + | 'yt-icons:search' + | 'yt-icons:send' + | 'yt-icons:service_toolbox' + | 'yt-icons:settings' + | 'yt-icons:settings_applications' + | 'yt-icons:settings_material' + | 'yt-icons:share' + | 'yt-icons:share_arrow' + | 'yt-icons:shield' + | 'yt-icons:shield_with_avatar' + | 'yt-icons:shuffle' + | 'yt-icons:skip_next' + | 'yt-icons:skip_previous' + | 'yt-icons:slow_mode' + | 'yt-icons:slow_mode_off' + | 'yt-icons:sms' + | 'yt-icons:sort' + | 'yt-icons:sponsorship_star' + | 'yt-icons:sponsorships' + | 'yt-icons:sponsorships_no_bg' + | 'yt-icons:star' + | 'yt-icons:star_border' + | 'yt-icons:star_half' + | 'yt-icons:stars' + | 'yt-icons:sticker_emoticon' + | 'yt-icons:subdirectory_arrow_right' + | 'yt-icons:subscribe' + | 'yt-icons:subscription_manager' + | 'yt-icons:subscriptions' + | 'yt-icons:subtitles' + | 'yt-icons:super_chat_for_good' + | 'yt-icons:super_store' + | 'yt-icons:supervisor_account' + | 'yt-icons:switch_accounts' + | 'yt-icons:tab_account' + | 'yt-icons:tab_explore' + | 'yt-icons:tab_home' + | 'yt-icons:tab_subscriptions' + | 'yt-icons:tab_trending' + | 'yt-icons:trailer' + | 'yt-icons:translate' + | 'yt-icons:trending' + | 'yt-icons:trending_up' + | 'yt-icons:trophy' + | 'yt-icons:tune' + | 'yt-icons:tv' + | 'yt-icons:unlimited' + | 'yt-icons:unplugged_logo' + | 'yt-icons:up_arrow' + | 'yt-icons:upload' + | 'yt-icons:uploads' + | 'yt-icons:verified_user' + | 'yt-icons:vertical_align_bottom' + | 'yt-icons:vertical_align_top' + | 'yt-icons:very_happy' + | 'yt-icons:very_sad' + | 'yt-icons:video_call' + | 'yt-icons:video_camera' + | 'yt-icons:video_camera_disabled' + | 'yt-icons:video_library_white' + | 'yt-icons:video_youtube' + | 'yt-icons:videogame_asset' + | 'yt-icons:view_list' + | 'yt-icons:view_module' + | 'yt-icons:visibility' + | 'yt-icons:visibility_off' + | 'yt-icons:volume_off' + | 'yt-icons:volume_up' + | 'yt-icons:vpn_key' + | 'yt-icons:wallpaper' + | 'yt-icons:warning' + | 'yt-icons:watch_history' + | 'yt-icons:watch_later' + | 'yt-icons:watch_related_mix' + | 'yt-icons:waveform' + | 'yt-icons:what_to_watch' + | 'yt-icons:wifi_status_bar_four' + | 'yt-icons:wifi_status_bar_one' + | 'yt-icons:wifi_status_bar_three' + | 'yt-icons:wifi_status_bar_zero' + | 'yt-icons:work_off' + | 'yt-icons:youtube_ad' + | 'yt-icons:youtube_kids' + | 'yt-icons:youtube_kids_round' + | 'yt-icons:youtube_logo' + | 'yt-icons:youtube_music' + | 'yt-icons:youtube_music_logo_short' + | 'yt-icons:youtube_music_monochrome' + | 'yt-icons:youtube_premiere_logo_short' + | 'yt-icons:youtube_red_logo' + | 'yt-icons:youtube_red_logo_short' + | 'yt-icons:youtube_round' + | 'yt-icons:youtube_shorts_brand_24' + | 'yt-icons:zoom_in' + | 'yt-icons:zoom_out'; +export type YtLogos = + | 'yt-logos:lozenge' + | 'yt-logos:premium' + | 'yt-logos:premium_standalone' + | 'yt-logos:premium_standalone_cairo' + | 'yt-logos:red'; +export type YtSysIcons = + | 'yt-sys-icons:1_point_2x' + | 'yt-sys-icons:1_point_5x' + | 'yt-sys-icons:1_point_8x' + | 'yt-sys-icons:1x' + | 'yt-sys-icons:2x' + | 'yt-sys-icons:account_box-filled' + | 'yt-sys-icons:account_box' + | 'yt-sys-icons:account_circle-filled' + | 'yt-sys-icons:account_circle' + | 'yt-sys-icons:account_linked' + | 'yt-sys-icons:account_unlinked' + | 'yt-sys-icons:add' + | 'yt-sys-icons:add_circle' + | 'yt-sys-icons:add_moderator' + | 'yt-sys-icons:add_to_queue' + | 'yt-sys-icons:add_to_queue_tail' + | 'yt-sys-icons:add_video_link' + | 'yt-sys-icons:admin_panel_settings' + | 'yt-sys-icons:album-filled' + | 'yt-sys-icons:album' + | 'yt-sys-icons:apps-filled' + | 'yt-sys-icons:apps' + | 'yt-sys-icons:arrow_back' + | 'yt-sys-icons:arrow_circle_right' + | 'yt-sys-icons:arrow_drop_down' + | 'yt-sys-icons:arrow_drop_up' + | 'yt-sys-icons:arrow_flip' + | 'yt-sys-icons:arrow_forward' + | 'yt-sys-icons:arrow_pause' + | 'yt-sys-icons:arrow_remix' + | 'yt-sys-icons:arrow_solid_down-filled' + | 'yt-sys-icons:arrow_solid_down' + | 'yt-sys-icons:arrow_solid_up-filled' + | 'yt-sys-icons:arrow_undo' + | 'yt-sys-icons:auto_awesome-filled' + | 'yt-sys-icons:auto_awesome' + | 'yt-sys-icons:bag-filled' + | 'yt-sys-icons:bag' + | 'yt-sys-icons:bar_chart-filled' + | 'yt-sys-icons:bar_chart' + | 'yt-sys-icons:bar_circle' + | 'yt-sys-icons:bar_graph_box_vertical-filled' + | 'yt-sys-icons:bar_graph_box_vertical' + | 'yt-sys-icons:bar_horizontal' + | 'yt-sys-icons:book' + | 'yt-sys-icons:bookmark-filled' + | 'yt-sys-icons:bookmark' + | 'yt-sys-icons:box_check' + | 'yt-sys-icons:box_empty' + | 'yt-sys-icons:box_open_check' + | 'yt-sys-icons:box_pencil' + | 'yt-sys-icons:briefcase' + | 'yt-sys-icons:broadcast' + | 'yt-sys-icons:calendar-filled' + | 'yt-sys-icons:calendar' + | 'yt-sys-icons:camera_alt' + | 'yt-sys-icons:cast_outline' + | 'yt-sys-icons:celebration' + | 'yt-sys-icons:chat_bubble-filled' + | 'yt-sys-icons:chat_bubble' + | 'yt-sys-icons:chat_off-filled' + | 'yt-sys-icons:chat_off' + | 'yt-sys-icons:check-filled' + | 'yt-sys-icons:check' + | 'yt-sys-icons:check_box' + | 'yt-sys-icons:check_box_bar' + | 'yt-sys-icons:check_box_outline_blank' + | 'yt-sys-icons:check_circle_thick-filled' + | 'yt-sys-icons:check_circle_thick' + | 'yt-sys-icons:check_double' + | 'yt-sys-icons:check_double_off' + | 'yt-sys-icons:chevron_left' + | 'yt-sys-icons:chevron_right' + | 'yt-sys-icons:chromecast-filled' + | 'yt-sys-icons:chromecast' + | 'yt-sys-icons:chromecast_animate_frame_1' + | 'yt-sys-icons:chromecast_animate_frame_2' + | 'yt-sys-icons:chromecast_animate_frame_3' + | 'yt-sys-icons:circle-filled' + | 'yt-sys-icons:circle' + | 'yt-sys-icons:circles_6-filled' + | 'yt-sys-icons:clapperboard-filled' + | 'yt-sys-icons:clapperboard' + | 'yt-sys-icons:clarify' + | 'yt-sys-icons:clock' + | 'yt-sys-icons:clock_half_circle' + | 'yt-sys-icons:close' + | 'yt-sys-icons:closed_caption' + | 'yt-sys-icons:cloud_arrow_up' + | 'yt-sys-icons:collapse' + | 'yt-sys-icons:comment-filled' + | 'yt-sys-icons:comment' + | 'yt-sys-icons:copy' + | 'yt-sys-icons:countdown_to_close' + | 'yt-sys-icons:countdown_to_close_digit' + | 'yt-sys-icons:course-filled' + | 'yt-sys-icons:course' + | 'yt-sys-icons:creation_post-filled' + | 'yt-sys-icons:creation_post' + | 'yt-sys-icons:creator_academy' + | 'yt-sys-icons:creator_metadata_monetization-filled' + | 'yt-sys-icons:creator_metadata_monetization' + | 'yt-sys-icons:creator_metadata_monetization_off' + | 'yt-sys-icons:creator_studio-filled' + | 'yt-sys-icons:creator_studio' + | 'yt-sys-icons:credit_card-filled' + | 'yt-sys-icons:credit_card' + | 'yt-sys-icons:dark_theme-filled' + | 'yt-sys-icons:dark_theme' + | 'yt-sys-icons:delete-filled' + | 'yt-sys-icons:delete' + | 'yt-sys-icons:dislike-filled' + | 'yt-sys-icons:dislike' + | 'yt-sys-icons:dollar_sign_circle-filled' + | 'yt-sys-icons:dollar_sign_circle' + | 'yt-sys-icons:dollar_sign_container' + | 'yt-sys-icons:done_all-filled' + | 'yt-sys-icons:done_all' + | 'yt-sys-icons:down_arrow-filled' + | 'yt-sys-icons:down_arrow' + | 'yt-sys-icons:drag_handle' + | 'yt-sys-icons:edit' + | 'yt-sys-icons:email-filled' + | 'yt-sys-icons:emoji_activities-filled' + | 'yt-sys-icons:emoji_activities' + | 'yt-sys-icons:error-filled' + | 'yt-sys-icons:error' + | 'yt-sys-icons:exit_to_app' + | 'yt-sys-icons:expand' + | 'yt-sys-icons:explore-filled' + | 'yt-sys-icons:explore' + | 'yt-sys-icons:eye' + | 'yt-sys-icons:fact_check' + | 'yt-sys-icons:fashion_logo-filled' + | 'yt-sys-icons:fashion_logo' + | 'yt-sys-icons:feedback' + | 'yt-sys-icons:filter-filled' + | 'yt-sys-icons:filter' + | 'yt-sys-icons:find_in_page' + | 'yt-sys-icons:fire-filled' + | 'yt-sys-icons:fire' + | 'yt-sys-icons:first_page-filled' + | 'yt-sys-icons:first_page' + | 'yt-sys-icons:flag-filled' + | 'yt-sys-icons:flag' + | 'yt-sys-icons:folder-filled' + | 'yt-sys-icons:folder' + | 'yt-sys-icons:forum-filled' + | 'yt-sys-icons:forum' + | 'yt-sys-icons:full_heart-filled' + | 'yt-sys-icons:full_heart' + | 'yt-sys-icons:fullscreen-filled' + | 'yt-sys-icons:fullscreen' + | 'yt-sys-icons:fullscreen_exit-filled' + | 'yt-sys-icons:fullscreen_exit' + | 'yt-sys-icons:gaming_logo-filled' + | 'yt-sys-icons:gaming_logo' + | 'yt-sys-icons:gift-filled' + | 'yt-sys-icons:gift' + | 'yt-sys-icons:google' + | 'yt-sys-icons:happy-filled' + | 'yt-sys-icons:happy' + | 'yt-sys-icons:headset-filled' + | 'yt-sys-icons:headset' + | 'yt-sys-icons:health_and_safety' + | 'yt-sys-icons:heart_box' + | 'yt-sys-icons:heart_circle' + | 'yt-sys-icons:help' + | 'yt-sys-icons:highlight_off' + | 'yt-sys-icons:hourglass' + | 'yt-sys-icons:image' + | 'yt-sys-icons:info' + | 'yt-sys-icons:keep-filled' + | 'yt-sys-icons:keep' + | 'yt-sys-icons:keep_off-filled' + | 'yt-sys-icons:keep_off' + | 'yt-sys-icons:keyboard-filled' + | 'yt-sys-icons:keyboard' + | 'yt-sys-icons:language-filled' + | 'yt-sys-icons:language' + | 'yt-sys-icons:laptop_mobile' + | 'yt-sys-icons:last_page-filled' + | 'yt-sys-icons:last_page' + | 'yt-sys-icons:library_add' + | 'yt-sys-icons:library_music-filled' + | 'yt-sys-icons:library_music' + | 'yt-sys-icons:library_outline' + | 'yt-sys-icons:library_remove' + | 'yt-sys-icons:library_saved' + | 'yt-sys-icons:like-filled' + | 'yt-sys-icons:like' + | 'yt-sys-icons:link' + | 'yt-sys-icons:list_play_arrow' + | 'yt-sys-icons:list_queue' + | 'yt-sys-icons:list_queue_last' + | 'yt-sys-icons:list_remove' + | 'yt-sys-icons:location_pin-filled' + | 'yt-sys-icons:location_pin' + | 'yt-sys-icons:lock' + | 'yt-sys-icons:lock_open' + | 'yt-sys-icons:loop-filled' + | 'yt-sys-icons:loop' + | 'yt-sys-icons:loop_active' + | 'yt-sys-icons:loop_one-filled' + | 'yt-sys-icons:loop_one' + | 'yt-sys-icons:loop_one_active' + | 'yt-sys-icons:mail' + | 'yt-sys-icons:medal_star' + | 'yt-sys-icons:meet' + | 'yt-sys-icons:meh-filled' + | 'yt-sys-icons:meh' + | 'yt-sys-icons:menu' + | 'yt-sys-icons:menu_filter' + | 'yt-sys-icons:message-filled' + | 'yt-sys-icons:message' + | 'yt-sys-icons:message_bubble_left_boost' + | 'yt-sys-icons:message_bubble_question-filled' + | 'yt-sys-icons:message_bubble_question' + | 'yt-sys-icons:microphone_on-filled' + | 'yt-sys-icons:microphone_on' + | 'yt-sys-icons:mix-filled' + | 'yt-sys-icons:mix' + | 'yt-sys-icons:mobile_portrait-filled' + | 'yt-sys-icons:mobile_portrait' + | 'yt-sys-icons:monetization_on-filled' + | 'yt-sys-icons:monetization_on' + | 'yt-sys-icons:money_fill' + | 'yt-sys-icons:money_fill_shopping_bag-filled' + | 'yt-sys-icons:money_fill_shopping_bag' + | 'yt-sys-icons:money_hand' + | 'yt-sys-icons:money_heart' + | 'yt-sys-icons:moon_z-filled' + | 'yt-sys-icons:moon_z' + | 'yt-sys-icons:more' + | 'yt-sys-icons:more_vert' + | 'yt-sys-icons:movies-filled' + | 'yt-sys-icons:movies' + | 'yt-sys-icons:music-filled' + | 'yt-sys-icons:music' + | 'yt-sys-icons:music_explicit_badge-filled' + | 'yt-sys-icons:music_explicit_badge' + | 'yt-sys-icons:music_miniplayer-filled' + | 'yt-sys-icons:music_miniplayer' + | 'yt-sys-icons:music_new_release' + | 'yt-sys-icons:music_player_page-filled' + | 'yt-sys-icons:music_player_page' + | 'yt-sys-icons:music_video-filled' + | 'yt-sys-icons:music_video' + | 'yt-sys-icons:my_videos-filled' + | 'yt-sys-icons:my_videos' + | 'yt-sys-icons:new_release-filled' + | 'yt-sys-icons:new_release' + | 'yt-sys-icons:news-filled' + | 'yt-sys-icons:news' + | 'yt-sys-icons:not_interested' + | 'yt-sys-icons:notifications-filled' + | 'yt-sys-icons:notifications' + | 'yt-sys-icons:notifications_active' + | 'yt-sys-icons:notifications_off' + | 'yt-sys-icons:offline_cloud' + | 'yt-sys-icons:offline_download' + | 'yt-sys-icons:offline_pause' + | 'yt-sys-icons:open_in_new-filled' + | 'yt-sys-icons:open_in_new' + | 'yt-sys-icons:open_in_panel' + | 'yt-sys-icons:outline_arrow_solid_up' + | 'yt-sys-icons:panels-filled' + | 'yt-sys-icons:panels' + | 'yt-sys-icons:paper_corner_folded' + | 'yt-sys-icons:pause_outlined' + | 'yt-sys-icons:pdf' + | 'yt-sys-icons:people-filled' + | 'yt-sys-icons:people' + | 'yt-sys-icons:people_group' + | 'yt-sys-icons:person-filled' + | 'yt-sys-icons:person' + | 'yt-sys-icons:person_2' + | 'yt-sys-icons:person_add-filled' + | 'yt-sys-icons:person_add' + | 'yt-sys-icons:person_circle_slash' + | 'yt-sys-icons:person_minus' + | 'yt-sys-icons:person_music-filled' + | 'yt-sys-icons:person_music' + | 'yt-sys-icons:person_radar' + | 'yt-sys-icons:phone-filled' + | 'yt-sys-icons:phone' + | 'yt-sys-icons:phone_download' + | 'yt-sys-icons:play_arrow' + | 'yt-sys-icons:play_arrow_half_circle' + | 'yt-sys-icons:play_arrow_outline' + | 'yt-sys-icons:play_outlined-filled' + | 'yt-sys-icons:play_outlined' + | 'yt-sys-icons:playlist_add' + | 'yt-sys-icons:playlist_add_check' + | 'yt-sys-icons:playlists-filled' + | 'yt-sys-icons:playlists' + | 'yt-sys-icons:podcast-filled' + | 'yt-sys-icons:podcast' + | 'yt-sys-icons:point_2x' + | 'yt-sys-icons:point_5x' + | 'yt-sys-icons:point_8x' + | 'yt-sys-icons:poll-filled' + | 'yt-sys-icons:poll' + | 'yt-sys-icons:privacy_info' + | 'yt-sys-icons:privacy_public-filled' + | 'yt-sys-icons:privacy_public' + | 'yt-sys-icons:purchase_super_chat-filled' + | 'yt-sys-icons:purchase_super_chat' + | 'yt-sys-icons:purchase_super_sticker-filled' + | 'yt-sys-icons:purchase_super_sticker' + | 'yt-sys-icons:purchases-filled' + | 'yt-sys-icons:purchases' + | 'yt-sys-icons:quotation_mark' + | 'yt-sys-icons:radar_live-filled' + | 'yt-sys-icons:radar_live' + | 'yt-sys-icons:remove_circle' + | 'yt-sys-icons:remove_done-filled' + | 'yt-sys-icons:remove_done' + | 'yt-sys-icons:remove_moderator-filled' + | 'yt-sys-icons:remove_moderator' + | 'yt-sys-icons:replay' + | 'yt-sys-icons:replay_10' + | 'yt-sys-icons:replay_arrow' + | 'yt-sys-icons:rss' + | 'yt-sys-icons:rss_off' + | 'yt-sys-icons:sad-filled' + | 'yt-sys-icons:sad' + | 'yt-sys-icons:scissors-filled' + | 'yt-sys-icons:scissors' + | 'yt-sys-icons:screen_default-filled' + | 'yt-sys-icons:screen_default' + | 'yt-sys-icons:screen_fullscreen-filled' + | 'yt-sys-icons:screen_fullscreen' + | 'yt-sys-icons:screen_miniplayer-filled' + | 'yt-sys-icons:screen_miniplayer' + | 'yt-sys-icons:screen_multi_view-fill' + | 'yt-sys-icons:screen_multi_view' + | 'yt-sys-icons:screen_switch-filled' + | 'yt-sys-icons:screen_switch' + | 'yt-sys-icons:screen_theatre-filled' + | 'yt-sys-icons:screen_theatre' + | 'yt-sys-icons:search' + | 'yt-sys-icons:send-filled' + | 'yt-sys-icons:send' + | 'yt-sys-icons:settings-filled' + | 'yt-sys-icons:settings' + | 'yt-sys-icons:settings_remote' + | 'yt-sys-icons:share' + | 'yt-sys-icons:share_ios' + | 'yt-sys-icons:shield-filled' + | 'yt-sys-icons:shield' + | 'yt-sys-icons:shield_add' + | 'yt-sys-icons:shield_off' + | 'yt-sys-icons:shield_overflow' + | 'yt-sys-icons:shield_with_avatar-filled' + | 'yt-sys-icons:shield_with_avatar' + | 'yt-sys-icons:shopping_cart-filled' + | 'yt-sys-icons:shopping_cart' + | 'yt-sys-icons:shorts_layout_bottom' + | 'yt-sys-icons:shorts_layout_centered_square' + | 'yt-sys-icons:shorts_layout_foreground' + | 'yt-sys-icons:shorts_layout_landscape_bottom' + | 'yt-sys-icons:shorts_layout_landscape_top' + | 'yt-sys-icons:shorts_layout_left' + | 'yt-sys-icons:shorts_layout_pip' + | 'yt-sys-icons:shorts_layout_right' + | 'yt-sys-icons:shorts_layout_single' + | 'yt-sys-icons:shorts_layout_top' + | 'yt-sys-icons:shuffle-filled' + | 'yt-sys-icons:shuffle' + | 'yt-sys-icons:skip_forward_30-filled' + | 'yt-sys-icons:skip_forward_30' + | 'yt-sys-icons:skip_next' + | 'yt-sys-icons:skip_previous' + | 'yt-sys-icons:slash_circle_left' + | 'yt-sys-icons:sort-filled' + | 'yt-sys-icons:sort' + | 'yt-sys-icons:spark' + | 'yt-sys-icons:sparkle-filled' + | 'yt-sys-icons:sparkle_filled' + | 'yt-sys-icons:spotlight-filled' + | 'yt-sys-icons:spotlight' + | 'yt-sys-icons:star-filled' + | 'yt-sys-icons:star' + | 'yt-sys-icons:star_half' + | 'yt-sys-icons:stopwatch' + | 'yt-sys-icons:subscribe-filled' + | 'yt-sys-icons:subscribe' + | 'yt-sys-icons:subscriptions-filled' + | 'yt-sys-icons:subscriptions' + | 'yt-sys-icons:subtitles-filled' + | 'yt-sys-icons:subtitles' + | 'yt-sys-icons:super_chat_for_good-filled' + | 'yt-sys-icons:super_chat_for_good' + | 'yt-sys-icons:super_sticker-filled' + | 'yt-sys-icons:super_sticker' + | 'yt-sys-icons:superstar' + | 'yt-sys-icons:switch_accounts-filled' + | 'yt-sys-icons:switch_accounts' + | 'yt-sys-icons:tab_home-filled' + | 'yt-sys-icons:tab_home' + | 'yt-sys-icons:tab_shorts-filled' + | 'yt-sys-icons:tab_shorts' + | 'yt-sys-icons:tablet' + | 'yt-sys-icons:tic_tac_toe-filled' + | 'yt-sys-icons:tic_tac_toe' + | 'yt-sys-icons:trailer-filled' + | 'yt-sys-icons:trailer' + | 'yt-sys-icons:transcript' + | 'yt-sys-icons:transcript_search' + | 'yt-sys-icons:translate-filled' + | 'yt-sys-icons:translate' + | 'yt-sys-icons:trending_up' + | 'yt-sys-icons:trophy-filled' + | 'yt-sys-icons:trophy' + | 'yt-sys-icons:trophy_star' + | 'yt-sys-icons:tune-filled' + | 'yt-sys-icons:tune' + | 'yt-sys-icons:tv_circle-filled' + | 'yt-sys-icons:tv_circle' + | 'yt-sys-icons:up_arrow-filled' + | 'yt-sys-icons:up_arrow' + | 'yt-sys-icons:upload' + | 'yt-sys-icons:uploads-filled' + | 'yt-sys-icons:uploads' + | 'yt-sys-icons:vertical_align_top' + | 'yt-sys-icons:very_happy-filled' + | 'yt-sys-icons:very_happy' + | 'yt-sys-icons:very_sad-filled' + | 'yt-sys-icons:very_sad' + | 'yt-sys-icons:video_call-filled' + | 'yt-sys-icons:video_call' + | 'yt-sys-icons:video_camera' + | 'yt-sys-icons:video_link' + | 'yt-sys-icons:view_list-filled' + | 'yt-sys-icons:view_list' + | 'yt-sys-icons:view_module-filled' + | 'yt-sys-icons:view_module' + | 'yt-sys-icons:visibility-filled' + | 'yt-sys-icons:visibility' + | 'yt-sys-icons:visibility_off' + | 'yt-sys-icons:volume_off' + | 'yt-sys-icons:volume_up-filled' + | 'yt-sys-icons:volume_up' + | 'yt-sys-icons:vpn_key' + | 'yt-sys-icons:vr-filled' + | 'yt-sys-icons:vr' + | 'yt-sys-icons:warning-filled' + | 'yt-sys-icons:warning' + | 'yt-sys-icons:watch_history-filled' + | 'yt-sys-icons:watch_history' + | 'yt-sys-icons:watch_later-filled' + | 'yt-sys-icons:watch_later' + | 'yt-sys-icons:x_circle' + | 'yt-sys-icons:x_octagon' + | 'yt-sys-icons:yen_sign_container' + | 'yt-sys-icons:youtube_improve_tv' + | 'yt-sys-icons:youtube_linked_tv' + | 'yt-sys-icons:youtube_music_monochrome' + | 'yt-sys-icons:youtube_shorts_fill_no_triangle_red_16' + | 'yt-sys-icons:youtube_shorts_no_triangle-filled' + | 'yt-sys-icons:youtube_shorts_no_triangle' + | 'yt-sys-icons:youtube_studio_arrow_down-filled' + | 'yt-sys-icons:youtube_studio_arrow_up-filled' + | 'yt-sys-icons:zoom_in-filled' + | 'yt-sys-icons:zoom_in' + | 'yt-sys-icons:zoom_out-filled' + | 'yt-sys-icons:zoom_out'; +export type YtSysIcons12 = + | 'yt-sys-icons12:arrow_circle_right' + | 'yt-sys-icons12:keep-filled' + | 'yt-sys-icons12:keep' + | 'yt-sys-icons12:music-filled' + | 'yt-sys-icons12:music' + | 'yt-sys-icons12:rating_up'; +export type YtSysIcons13 = + | 'yt-sys-icons13:check-filled' + | 'yt-sys-icons13:check' + | 'yt-sys-icons13:check_circle_thick-filled' + | 'yt-sys-icons13:check_circle_thick' + | 'yt-sys-icons13:music-filled' + | 'yt-sys-icons13:music'; +export type YtSysIcons15 = + | 'yt-sys-icons15:open_in_new-filled' + | 'yt-sys-icons15:open_in_new'; +export type YtSysIcons16 = + | 'yt-sys-icons16:add' + | 'yt-sys-icons16:arrow_circle_right' + | 'yt-sys-icons16:arrow_solid_down-filled' + | 'yt-sys-icons16:arrow_solid_down' + | 'yt-sys-icons16:arrow_solid_up-filled' + | 'yt-sys-icons16:arrow_solid_up' + | 'yt-sys-icons16:bar_horizontal' + | 'yt-sys-icons16:check_circle_thick-filled' + | 'yt-sys-icons16:check_circle_thick' + | 'yt-sys-icons16:chevron_left' + | 'yt-sys-icons16:chevron_right' + | 'yt-sys-icons16:comment-filled' + | 'yt-sys-icons16:comment' + | 'yt-sys-icons16:dislike-filled' + | 'yt-sys-icons16:dislike' + | 'yt-sys-icons16:dollar_sign_circle-filled' + | 'yt-sys-icons16:dollar_sign_circle' + | 'yt-sys-icons16:fire' + | 'yt-sys-icons16:heart_circle' + | 'yt-sys-icons16:help-filled' + | 'yt-sys-icons16:help' + | 'yt-sys-icons16:info' + | 'yt-sys-icons16:like-filled' + | 'yt-sys-icons16:like' + | 'yt-sys-icons16:lock' + | 'yt-sys-icons16:message_bubble_question-filled' + | 'yt-sys-icons16:message_bubble_question' + | 'yt-sys-icons16:music-filled' + | 'yt-sys-icons16:music' + | 'yt-sys-icons16:open_in_new' + | 'yt-sys-icons16:podcast' + | 'yt-sys-icons16:radar_live' + | 'yt-sys-icons16:rating_up' + | 'yt-sys-icons16:rss' + | 'yt-sys-icons16:rss_off' + | 'yt-sys-icons16:super_sticker-filled' + | 'yt-sys-icons16:super_sticker' + | 'yt-sys-icons16:transcript' + | 'yt-sys-icons16:transcript_search' + | 'yt-sys-icons16:youtube_shorts_no_triangle-filled' + | 'yt-sys-icons16:youtube_shorts_no_triangle'; +export type YtSysIcons18 = + | 'yt-sys-icons18:arrow_circle_right' + | 'yt-sys-icons18:heart_circle' + | 'yt-sys-icons18:info' + | 'yt-sys-icons18:lock-filled' + | 'yt-sys-icons18:lock' + | 'yt-sys-icons18:music' + | 'yt-sys-icons18:podcast' + | 'yt-sys-icons18:privacy_public-filled' + | 'yt-sys-icons18:privacy_public'; +export type YtSysIcons20 = + | 'yt-sys-icons20:heart_circle' + | 'yt-sys-icons20:help-filled' + | 'yt-sys-icons20:help' + | 'yt-sys-icons20:mix-filled' + | 'yt-sys-icons20:mix'; +export type YtSysIcons36 = + | 'yt-sys-icons36:face_happy_v2-filled' + | 'yt-sys-icons36:face_happy_v2' + | 'yt-sys-icons36:face_meh_v2-filled' + | 'yt-sys-icons36:face_meh_v2' + | 'yt-sys-icons36:face_sad_v2-filled' + | 'yt-sys-icons36:face_sad_v2' + | 'yt-sys-icons36:face_unhappy_v2-filled' + | 'yt-sys-icons36:face_unhappy_v2' + | 'yt-sys-icons36:face_very_happy_v2-filled' + | 'yt-sys-icons36:face_very_happy_v2'; +export type YtSysIcons48 = + | 'yt-sys-icons48:broadcast' + | 'yt-sys-icons48:screen_default-filled' + | 'yt-sys-icons48:screen_default' + | 'yt-sys-icons48:screen_fullscreen-filled' + | 'yt-sys-icons48:screen_fullscreen' + | 'yt-sys-icons48:screen_miniplayer-filled' + | 'yt-sys-icons48:screen_miniplayer' + | 'yt-sys-icons48:screen_theatre-filled' + | 'yt-sys-icons48:screen_theatre'; +export type YtcpIcons = + | 'ytcp-icons:arrow-down-alt' + | 'ytcp-icons:arrow-right' + | 'ytcp-icons:arrow-up-alt' + | 'ytcp-icons:check-circle-outline' + | 'ytcp-icons:error-on-load-v2' + | 'ytcp-icons:error-on-load' + | 'ytcp-icons:escape-hatch' + | 'ytcp-icons:feature-search' + | 'ytcp-icons:first-page' + | 'ytcp-icons:last-page' + | 'ytcp-icons:no-comments' + | 'ytcp-icons:no-held-comments-v2' + | 'ytcp-icons:no-held-comments' + | 'ytcp-icons:no-search-match-v2' + | 'ytcp-icons:no-search-match' + | 'ytcp-icons:report-off' + | 'ytcp-icons:show-ranking' + | 'ytcp-icons:trend-down-circle-outline' + | 'ytcp-icons:trend-down-circle' + | 'ytcp-icons:trend-down' + | 'ytcp-icons:trend-up-circle' + | 'ytcp-icons:trend-up' + | 'ytcp-icons:web-traffic' + | 'ytcp-icons:zoom-in' + | 'ytcp-icons:zoom-out'; export type Icons = | GeneralIcons diff --git a/src/youtube-music.css b/src/youtube-music.css index 0c5156805f..2ac4f74d79 100644 --- a/src/youtube-music.css +++ b/src/youtube-music.css @@ -10,7 +10,6 @@ ytmusic-nav-bar::before { content: ''; position: absolute; inset: 0; - -webkit-user-select: none; -webkit-app-region: drag; } @@ -28,7 +27,7 @@ a { -webkit-app-region: no-drag; } -/* custom style for navbar */ +/* Custom style for navbar */ ytmusic-app-layout { --ytmusic-nav-bar-height: 90px; } @@ -38,7 +37,7 @@ ytmusic-mealbar-promo-renderer { display: none !important; } -/* Disable Image Selection */ +/* Disable image selection */ img { -webkit-user-select: none; user-select: none; @@ -54,18 +53,18 @@ ytmusic-cast-button { display: none !important; } -/* Make youtube-music logo un-draggable */ +/* Make YouTube Music logo un-draggable */ ytmusic-nav-bar > div.left-content > a, ytmusic-nav-bar > div.left-content > a > picture > img { -webkit-user-drag: none; } -/* yt-music bugs */ +/* Fix YouTube Music bugs */ tp-yt-paper-item.ytmusic-guide-entry-renderer::before { border-radius: 8px !important; } -/* fix video player align */ +/* Fix video player alignment */ #av-id { padding-bottom: 0; } @@ -83,7 +82,7 @@ ytmusic-player[player-ui-state='FULLSCREEN'] { margin-top: calc(var(--menu-bar-height, 32px) * -1) !important; } -/* macos traffic lights fix */ +/* macOS traffic lights fix */ :where([data-os*='Macintosh']) ytmusic-app-layout#layout ytmusic-nav-bar { padding-top: var(--ytmusic-nav-bar-offset, 0); } @@ -92,6 +91,7 @@ ytmusic-player[player-ui-state='FULLSCREEN'] { --ytmusic-nav-bar-height: calc(90px + var(--ytmusic-nav-bar-offset, 0)); } +/* Prevent dragging in dropdowns and dialogs */ tp-yt-iron-dropdown, tp-yt-paper-dialog { app-region: no-drag; diff --git a/tsconfig.json b/tsconfig.json index 05af16360c..65e8aebd88 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,9 +2,15 @@ "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", "compilerOptions": { "target": "esnext", - "lib": ["dom", "dom.iterable", "es2022"], + "lib": [ + "dom", + "dom.iterable", + "es2022" + ], "module": "esnext", - "types": ["electron-vite/node"], + "types": [ + "electron-vite/node" + ], "allowSyntheticDefaultImports": true, "esModuleInterop": true, "resolveJsonModule": true, @@ -18,14 +24,20 @@ "strictFunctionTypes": true, "skipLibCheck": true, "paths": { - "@/*": ["./src/*"], - "@assets/*": ["./assets/*"] + "@/*": [ + "./src/*" + ], + "@assets/*": [ + "./assets/*" + ] } }, - "exclude": ["./dist"], + "exclude": [ + "./dist" + ], "include": [ "electron.vite.config.mts", "./src/**/*", - "*.config.*js", + "*.config.*js" ] -} +} \ No newline at end of file