From 18018979f2703ed52ccc0c0f0e539d77a500853f Mon Sep 17 00:00:00 2001
From: Nir Tamir <nirtamir2@gmail.com>
Date: Sat, 8 Jun 2024 15:58:50 +0300
Subject: [PATCH] format

---
 .github/workflows/release.yml                 |    2 +-
 README.md                                     |   29 +-
 eslint.config.ts                              |   11 +-
 fixtures/output/all/javascript.js             |   62 +-
 fixtures/output/all/jsx.jsx                   |   37 +-
 fixtures/output/all/markdown.md               |   29 +-
 fixtures/output/all/tsx.tsx                   |   16 +-
 fixtures/output/all/typescript.ts             |   64 +-
 fixtures/output/all/vue-ts.vue                |   21 +-
 fixtures/output/all/vue.vue                   |   16 +-
 fixtures/output/js/javascript.js              |   62 +-
 fixtures/output/js/markdown.md                |   29 +-
 .../no-markdown-with-formatters/javascript.js |   62 +-
 .../no-markdown-with-formatters/jsx.jsx       |   37 +-
 .../no-markdown-with-formatters/markdown.md   |   10 +-
 .../no-markdown-with-formatters/tsx.tsx       |   31 +-
 .../no-markdown-with-formatters/typescript.ts |   64 +-
 fixtures/output/no-style/javascript.js        |   47 +-
 fixtures/output/no-style/jsx.jsx              |   47 +-
 fixtures/output/no-style/typescript.ts        |   44 +-
 fixtures/output/no-style/vue-ts.vue           |   19 +-
 fixtures/output/no-style/vue.vue              |   12 +-
 .../output/tab-double-quotes/javascript.js    |   74 +-
 fixtures/output/tab-double-quotes/jsx.jsx     |   53 +-
 fixtures/output/tab-double-quotes/markdown.md |   33 +-
 fixtures/output/tab-double-quotes/tsx.tsx     |   48 +-
 .../output/tab-double-quotes/typescript.ts    |   82 +-
 fixtures/output/tab-double-quotes/vue-ts.vue  |   29 +-
 fixtures/output/tab-double-quotes/vue.vue     |   28 +-
 fixtures/output/ts-override/javascript.js     |   62 +-
 fixtures/output/ts-override/jsx.jsx           |   37 +-
 fixtures/output/ts-override/markdown.md       |   29 +-
 fixtures/output/ts-override/tsx.tsx           |   16 +-
 fixtures/output/ts-override/typescript.ts     |   68 +-
 fixtures/output/ts-override/vue-ts.vue        |   21 +-
 fixtures/output/ts-override/vue.vue           |   16 +-
 fixtures/output/with-formatters/css.css       |    2 +-
 fixtures/output/with-formatters/html.html     |   14 +-
 fixtures/output/with-formatters/javascript.js |   62 +-
 fixtures/output/with-formatters/jsx.jsx       |   37 +-
 fixtures/output/with-formatters/markdown.md   |    4 +-
 fixtures/output/with-formatters/tsx.tsx       |   16 +-
 fixtures/output/with-formatters/typescript.ts |   64 +-
 fixtures/output/with-formatters/vue-ts.vue    |   12 +-
 fixtures/output/with-formatters/vue.vue       |   16 +-
 pnpm-lock.yaml                                | 7344 +++++++++++------
 pnpm-workspace.yaml                           |    2 +-
 scripts/typegen.ts                            |    6 +-
 src/cli/constants.ts                          |   26 +-
 src/cli/index.ts                              |   52 +-
 src/cli/run.ts                                |  157 +-
 src/cli/stages/update-eslint-files.ts         |   28 +-
 src/cli/stages/update-package-json.ts         |   15 +-
 src/cli/stages/update-vscode-settings.ts      |    9 +-
 src/cli/types.ts                              |    8 +-
 src/cli/utils.ts                              |    7 +-
 src/configs/astro.ts                          |   21 +-
 src/configs/formatters.ts                     |   58 +-
 src/configs/i18n.ts                           |    2 +-
 src/configs/i18next-syntax-validator.mjs      |    8 +-
 src/configs/imports.ts                        |   14 +-
 src/configs/javascript.ts                     |  105 +-
 src/configs/jsdoc.ts                          |   12 +-
 src/configs/jsonc.ts                          |   39 +-
 src/configs/markdown.ts                       |   17 +-
 src/configs/react.ts                          |   86 +-
 src/configs/regexp.ts                         |   11 +-
 src/configs/security.ts                       |   11 +-
 src/configs/solid.ts                          |   43 +-
 src/configs/sort.ts                           |   10 +-
 src/configs/storybook.ts                      |   48 +-
 src/configs/stylistic.ts                      |   15 +-
 src/configs/svelte.ts                         |   71 +-
 src/configs/tailwindcss.ts                    |   11 +-
 src/configs/test.ts                           |   25 +-
 src/configs/toml.ts                           |   28 +-
 src/configs/typescript.ts                     |  114 +-
 src/configs/unocss.ts                         |   23 +-
 src/configs/vue.ts                            |  142 +-
 src/configs/yaml.ts                           |   30 +-
 src/factory.ts                                |  244 +-
 src/stub.d.ts                                 |    4 +-
 src/types.ts                                  |   20 +-
 src/utils.ts                                  |   66 +-
 test/cli.spec.ts                              |   49 +-
 test/fixtures.test.ts                         |  115 +-
 test/types.ts                                 |    4 +-
 tsconfig.json                                 |    9 +-
 tsup.config.ts                                |    5 +-
 89 files changed, 6734 insertions(+), 3954 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 52bd15539c..0d521febc3 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,7 +3,7 @@ name: Release
 on:
   push:
     tags:
-      - 'v*'
+      - "v*"
 
 jobs:
   release:
diff --git a/README.md b/README.md
index 3b5012dcd5..7bded559e0 100644
--- a/README.md
+++ b/README.md
@@ -73,7 +73,7 @@ export default nirtamir2(
       "eslint:recommended",
       // Other extends...
     ],
-  }),
+  })
 
   // Other flat configs...
 );
@@ -222,7 +222,7 @@ export default nirtamir2(
   },
   {
     rules: {},
-  },
+  }
 );
 ```
 
@@ -269,7 +269,7 @@ export default combine(
   jsonc(),
   yaml(),
   toml(),
-  markdown(),
+  markdown()
 );
 ```
 
@@ -304,7 +304,7 @@ export default nirtamir2(
     rules: {
       "@stylistic/semi": ["error", "never"],
     },
-  },
+  }
 );
 ```
 
@@ -342,18 +342,15 @@ The factory function `nirtamir2()` returns a [`FlatConfigComposer` object from `
 import nirtamir2 from "@nirtamir2/eslint-config";
 
 export default nirtamir2()
-  .prepend(
-    // some configs before the main config
-  )
+  .prepend
+  // some configs before the main config
+  ()
   // overrides any named configs
-  .override(
-    "nirtamir2/imports",
-    {
-      rules: {
-        "import/order": ["error", { "newlines-between": "always" }],
-      },
+  .override("nirtamir2/imports", {
+    rules: {
+      "import/order": ["error", { "newlines-between": "always" }],
     },
-  )
+  })
   // rename plugin prefixes
   .renamePlugins({
     "old-prefix": "new-prefix",
@@ -551,8 +548,8 @@ You can add the trigger comment one line above the code you want to transform, f
 ```ts
 /// to-function
 const foo = async (msg: string): void => {
-  console.log(msg)
-}
+  console.log(msg);
+};
 ```
 
 Will be transformed to this when you hit save with your editor or run `eslint . --fix`:
diff --git a/eslint.config.ts b/eslint.config.ts
index ed192193de..76b9e47e39 100644
--- a/eslint.config.ts
+++ b/eslint.config.ts
@@ -8,7 +8,8 @@ export default nirtamir2(
     svelte: true,
     astro: true,
     typescript: true,
-    formatters: true,
+    formatters: false,
+    stylistic: false,
   },
   {
     rules: {
@@ -25,11 +26,7 @@ export default nirtamir2(
       "unicorn/consistent-destructuring": "off",
       "@typescript-eslint/no-non-null-assertion": "off",
       "@typescript-eslint/init-declarations": "off",
-
     },
-    ignores: [
-      "fixtures",
-      "_fixtures",
-    ],
-  },
+    ignores: ["fixtures/**", "_fixtures/**"],
+  }
 );
diff --git a/fixtures/output/all/javascript.js b/fixtures/output/all/javascript.js
index e0702598c7..ebb98c3ab7 100644
--- a/fixtures/output/all/javascript.js
+++ b/fixtures/output/all/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
-    this.name = name
-    this.age = age
+    this.name = name;
+    this.age = age;
   }
 
   // Define a method within the class
   sayHello() {
-    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
   }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-  person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON')
-}
-catch (error) {
-  console.error('Error parsing JSON:', error.message)
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.')
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-  || b
-  || c || d
-  || (d && b)
-) {
-  foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/all/jsx.jsx b/fixtures/output/all/jsx.jsx
index 00b19dfbf6..5fe8bfd271 100644
--- a/fixtures/output/all/jsx.jsx
+++ b/fixtures/output/all/jsx.jsx
@@ -1,27 +1,34 @@
 export function HelloWorld({
-  greeting = 'hello',
+  greeting = "hello",
   greeted = '"World"',
   silent = false,
   onMouseOver,
 }) {
   if (!greeting) {
-    return null
-  };
+    return null;
+  }
 
   // TODO: Don't use random in render
-  const num = Math.floor (Math.random() * 1e+7).toString()
-    .replace(/\.\d+/g, '')
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
   return (
-    <div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver}>
-      <strong>{ greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-      {greeting.endsWith(',')
-        ? ' '
-        : <span style={{ color: '\grey' }}>", "</span> }
-      <em>
-        { greeted }
-      </em>
-      { (silent) ? '.' : '!'}
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
     </div>
-  )
+  );
 }
diff --git a/fixtures/output/all/markdown.md b/fixtures/output/all/markdown.md
index a66c94c891..6b24021562 100644
--- a/fixtures/output/all/markdown.md
+++ b/fixtures/output/all/markdown.md
@@ -1,34 +1,35 @@
-Header
-======
+# Header
 
-_Look,_ code blocks are formatted *too!*
+_Look,_ code blocks are formatted _too!_
 
 ```js
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
   if (foo) {
-    console.log('bar')
+    console.log("bar");
   }
 }
 ```
 
 ```css
 /* This should be handled by Prettier */
-.foo { color:red;}
+.foo {
+  color: red;
+}
 ```
 
-Pilot|Airport|Hours
---|:--:|--:
-John Doe|SKG|1338
-Jane Roe|JFK|314
+| Pilot    | Airport | Hours |
+| -------- | :-----: | ----: |
+| John Doe |   SKG   |  1338 |
+| Jane Roe |   JFK   |   314 |
 
-- - - - - - - - - - - - - - -
+---
 
-+ List
- + with a [link] (/to/somewhere)
-+ and [another one]
+- List
+- with a [link] (/to/somewhere)
+- and [another one]
 
-  [another one]:  http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/all/tsx.tsx b/fixtures/output/all/tsx.tsx
index ab640af672..550b2ee0a1 100644
--- a/fixtures/output/all/tsx.tsx
+++ b/fixtures/output/all/tsx.tsx
@@ -1,21 +1,15 @@
 export function Component1() {
-  return <div />
+  return <div />;
 }
 
 export function jsx2() {
-  const props = { a: 1, b: 2 }
+  const props = { a: 1, b: 2 };
   return (
     <a foo="bar" bar="foo">
-      <div
-        {...props}
-        a={1}
-        b="2"
-      >
+      <div {...props} a={1} b="2">
         Inline Text
       </div>
-      <Component1>
-        Block Text
-      </Component1>
+      <Component1>Block Text</Component1>
       <div>
         Mixed
         <div>Foo</div>
@@ -28,5 +22,5 @@ export function jsx2() {
         <b>baz</b>
       </p>
     </a>
-  )
+  );
 }
diff --git a/fixtures/output/all/typescript.ts b/fixtures/output/all/typescript.ts
index 29016e3855..1c175a1517 100644
--- a/fixtures/output/all/typescript.ts
+++ b/fixtures/output/all/typescript.ts
@@ -1,84 +1,82 @@
 // Define a TypeScript interface
 interface Person {
-  name: string
-  age: number
+  name: string;
+  age: number;
 }
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-  { name: 'Alice', age: 30 },
-  { name: 'Bob', age: 25 },
-  { name: 'Charlie', age: 35 },
-]
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
+];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
-  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`)
+  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
 }
 
 // Define a generic function
-function identity< T >(arg: T): T {
-  return arg
+function identity<T>(arg: T): T {
+  return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-  'TypeScript is awesome',
-)
-log(result)
+const result = identity("TypeScript is awesome");
+log(result);
 
 // Use optional properties in an interface
 interface Car {
-  make: string
-  model?: string
+  make: string;
+  model?: string;
 }
 
 // Create objects using the interface
-const car1: Car = { make: 'Toyota' }
+const car1: Car = { make: "Toyota" };
 const car2: Car = {
-  make: 'Ford',
-  model: 'Focus',
-}
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = 'apple' | 'banana' | 'orange'
-const favoriteFruit: Fruit = 'apple'
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = '42'
-const numericValue = inputValue as number
+const inputValue: any = "42";
+const numericValue = inputValue as number;
 
 // Define a class with access modifiers
 class Animal {
-  private name: string
+  private name: string;
   constructor(name: string) {
-    this.name = name
+    this.name = name;
   }
 
   protected makeSound(sound: string) {
-    log(`${this.name} says ${sound}`)
+    log(`${this.name} says ${sound}`);
   }
 }
 
 // Extend a class
 class Dog extends Animal {
   constructor(private alias: string) {
-    super(alias)
+    super(alias);
   }
 
   bark() {
-    this.makeSound('Woof!')
+    this.makeSound("Woof!");
   }
 }
 
-const dog = new Dog('Buddy')
-dog.bark()
+const dog = new Dog("Buddy");
+dog.bark();
 
 function fn(): string {
-  return `hello${1}`
+  return `hello${1}`;
 }
 
-log(car1, car2, favoriteFruit, numericValue, fn())
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/all/vue-ts.vue b/fixtures/output/all/vue-ts.vue
index ce35e66b0c..37620904b1 100644
--- a/fixtures/output/all/vue-ts.vue
+++ b/fixtures/output/all/vue-ts.vue
@@ -1,35 +1,36 @@
 <script setup lang="ts">
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref('Hello, Vue 3!')
-const counter = ref<number | 1>(0)
+const greeting = ref("Hello, Vue 3!");
+const counter = ref<number | 1>(0);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 </script>
 
 <template>
   <div>
     <h1>{{ greeting }}</h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
 
 <style>
-.a {  color:   red }
+.a {
+  color: red;
+}
 </style>
 
 <style lang="scss">
 $font-stack: Helvetica, sans-serif;
-$primary-color:   #333;
+$primary-color: #333;
 
-body { font: 100% $font-stack;
+body {
+  font: 100% $font-stack;
   color: $primary-color;
 }
 </style>
diff --git a/fixtures/output/all/vue.vue b/fixtures/output/all/vue.vue
index 944cc4e569..42770de608 100644
--- a/fixtures/output/all/vue.vue
+++ b/fixtures/output/all/vue.vue
@@ -1,17 +1,17 @@
 <script setup>
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref(`Hello, Vue 3!${1}`)
-const counter = ref(0)
-const doubled = computed(() => counter.value * 2)
+const greeting = ref(`Hello, Vue 3!${1}`);
+const counter = ref(0);
+const doubled = computed(() => counter.value * 2);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 
-const _zero = doubled.value + counter.value
+const _zero = doubled.value + counter.value;
 </script>
 
 <template>
@@ -19,9 +19,7 @@ const _zero = doubled.value + counter.value
     <h1>
       {{ greeting }}
     </h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
diff --git a/fixtures/output/js/javascript.js b/fixtures/output/js/javascript.js
index e0702598c7..ebb98c3ab7 100644
--- a/fixtures/output/js/javascript.js
+++ b/fixtures/output/js/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
-    this.name = name
-    this.age = age
+    this.name = name;
+    this.age = age;
   }
 
   // Define a method within the class
   sayHello() {
-    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
   }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-  person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON')
-}
-catch (error) {
-  console.error('Error parsing JSON:', error.message)
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.')
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-  || b
-  || c || d
-  || (d && b)
-) {
-  foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/js/markdown.md b/fixtures/output/js/markdown.md
index a66c94c891..6b24021562 100644
--- a/fixtures/output/js/markdown.md
+++ b/fixtures/output/js/markdown.md
@@ -1,34 +1,35 @@
-Header
-======
+# Header
 
-_Look,_ code blocks are formatted *too!*
+_Look,_ code blocks are formatted _too!_
 
 ```js
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
   if (foo) {
-    console.log('bar')
+    console.log("bar");
   }
 }
 ```
 
 ```css
 /* This should be handled by Prettier */
-.foo { color:red;}
+.foo {
+  color: red;
+}
 ```
 
-Pilot|Airport|Hours
---|:--:|--:
-John Doe|SKG|1338
-Jane Roe|JFK|314
+| Pilot    | Airport | Hours |
+| -------- | :-----: | ----: |
+| John Doe |   SKG   |  1338 |
+| Jane Roe |   JFK   |   314 |
 
-- - - - - - - - - - - - - - -
+---
 
-+ List
- + with a [link] (/to/somewhere)
-+ and [another one]
+- List
+- with a [link] (/to/somewhere)
+- and [another one]
 
-  [another one]:  http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/no-markdown-with-formatters/javascript.js b/fixtures/output/no-markdown-with-formatters/javascript.js
index e0702598c7..ebb98c3ab7 100644
--- a/fixtures/output/no-markdown-with-formatters/javascript.js
+++ b/fixtures/output/no-markdown-with-formatters/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
-    this.name = name
-    this.age = age
+    this.name = name;
+    this.age = age;
   }
 
   // Define a method within the class
   sayHello() {
-    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
   }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-  person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON')
-}
-catch (error) {
-  console.error('Error parsing JSON:', error.message)
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.')
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-  || b
-  || c || d
-  || (d && b)
-) {
-  foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/no-markdown-with-formatters/jsx.jsx b/fixtures/output/no-markdown-with-formatters/jsx.jsx
index 5013fde08f..5fe8bfd271 100644
--- a/fixtures/output/no-markdown-with-formatters/jsx.jsx
+++ b/fixtures/output/no-markdown-with-formatters/jsx.jsx
@@ -1,25 +1,34 @@
 export function HelloWorld({
-  greeting = 'hello',
+  greeting = "hello",
   greeted = '"World"',
   silent = false,
   onMouseOver,
 }) {
   if (!greeting) {
-    return null
-  };
+    return null;
+  }
 
   // TODO: Don't use random in render
-  const num = Math.floor (Math.random() * 1e+7).toString()
-    .replace(/\.\d+/g, '')
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
-  return <div className='HelloWorld' title={`You are visitor number ${num}`} onMouseOver={onMouseOver}>
-    <strong>{ greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-    {greeting.endsWith(',')
-      ? ' '
-      : <span style={{ color: '\grey' }}>", "</span> }
-    <em>
-  { greeted }
-  </em>
-    { (silent) ? '.' : '!'}
+  return (
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
     </div>
+  );
 }
diff --git a/fixtures/output/no-markdown-with-formatters/markdown.md b/fixtures/output/no-markdown-with-formatters/markdown.md
index b049fd9262..6b24021562 100644
--- a/fixtures/output/no-markdown-with-formatters/markdown.md
+++ b/fixtures/output/no-markdown-with-formatters/markdown.md
@@ -6,14 +6,16 @@ _Look,_ code blocks are formatted _too!_
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
   if (foo) {
-    console.log('bar');
-  }
+    console.log("bar");
   }
+}
 ```
 
 ```css
 /* This should be handled by Prettier */
-.foo { color:red;}
+.foo {
+  color: red;
+}
 ```
 
 | Pilot    | Airport | Hours |
@@ -27,7 +29,7 @@ function identity(x) {
 - with a [link] (/to/somewhere)
 - and [another one]
 
-  [another one]: http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/no-markdown-with-formatters/tsx.tsx b/fixtures/output/no-markdown-with-formatters/tsx.tsx
index bc5c456097..6fa1309eb2 100644
--- a/fixtures/output/no-markdown-with-formatters/tsx.tsx
+++ b/fixtures/output/no-markdown-with-formatters/tsx.tsx
@@ -1,21 +1,24 @@
 export function Component1() {
-  return <div/>
+  return <div />;
 }
 
 export function jsx2() {
-  const props = { a: 1, b: 2 }
-  return < a foo= 'bar' bar={`foo` } >
-     <div {...props } a={1} b="2">Inline Text</div>
-    <Component1>
-      Block Text
-      </Component1>
+  const props = { a: 1, b: 2 };
+  return (
+    <a foo="bar" bar={`foo`}>
+      <div {...props} a={1} b="2">
+        Inline Text
+      </div>
+      <Component1>Block Text</Component1>
       <div>
         Mixed
-            <div>Foo</div>
-          Text<b > Bar</b>
-        </div>
-        <p>
-          foo<i>bar</i><b>baz</b>
-        </p>
-      </ a >
+        <div>Foo</div>
+        Text<b> Bar</b>
+      </div>
+      <p>
+        foo<i>bar</i>
+        <b>baz</b>
+      </p>
+    </a>
+  );
 }
diff --git a/fixtures/output/no-markdown-with-formatters/typescript.ts b/fixtures/output/no-markdown-with-formatters/typescript.ts
index 29016e3855..1c175a1517 100644
--- a/fixtures/output/no-markdown-with-formatters/typescript.ts
+++ b/fixtures/output/no-markdown-with-formatters/typescript.ts
@@ -1,84 +1,82 @@
 // Define a TypeScript interface
 interface Person {
-  name: string
-  age: number
+  name: string;
+  age: number;
 }
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-  { name: 'Alice', age: 30 },
-  { name: 'Bob', age: 25 },
-  { name: 'Charlie', age: 35 },
-]
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
+];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
-  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`)
+  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
 }
 
 // Define a generic function
-function identity< T >(arg: T): T {
-  return arg
+function identity<T>(arg: T): T {
+  return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-  'TypeScript is awesome',
-)
-log(result)
+const result = identity("TypeScript is awesome");
+log(result);
 
 // Use optional properties in an interface
 interface Car {
-  make: string
-  model?: string
+  make: string;
+  model?: string;
 }
 
 // Create objects using the interface
-const car1: Car = { make: 'Toyota' }
+const car1: Car = { make: "Toyota" };
 const car2: Car = {
-  make: 'Ford',
-  model: 'Focus',
-}
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = 'apple' | 'banana' | 'orange'
-const favoriteFruit: Fruit = 'apple'
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = '42'
-const numericValue = inputValue as number
+const inputValue: any = "42";
+const numericValue = inputValue as number;
 
 // Define a class with access modifiers
 class Animal {
-  private name: string
+  private name: string;
   constructor(name: string) {
-    this.name = name
+    this.name = name;
   }
 
   protected makeSound(sound: string) {
-    log(`${this.name} says ${sound}`)
+    log(`${this.name} says ${sound}`);
   }
 }
 
 // Extend a class
 class Dog extends Animal {
   constructor(private alias: string) {
-    super(alias)
+    super(alias);
   }
 
   bark() {
-    this.makeSound('Woof!')
+    this.makeSound("Woof!");
   }
 }
 
-const dog = new Dog('Buddy')
-dog.bark()
+const dog = new Dog("Buddy");
+dog.bark();
 
 function fn(): string {
-  return `hello${1}`
+  return `hello${1}`;
 }
 
-log(car1, car2, favoriteFruit, numericValue, fn())
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/no-style/javascript.js b/fixtures/output/no-style/javascript.js
index 9ee4a7ca32..ebb98c3ab7 100644
--- a/fixtures/output/no-style/javascript.js
+++ b/fixtures/output/no-style/javascript.js
@@ -1,30 +1,30 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
     this.name = name;
-      this.age = age;
+    this.age = age;
   }
 
-// Define a method within the class
-sayHello() {
-  log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
-}
+  // Define a method within the class
+  sayHello() {
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
+  }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35)
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
 ];
 
 // Use the forEach method to iterate over the array
-people.forEach(person => {
+people.forEach((person) => {
   person.sayHello();
 });
 
@@ -36,7 +36,10 @@ const multilineString = `
 
 // Use destructuring assignment to extract values from an object
 const { name, age } = people[0];
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString);
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
 const numbers = [1, 2, 3];
@@ -46,27 +49,23 @@ log(newNumbers);
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON');
+  JSON.parse("invalid JSON");
 } catch (error) {
-  console.error('Error parsing JSON:', error.message);
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0;
+const isEven = (num) => num % 2 === 0;
 const number = 7;
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`);
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.');
+  log("This code runs after a delay of 2 seconds.");
 }, 2000);
 
-let a, b, c,   d,   foo
+let a, b, c, d, foo;
 
-if (a 
-  || b 
-      || c || d
-        || (d && b)
-        ) {
-          foo()
-        }
+if (a || b || c || d || (d && b)) {
+  foo();
+}
diff --git a/fixtures/output/no-style/jsx.jsx b/fixtures/output/no-style/jsx.jsx
index ce5c0332a0..5fe8bfd271 100644
--- a/fixtures/output/no-style/jsx.jsx
+++ b/fixtures/output/no-style/jsx.jsx
@@ -1,21 +1,34 @@
 export function HelloWorld({
-  greeting = "hello", greeted = '"World"', silent = false, onMouseOver,}) {
+  greeting = "hello",
+  greeted = '"World"',
+  silent = false,
+  onMouseOver,
+}) {
+  if (!greeting) {
+    return null;
+  }
 
-  if(!greeting){
-    return null};
-
-      // TODO: Don't use random in render
-  const num = Math.floor (Math.random() * 1e+7).toString()
-  .replace(/\.\d+/g, "")
-
-  return <div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}>
-    <strong>{ greeting.slice( 0, 1 ).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-    {greeting.endsWith(",") 
-    ? " " : <span style={{color: '\grey'}}>", "</span> }
-    <em>
-  { greeted }
-  </em>
-    { (silent)? ".": "!"}
-    </div>;
+  // TODO: Don't use random in render
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
+  return (
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
+    </div>
+  );
 }
diff --git a/fixtures/output/no-style/typescript.ts b/fixtures/output/no-style/typescript.ts
index 1cf34cafb5..db36442584 100644
--- a/fixtures/output/no-style/typescript.ts
+++ b/fixtures/output/no-style/typescript.ts
@@ -1,18 +1,18 @@
 // Define a TypeScript interface
-interface Person { 
-  name: string; age: number;
+interface Person {
+  name: string;
+  age: number;
 }
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-  { name: 'Alice', age: 30 },
- { name: 'Bob', age: 25 },
-  { name: 'Charlie', 
-  age: 35 }
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
 ];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
@@ -20,13 +20,12 @@ for (const person of people) {
 }
 
 // Define a generic function
-function identity< T  >(arg: T): T {
+function identity<T>(arg: T): T {
   return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-  'TypeScript is awesome');
+const result = identity("TypeScript is awesome");
 log(result);
 
 // Use optional properties in an interface
@@ -36,16 +35,18 @@ interface Car {
 }
 
 // Create objects using the interface
-const car1: Car = { make: 'Toyota' };
-const car2:  Car = { 
-  make: 'Ford', model: 'Focus' };
+const car1: Car = { make: "Toyota" };
+const car2: Car = {
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = 'apple' | 'banana' | 'orange';
-const favoriteFruit: Fruit = 'apple';
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = '42';
+const inputValue: any = "42";
 const numericValue = inputValue as number;
 
 // Define a class with access modifiers
@@ -65,16 +66,15 @@ class Dog extends Animal {
     super(alias);
   }
   bark() {
-    this.makeSound('Woof!');
+    this.makeSound("Woof!");
   }
 }
 
-const dog = new Dog('Buddy');
+const dog = new Dog("Buddy");
 dog.bark();
 
 const fn = (): string => {
-  return `hello${  1}`
-}
-
-log(car1, car2, favoriteFruit, numericValue, fn())
+  return `hello${1}`;
+};
 
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/no-style/vue-ts.vue b/fixtures/output/no-style/vue-ts.vue
index 944abcf50c..8a94fc878a 100644
--- a/fixtures/output/no-style/vue-ts.vue
+++ b/fixtures/output/no-style/vue-ts.vue
@@ -1,9 +1,9 @@
 <script setup lang="ts">
 // Define reactive data and props
-import { ref } from 'vue';
+import { ref } from "vue";
 
-const greeting = ref('Hello, Vue 3!');
-const counter = ref<number  | 1>(0);
+const greeting = ref("Hello, Vue 3!");
+const counter = ref<number | 1>(0);
 
 // Define a function
 const incrementCounter = () => {
@@ -14,22 +14,23 @@ const incrementCounter = () => {
 <template>
   <div>
     <h1>{{ greeting }}</h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
 
 <style>
-.a {  color:   red }
+.a {
+  color: red;
+}
 </style>
 
 <style lang="scss">
 $font-stack: Helvetica, sans-serif;
-$primary-color:   #333;
+$primary-color: #333;
 
-body { font: 100% $font-stack;
+body {
+  font: 100% $font-stack;
   color: $primary-color;
 }
 </style>
diff --git a/fixtures/output/no-style/vue.vue b/fixtures/output/no-style/vue.vue
index 36b2ff6d8f..33d19d573c 100644
--- a/fixtures/output/no-style/vue.vue
+++ b/fixtures/output/no-style/vue.vue
@@ -1,9 +1,9 @@
 <script setup>
 // Define reactive data and props
-import { ref  } from 'vue';
+import { ref } from "vue";
 
-const greeting = ref(`Hello, Vue 3!${  1}`);
-const counter = ref(0)
+const greeting = ref(`Hello, Vue 3!${1}`);
+const counter = ref(0);
 const doubled = computed(() => counter.value * 2);
 
 // Define a function
@@ -11,7 +11,7 @@ const incrementCounter = () => {
   counter.value++;
 };
 
-const _zero = doubled.value + counter.value
+const _zero = doubled.value + counter.value;
 </script>
 
 <template>
@@ -19,9 +19,7 @@ const _zero = doubled.value + counter.value
     <h1>
       {{ greeting }}
     </h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
diff --git a/fixtures/output/tab-double-quotes/javascript.js b/fixtures/output/tab-double-quotes/javascript.js
index 3918d13886..ebb98c3ab7 100644
--- a/fixtures/output/tab-double-quotes/javascript.js
+++ b/fixtures/output/tab-double-quotes/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
-	constructor(name, age) {
-		this.name = name
-		this.age = age
-	}
+  constructor(name, age) {
+    this.name = name;
+    this.age = age;
+  }
 
-	// Define a method within the class
-	sayHello() {
-		log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
-	}
+  // Define a method within the class
+  sayHello() {
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
+  }
 }
 
 // Create an array of objects
 const people = [
-	new Person("Alice", 30),
-	new Person("Bob", 25),
-	new Person("Charlie", 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-	person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
-	// Attempt to parse an invalid JSON string
-	JSON.parse("invalid JSON")
-}
-catch (error) {
-	console.error("Error parsing JSON:", error.message)
+  // Attempt to parse an invalid JSON string
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? "even" : "odd"}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-	log("This code runs after a delay of 2 seconds.")
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-	|| b
-	|| c || d
-	|| (d && b)
-) {
-	foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/tab-double-quotes/jsx.jsx b/fixtures/output/tab-double-quotes/jsx.jsx
index 38c6177c51..5fe8bfd271 100644
--- a/fixtures/output/tab-double-quotes/jsx.jsx
+++ b/fixtures/output/tab-double-quotes/jsx.jsx
@@ -1,27 +1,34 @@
 export function HelloWorld({
-	greeting = "hello",
-	greeted = "\"World\"",
-	silent = false,
-	onMouseOver,
-	 }) {
-	if (!greeting) {
-		return null
-	};
+  greeting = "hello",
+  greeted = '"World"',
+  silent = false,
+  onMouseOver,
+}) {
+  if (!greeting) {
+    return null;
+  }
 
-	// TODO: Don't use random in render
-	const num = Math.floor (Math.random() * 1e+7).toString()
-		.replace(/\.\d+/g, "")
+  // TODO: Don't use random in render
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
-	return (
-		<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver}>
-			<strong>{ greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-			{greeting.endsWith(",")
-    	? " "
-				: <span style={{ color: "\grey" }}>", "</span> }
-			<em>
-				{ greeted }
-			</em>
-			{ (silent) ? "." : "!"}
-		</div>
-	)
+  return (
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
+    </div>
+  );
 }
diff --git a/fixtures/output/tab-double-quotes/markdown.md b/fixtures/output/tab-double-quotes/markdown.md
index c9616151a7..6b24021562 100644
--- a/fixtures/output/tab-double-quotes/markdown.md
+++ b/fixtures/output/tab-double-quotes/markdown.md
@@ -1,34 +1,35 @@
-Header
-======
+# Header
 
-_Look,_ code blocks are formatted *too!*
+_Look,_ code blocks are formatted _too!_
 
 ```js
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
-	if (foo) {
-		console.log("bar")
-	}
+  if (foo) {
+    console.log("bar");
+  }
 }
 ```
 
 ```css
 /* This should be handled by Prettier */
-.foo { color:red;}
+.foo {
+  color: red;
+}
 ```
 
-Pilot|Airport|Hours
---|:--:|--:
-John Doe|SKG|1338
-Jane Roe|JFK|314
+| Pilot    | Airport | Hours |
+| -------- | :-----: | ----: |
+| John Doe |   SKG   |  1338 |
+| Jane Roe |   JFK   |   314 |
 
-- - - - - - - - - - - - - - -
+---
 
-+ List
- + with a [link] (/to/somewhere)
-+ and [another one]
+- List
+- with a [link] (/to/somewhere)
+- and [another one]
 
-  [another one]:  http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/tab-double-quotes/tsx.tsx b/fixtures/output/tab-double-quotes/tsx.tsx
index 2f56c5c4a8..550b2ee0a1 100644
--- a/fixtures/output/tab-double-quotes/tsx.tsx
+++ b/fixtures/output/tab-double-quotes/tsx.tsx
@@ -1,32 +1,26 @@
 export function Component1() {
-	return <div />
+  return <div />;
 }
 
 export function jsx2() {
-	const props = { a: 1, b: 2 }
-	return (
-		<a foo="bar" bar="foo">
-			<div
-				{...props}
-				a={1}
-				b="2"
-			>
-				Inline Text
-			</div>
-			<Component1>
-				Block Text
-			</Component1>
-			<div>
-				Mixed
-				<div>Foo</div>
-				Text
-				<b> Bar</b>
-			</div>
-			<p>
-				foo
-				<i>bar</i>
-				<b>baz</b>
-			</p>
-		</a>
-	)
+  const props = { a: 1, b: 2 };
+  return (
+    <a foo="bar" bar="foo">
+      <div {...props} a={1} b="2">
+        Inline Text
+      </div>
+      <Component1>Block Text</Component1>
+      <div>
+        Mixed
+        <div>Foo</div>
+        Text
+        <b> Bar</b>
+      </div>
+      <p>
+        foo
+        <i>bar</i>
+        <b>baz</b>
+      </p>
+    </a>
+  );
 }
diff --git a/fixtures/output/tab-double-quotes/typescript.ts b/fixtures/output/tab-double-quotes/typescript.ts
index d0bcb65ba1..1c175a1517 100644
--- a/fixtures/output/tab-double-quotes/typescript.ts
+++ b/fixtures/output/tab-double-quotes/typescript.ts
@@ -1,84 +1,82 @@
 // Define a TypeScript interface
 interface Person {
-	name: string
-	age: number
+  name: string;
+  age: number;
 }
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-	{ name: "Alice", age: 30 },
-	{ name: "Bob", age: 25 },
-	{ name: "Charlie", age: 35 },
-]
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
+];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
-	log(`Hello, my name is ${person.name} and I am ${person.age} years old.`)
+  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
 }
 
 // Define a generic function
-function identity< T >(arg: T): T {
-	return arg
+function identity<T>(arg: T): T {
+  return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-	"TypeScript is awesome",
-)
-log(result)
+const result = identity("TypeScript is awesome");
+log(result);
 
 // Use optional properties in an interface
 interface Car {
-	make: string
-	model?: string
+  make: string;
+  model?: string;
 }
 
 // Create objects using the interface
-const car1: Car = { make: "Toyota" }
+const car1: Car = { make: "Toyota" };
 const car2: Car = {
-	make: "Ford",
-	model: "Focus",
-}
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = "apple" | "banana" | "orange"
-const favoriteFruit: Fruit = "apple"
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = "42"
-const numericValue = inputValue as number
+const inputValue: any = "42";
+const numericValue = inputValue as number;
 
 // Define a class with access modifiers
 class Animal {
-	private name: string
-	constructor(name: string) {
-		this.name = name
-	}
-
-	protected makeSound(sound: string) {
-		log(`${this.name} says ${sound}`)
-	}
+  private name: string;
+  constructor(name: string) {
+    this.name = name;
+  }
+
+  protected makeSound(sound: string) {
+    log(`${this.name} says ${sound}`);
+  }
 }
 
 // Extend a class
 class Dog extends Animal {
-	constructor(private alias: string) {
-		super(alias)
-	}
+  constructor(private alias: string) {
+    super(alias);
+  }
 
-	bark() {
-		this.makeSound("Woof!")
-	}
+  bark() {
+    this.makeSound("Woof!");
+  }
 }
 
-const dog = new Dog("Buddy")
-dog.bark()
+const dog = new Dog("Buddy");
+dog.bark();
 
 function fn(): string {
-	return `hello${1}`
+  return `hello${1}`;
 }
 
-log(car1, car2, favoriteFruit, numericValue, fn())
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/tab-double-quotes/vue-ts.vue b/fixtures/output/tab-double-quotes/vue-ts.vue
index 00e3aaeae4..37620904b1 100644
--- a/fixtures/output/tab-double-quotes/vue-ts.vue
+++ b/fixtures/output/tab-double-quotes/vue-ts.vue
@@ -1,35 +1,36 @@
 <script setup lang="ts">
 // Define reactive data and props
-import { ref } from "vue"
+import { ref } from "vue";
 
-const greeting = ref("Hello, Vue 3!")
-const counter = ref<number | 1>(0)
+const greeting = ref("Hello, Vue 3!");
+const counter = ref<number | 1>(0);
 
 // Define a function
 function incrementCounter() {
-	counter.value++
+  counter.value++;
 }
 </script>
 
 <template>
-	<div>
-		<h1>{{ greeting }}</h1>
-		<button @click="incrementCounter">
-			Click me!
-		</button>
-		<p>Counter: {{ counter }}</p>
-	</div>
+  <div>
+    <h1>{{ greeting }}</h1>
+    <button @click="incrementCounter">Click me!</button>
+    <p>Counter: {{ counter }}</p>
+  </div>
 </template>
 
 <style>
-.a {  color:   red }
+.a {
+  color: red;
+}
 </style>
 
 <style lang="scss">
 $font-stack: Helvetica, sans-serif;
-$primary-color:   #333;
+$primary-color: #333;
 
-body { font: 100% $font-stack;
+body {
+  font: 100% $font-stack;
   color: $primary-color;
 }
 </style>
diff --git a/fixtures/output/tab-double-quotes/vue.vue b/fixtures/output/tab-double-quotes/vue.vue
index 1356a70c69..42770de608 100644
--- a/fixtures/output/tab-double-quotes/vue.vue
+++ b/fixtures/output/tab-double-quotes/vue.vue
@@ -1,27 +1,25 @@
 <script setup>
 // Define reactive data and props
-import { ref } from "vue"
+import { ref } from "vue";
 
-const greeting = ref(`Hello, Vue 3!${1}`)
-const counter = ref(0)
-const doubled = computed(() => counter.value * 2)
+const greeting = ref(`Hello, Vue 3!${1}`);
+const counter = ref(0);
+const doubled = computed(() => counter.value * 2);
 
 // Define a function
 function incrementCounter() {
-	counter.value++
+  counter.value++;
 }
 
-const _zero = doubled.value + counter.value
+const _zero = doubled.value + counter.value;
 </script>
 
 <template>
-	<div>
-		<h1>
-			{{ greeting }}
-		</h1>
-		<button @click="incrementCounter">
-			Click me!
-		</button>
-		<p>Counter: {{ counter }}</p>
-	</div>
+  <div>
+    <h1>
+      {{ greeting }}
+    </h1>
+    <button @click="incrementCounter">Click me!</button>
+    <p>Counter: {{ counter }}</p>
+  </div>
 </template>
diff --git a/fixtures/output/ts-override/javascript.js b/fixtures/output/ts-override/javascript.js
index e0702598c7..ebb98c3ab7 100644
--- a/fixtures/output/ts-override/javascript.js
+++ b/fixtures/output/ts-override/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
-    this.name = name
-    this.age = age
+    this.name = name;
+    this.age = age;
   }
 
   // Define a method within the class
   sayHello() {
-    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
   }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-  person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON')
-}
-catch (error) {
-  console.error('Error parsing JSON:', error.message)
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.')
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-  || b
-  || c || d
-  || (d && b)
-) {
-  foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/ts-override/jsx.jsx b/fixtures/output/ts-override/jsx.jsx
index 00b19dfbf6..5fe8bfd271 100644
--- a/fixtures/output/ts-override/jsx.jsx
+++ b/fixtures/output/ts-override/jsx.jsx
@@ -1,27 +1,34 @@
 export function HelloWorld({
-  greeting = 'hello',
+  greeting = "hello",
   greeted = '"World"',
   silent = false,
   onMouseOver,
 }) {
   if (!greeting) {
-    return null
-  };
+    return null;
+  }
 
   // TODO: Don't use random in render
-  const num = Math.floor (Math.random() * 1e+7).toString()
-    .replace(/\.\d+/g, '')
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
   return (
-    <div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver}>
-      <strong>{ greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-      {greeting.endsWith(',')
-        ? ' '
-        : <span style={{ color: '\grey' }}>", "</span> }
-      <em>
-        { greeted }
-      </em>
-      { (silent) ? '.' : '!'}
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
     </div>
-  )
+  );
 }
diff --git a/fixtures/output/ts-override/markdown.md b/fixtures/output/ts-override/markdown.md
index a66c94c891..6b24021562 100644
--- a/fixtures/output/ts-override/markdown.md
+++ b/fixtures/output/ts-override/markdown.md
@@ -1,34 +1,35 @@
-Header
-======
+# Header
 
-_Look,_ code blocks are formatted *too!*
+_Look,_ code blocks are formatted _too!_
 
 ```js
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
   if (foo) {
-    console.log('bar')
+    console.log("bar");
   }
 }
 ```
 
 ```css
 /* This should be handled by Prettier */
-.foo { color:red;}
+.foo {
+  color: red;
+}
 ```
 
-Pilot|Airport|Hours
---|:--:|--:
-John Doe|SKG|1338
-Jane Roe|JFK|314
+| Pilot    | Airport | Hours |
+| -------- | :-----: | ----: |
+| John Doe |   SKG   |  1338 |
+| Jane Roe |   JFK   |   314 |
 
-- - - - - - - - - - - - - - -
+---
 
-+ List
- + with a [link] (/to/somewhere)
-+ and [another one]
+- List
+- with a [link] (/to/somewhere)
+- and [another one]
 
-  [another one]:  http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/ts-override/tsx.tsx b/fixtures/output/ts-override/tsx.tsx
index ab640af672..550b2ee0a1 100644
--- a/fixtures/output/ts-override/tsx.tsx
+++ b/fixtures/output/ts-override/tsx.tsx
@@ -1,21 +1,15 @@
 export function Component1() {
-  return <div />
+  return <div />;
 }
 
 export function jsx2() {
-  const props = { a: 1, b: 2 }
+  const props = { a: 1, b: 2 };
   return (
     <a foo="bar" bar="foo">
-      <div
-        {...props}
-        a={1}
-        b="2"
-      >
+      <div {...props} a={1} b="2">
         Inline Text
       </div>
-      <Component1>
-        Block Text
-      </Component1>
+      <Component1>Block Text</Component1>
       <div>
         Mixed
         <div>Foo</div>
@@ -28,5 +22,5 @@ export function jsx2() {
         <b>baz</b>
       </p>
     </a>
-  )
+  );
 }
diff --git a/fixtures/output/ts-override/typescript.ts b/fixtures/output/ts-override/typescript.ts
index ed4c4b607c..6f1db4edd8 100644
--- a/fixtures/output/ts-override/typescript.ts
+++ b/fixtures/output/ts-override/typescript.ts
@@ -1,84 +1,82 @@
 // Define a TypeScript interface
 type Person = {
-  name: string
-  age: number
-}
+  name: string;
+  age: number;
+};
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-  { name: 'Alice', age: 30 },
-  { name: 'Bob', age: 25 },
-  { name: 'Charlie', age: 35 },
-]
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
+];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
-  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`)
+  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
 }
 
 // Define a generic function
-function identity< T >(arg: T): T {
-  return arg
+function identity<T>(arg: T): T {
+  return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-  'TypeScript is awesome',
-)
-log(result)
+const result = identity("TypeScript is awesome");
+log(result);
 
 // Use optional properties in an interface
 type Car = {
-  make: string
-  model?: string
-}
+  make: string;
+  model?: string;
+};
 
 // Create objects using the interface
-const car1: Car = { make: 'Toyota' }
+const car1: Car = { make: "Toyota" };
 const car2: Car = {
-  make: 'Ford',
-  model: 'Focus',
-}
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = 'apple' | 'banana' | 'orange'
-const favoriteFruit: Fruit = 'apple'
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = '42'
-const numericValue = inputValue as number
+const inputValue: any = "42";
+const numericValue = inputValue as number;
 
 // Define a class with access modifiers
 class Animal {
-  private name: string
+  private name: string;
   constructor(name: string) {
-    this.name = name
+    this.name = name;
   }
 
   protected makeSound(sound: string) {
-    log(`${this.name} says ${sound}`)
+    log(`${this.name} says ${sound}`);
   }
 }
 
 // Extend a class
 class Dog extends Animal {
   constructor(private alias: string) {
-    super(alias)
+    super(alias);
   }
 
   bark() {
-    this.makeSound('Woof!')
+    this.makeSound("Woof!");
   }
 }
 
-const dog = new Dog('Buddy')
-dog.bark()
+const dog = new Dog("Buddy");
+dog.bark();
 
 function fn(): string {
-  return `hello${1}`
+  return `hello${1}`;
 }
 
-log(car1, car2, favoriteFruit, numericValue, fn())
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/ts-override/vue-ts.vue b/fixtures/output/ts-override/vue-ts.vue
index ce35e66b0c..37620904b1 100644
--- a/fixtures/output/ts-override/vue-ts.vue
+++ b/fixtures/output/ts-override/vue-ts.vue
@@ -1,35 +1,36 @@
 <script setup lang="ts">
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref('Hello, Vue 3!')
-const counter = ref<number | 1>(0)
+const greeting = ref("Hello, Vue 3!");
+const counter = ref<number | 1>(0);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 </script>
 
 <template>
   <div>
     <h1>{{ greeting }}</h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
 
 <style>
-.a {  color:   red }
+.a {
+  color: red;
+}
 </style>
 
 <style lang="scss">
 $font-stack: Helvetica, sans-serif;
-$primary-color:   #333;
+$primary-color: #333;
 
-body { font: 100% $font-stack;
+body {
+  font: 100% $font-stack;
   color: $primary-color;
 }
 </style>
diff --git a/fixtures/output/ts-override/vue.vue b/fixtures/output/ts-override/vue.vue
index 944cc4e569..42770de608 100644
--- a/fixtures/output/ts-override/vue.vue
+++ b/fixtures/output/ts-override/vue.vue
@@ -1,17 +1,17 @@
 <script setup>
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref(`Hello, Vue 3!${1}`)
-const counter = ref(0)
-const doubled = computed(() => counter.value * 2)
+const greeting = ref(`Hello, Vue 3!${1}`);
+const counter = ref(0);
+const doubled = computed(() => counter.value * 2);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 
-const _zero = doubled.value + counter.value
+const _zero = doubled.value + counter.value;
 </script>
 
 <template>
@@ -19,9 +19,7 @@ const _zero = doubled.value + counter.value
     <h1>
       {{ greeting }}
     </h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
diff --git a/fixtures/output/with-formatters/css.css b/fixtures/output/with-formatters/css.css
index ad88dbcfbf..077c7601aa 100644
--- a/fixtures/output/with-formatters/css.css
+++ b/fixtures/output/with-formatters/css.css
@@ -4,7 +4,7 @@
     margin-left: -0.75rem;
   }
 
-  .bd-examples > [class^='col-'] {
+  .bd-examples > [class^="col-"] {
     padding-right: 0.75rem;
     padding-left: 0.75rem;
   }
diff --git a/fixtures/output/with-formatters/html.html b/fixtures/output/with-formatters/html.html
index 7815aedb49..8063d9c671 100644
--- a/fixtures/output/with-formatters/html.html
+++ b/fixtures/output/with-formatters/html.html
@@ -1,4 +1,4 @@
-<!doctype html>
+<!DOCTYPE html>
 <html class="no-js mY-ClAsS">
   <head>
     <meta charset="utf-8" />
@@ -12,12 +12,12 @@
     </p>
     <script>
       window.ga = function () {
-        ga.q.push(arguments)
-      }
-      ga.q = []
-      ga.l = +new Date()
-      ga('create', 'UA-XXXXX-Y', 'auto')
-      ga('send', 'pageview')
+        ga.q.push(arguments);
+      };
+      ga.q = [];
+      ga.l = +new Date();
+      ga("create", "UA-XXXXX-Y", "auto");
+      ga("send", "pageview");
     </script>
     <script
       src="https://www.google-analytics.com/analytics.js"
diff --git a/fixtures/output/with-formatters/javascript.js b/fixtures/output/with-formatters/javascript.js
index e0702598c7..ebb98c3ab7 100644
--- a/fixtures/output/with-formatters/javascript.js
+++ b/fixtures/output/with-formatters/javascript.js
@@ -1,73 +1,71 @@
 // This file is generated by ChatGPT
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Define a class using ES6 class syntax
 class Person {
   constructor(name, age) {
-    this.name = name
-    this.age = age
+    this.name = name;
+    this.age = age;
   }
 
   // Define a method within the class
   sayHello() {
-    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`)
+    log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
   }
 }
 
 // Create an array of objects
 const people = [
-  new Person('Alice', 30),
-  new Person('Bob', 25),
-  new Person('Charlie', 35),
-]
+  new Person("Alice", 30),
+  new Person("Bob", 25),
+  new Person("Charlie", 35),
+];
 
 // Use the forEach method to iterate over the array
 people.forEach((person) => {
-  person.sayHello()
-})
+  person.sayHello();
+});
 
 // Use a template literal to create a multiline string
 const multilineString = `
   This is a multiline string
   that spans multiple lines.
-`
+`;
 
 // Use destructuring assignment to extract values from an object
-const { name, age } = people[0]
-log(`First person in the array is ${name} and they are ${age} years old.`, multilineString)
+const { name, age } = people[0];
+log(
+  `First person in the array is ${name} and they are ${age} years old.`,
+  multilineString
+);
 
 // Use the spread operator to create a new array
-const numbers = [1, 2, 3]
-const newNumbers = [...numbers, 4, 5]
-log(newNumbers)
+const numbers = [1, 2, 3];
+const newNumbers = [...numbers, 4, 5];
+log(newNumbers);
 
 // Use a try-catch block for error handling
 try {
   // Attempt to parse an invalid JSON string
-  JSON.parse('invalid JSON')
-}
-catch (error) {
-  console.error('Error parsing JSON:', error.message)
+  JSON.parse("invalid JSON");
+} catch (error) {
+  console.error("Error parsing JSON:", error.message);
 }
 
 // Use a ternary conditional operator
-const isEven = num => num % 2 === 0
-const number = 7
-log(`${number} is ${isEven(number) ? 'even' : 'odd'}.`)
+const isEven = (num) => num % 2 === 0;
+const number = 7;
+log(`${number} is ${isEven(number) ? "even" : "odd"}.`);
 
 // Use a callback function with setTimeout for asynchronous code
 setTimeout(() => {
-  log('This code runs after a delay of 2 seconds.')
-}, 2000)
+  log("This code runs after a delay of 2 seconds.");
+}, 2000);
 
-let a, b, c, d, foo
+let a, b, c, d, foo;
 
-if (a
-  || b
-  || c || d
-  || (d && b)
-) {
-  foo()
+if (a || b || c || d || (d && b)) {
+  foo();
 }
diff --git a/fixtures/output/with-formatters/jsx.jsx b/fixtures/output/with-formatters/jsx.jsx
index 00b19dfbf6..5fe8bfd271 100644
--- a/fixtures/output/with-formatters/jsx.jsx
+++ b/fixtures/output/with-formatters/jsx.jsx
@@ -1,27 +1,34 @@
 export function HelloWorld({
-  greeting = 'hello',
+  greeting = "hello",
   greeted = '"World"',
   silent = false,
   onMouseOver,
 }) {
   if (!greeting) {
-    return null
-  };
+    return null;
+  }
 
   // TODO: Don't use random in render
-  const num = Math.floor (Math.random() * 1e+7).toString()
-    .replace(/\.\d+/g, '')
+  const num = Math.floor(Math.random() * 1e7)
+    .toString()
+    .replace(/\.\d+/g, "");
 
   return (
-    <div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver}>
-      <strong>{ greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase() }</strong>
-      {greeting.endsWith(',')
-        ? ' '
-        : <span style={{ color: '\grey' }}>", "</span> }
-      <em>
-        { greeted }
-      </em>
-      { (silent) ? '.' : '!'}
+    <div
+      className="HelloWorld"
+      title={`You are visitor number ${num}`}
+      onMouseOver={onMouseOver}
+    >
+      <strong>
+        {greeting.slice(0, 1).toUpperCase() + greeting.slice(1).toLowerCase()}
+      </strong>
+      {greeting.endsWith(",") ? (
+        " "
+      ) : (
+        <span style={{ color: "grey" }}>", "</span>
+      )}
+      <em>{greeted}</em>
+      {silent ? "." : "!"}
     </div>
-  )
+  );
 }
diff --git a/fixtures/output/with-formatters/markdown.md b/fixtures/output/with-formatters/markdown.md
index 337663bd92..6b24021562 100644
--- a/fixtures/output/with-formatters/markdown.md
+++ b/fixtures/output/with-formatters/markdown.md
@@ -6,7 +6,7 @@ _Look,_ code blocks are formatted _too!_
 // This should be handled by ESLint instead of Prettier
 function identity(x) {
   if (foo) {
-    console.log('bar')
+    console.log("bar");
   }
 }
 ```
@@ -29,7 +29,7 @@ function identity(x) {
 - with a [link] (/to/somewhere)
 - and [another one]
 
-  [another one]: http://example.com 'Example title'
+  [another one]: http://example.com "Example title"
 
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Curabitur consectetur maximus risus, sed maximus tellus tincidunt et.
diff --git a/fixtures/output/with-formatters/tsx.tsx b/fixtures/output/with-formatters/tsx.tsx
index ab640af672..550b2ee0a1 100644
--- a/fixtures/output/with-formatters/tsx.tsx
+++ b/fixtures/output/with-formatters/tsx.tsx
@@ -1,21 +1,15 @@
 export function Component1() {
-  return <div />
+  return <div />;
 }
 
 export function jsx2() {
-  const props = { a: 1, b: 2 }
+  const props = { a: 1, b: 2 };
   return (
     <a foo="bar" bar="foo">
-      <div
-        {...props}
-        a={1}
-        b="2"
-      >
+      <div {...props} a={1} b="2">
         Inline Text
       </div>
-      <Component1>
-        Block Text
-      </Component1>
+      <Component1>Block Text</Component1>
       <div>
         Mixed
         <div>Foo</div>
@@ -28,5 +22,5 @@ export function jsx2() {
         <b>baz</b>
       </p>
     </a>
-  )
+  );
 }
diff --git a/fixtures/output/with-formatters/typescript.ts b/fixtures/output/with-formatters/typescript.ts
index 29016e3855..1c175a1517 100644
--- a/fixtures/output/with-formatters/typescript.ts
+++ b/fixtures/output/with-formatters/typescript.ts
@@ -1,84 +1,82 @@
 // Define a TypeScript interface
 interface Person {
-  name: string
-  age: number
+  name: string;
+  age: number;
 }
 
 // Create an array of objects with the defined interface
 const people: Person[] = [
-  { name: 'Alice', age: 30 },
-  { name: 'Bob', age: 25 },
-  { name: 'Charlie', age: 35 },
-]
+  { name: "Alice", age: 30 },
+  { name: "Bob", age: 25 },
+  { name: "Charlie", age: 35 },
+];
 
 // eslint-disable-next-line no-console
-const log = console.log
+const log = console.log;
 
 // Use a for...of loop to iterate over the array
 for (const person of people) {
-  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`)
+  log(`Hello, my name is ${person.name} and I am ${person.age} years old.`);
 }
 
 // Define a generic function
-function identity< T >(arg: T): T {
-  return arg
+function identity<T>(arg: T): T {
+  return arg;
 }
 
 // Use the generic function with type inference
-const result = identity(
-  'TypeScript is awesome',
-)
-log(result)
+const result = identity("TypeScript is awesome");
+log(result);
 
 // Use optional properties in an interface
 interface Car {
-  make: string
-  model?: string
+  make: string;
+  model?: string;
 }
 
 // Create objects using the interface
-const car1: Car = { make: 'Toyota' }
+const car1: Car = { make: "Toyota" };
 const car2: Car = {
-  make: 'Ford',
-  model: 'Focus',
-}
+  make: "Ford",
+  model: "Focus",
+};
 
 // Use union types
-type Fruit = 'apple' | 'banana' | 'orange'
-const favoriteFruit: Fruit = 'apple'
+type Fruit = "apple" | "banana" | "orange";
+const favoriteFruit: Fruit = "apple";
 
 // Use a type assertion to tell TypeScript about the type
-const inputValue: any = '42'
-const numericValue = inputValue as number
+const inputValue: any = "42";
+const numericValue = inputValue as number;
 
 // Define a class with access modifiers
 class Animal {
-  private name: string
+  private name: string;
   constructor(name: string) {
-    this.name = name
+    this.name = name;
   }
 
   protected makeSound(sound: string) {
-    log(`${this.name} says ${sound}`)
+    log(`${this.name} says ${sound}`);
   }
 }
 
 // Extend a class
 class Dog extends Animal {
   constructor(private alias: string) {
-    super(alias)
+    super(alias);
   }
 
   bark() {
-    this.makeSound('Woof!')
+    this.makeSound("Woof!");
   }
 }
 
-const dog = new Dog('Buddy')
-dog.bark()
+const dog = new Dog("Buddy");
+dog.bark();
 
 function fn(): string {
-  return `hello${1}`
+  return `hello${1}`;
 }
 
-log(car1, car2, favoriteFruit, numericValue, fn())
+log(car1, car2, favoriteFruit, numericValue, fn());
diff --git a/fixtures/output/with-formatters/vue-ts.vue b/fixtures/output/with-formatters/vue-ts.vue
index ea5c75ae9b..37620904b1 100644
--- a/fixtures/output/with-formatters/vue-ts.vue
+++ b/fixtures/output/with-formatters/vue-ts.vue
@@ -1,22 +1,20 @@
 <script setup lang="ts">
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref('Hello, Vue 3!')
-const counter = ref<number | 1>(0)
+const greeting = ref("Hello, Vue 3!");
+const counter = ref<number | 1>(0);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 </script>
 
 <template>
   <div>
     <h1>{{ greeting }}</h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
diff --git a/fixtures/output/with-formatters/vue.vue b/fixtures/output/with-formatters/vue.vue
index 944cc4e569..42770de608 100644
--- a/fixtures/output/with-formatters/vue.vue
+++ b/fixtures/output/with-formatters/vue.vue
@@ -1,17 +1,17 @@
 <script setup>
 // Define reactive data and props
-import { ref } from 'vue'
+import { ref } from "vue";
 
-const greeting = ref(`Hello, Vue 3!${1}`)
-const counter = ref(0)
-const doubled = computed(() => counter.value * 2)
+const greeting = ref(`Hello, Vue 3!${1}`);
+const counter = ref(0);
+const doubled = computed(() => counter.value * 2);
 
 // Define a function
 function incrementCounter() {
-  counter.value++
+  counter.value++;
 }
 
-const _zero = doubled.value + counter.value
+const _zero = doubled.value + counter.value;
 </script>
 
 <template>
@@ -19,9 +19,7 @@ const _zero = doubled.value + counter.value
     <h1>
       {{ greeting }}
     </h1>
-    <button @click="incrementCounter">
-      Click me!
-    </button>
+    <button @click="incrementCounter">Click me!</button>
     <p>Counter: {{ counter }}</p>
   </div>
 </template>
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a2b85a629d..3044e3b520 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,35 +1,34 @@
-lockfileVersion: '9.0'
+lockfileVersion: "9.0"
 
 settings:
   autoInstallPeers: true
   excludeLinksFromLockfile: false
 
 importers:
-
   .:
     dependencies:
-      '@antfu/install-pkg':
+      "@antfu/install-pkg":
         specifier: ^0.3.3
         version: 0.3.3
-      '@clack/prompts':
+      "@clack/prompts":
         specifier: ^0.7.0
         version: 0.7.0
-      '@eslint/compat':
+      "@eslint/compat":
         specifier: ^1.0.3
         version: 1.0.3
-      '@eslint/eslintrc':
+      "@eslint/eslintrc":
         specifier: ^3.1.0
         version: 3.1.0
-      '@eslint/js':
+      "@eslint/js":
         specifier: ^9.4.0
         version: 9.4.0
-      '@stylistic/eslint-plugin':
+      "@stylistic/eslint-plugin":
         specifier: ^2.1.0
         version: 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/eslint-plugin':
+      "@typescript-eslint/eslint-plugin":
         specifier: ^7.12.0
         version: 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/parser':
+      "@typescript-eslint/parser":
         specifier: ^7.12.0
         version: 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       confusing-browser-globals:
@@ -165,46 +164,46 @@ importers:
         specifier: ^17.7.2
         version: 17.7.2
     devDependencies:
-      '@antfu/ni':
+      "@antfu/ni":
         specifier: ^0.21.12
         version: 0.21.12
-      '@eslint-react/eslint-plugin':
+      "@eslint-react/eslint-plugin":
         specifier: ^1.5.15
         version: 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint/config-inspector':
+      "@eslint/config-inspector":
         specifier: ^0.4.10
         version: 0.4.10(eslint-ts-patch@9.4.0-0)
-      '@next/eslint-plugin-next':
+      "@next/eslint-plugin-next":
         specifier: ^14.2.3
         version: 14.2.3
-      '@nirtamir2/eslint-config':
+      "@nirtamir2/eslint-config":
         specifier: workspace:*
-        version: 'link:'
-      '@prettier/plugin-xml':
+        version: "link:"
+      "@prettier/plugin-xml":
         specifier: ^3.4.1
         version: 3.4.1(prettier@3.3.1)
-      '@stylistic/eslint-plugin-migrate':
+      "@stylistic/eslint-plugin-migrate":
         specifier: ^2.1.0
         version: 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@trivago/prettier-plugin-sort-imports':
+      "@trivago/prettier-plugin-sort-imports":
         specifier: ^4.3.0
         version: 4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1)
-      '@types/eslint':
+      "@types/eslint":
         specifier: ^8.56.10
         version: 8.56.10
-      '@types/fs-extra':
+      "@types/fs-extra":
         specifier: ^11.0.4
         version: 11.0.4
-      '@types/node':
+      "@types/node":
         specifier: ^20.14.2
         version: 20.14.2
-      '@types/prompts':
+      "@types/prompts":
         specifier: ^2.4.9
         version: 2.4.9
-      '@types/yargs':
+      "@types/yargs":
         specifier: ^17.0.32
         version: 17.0.32
-      '@unocss/eslint-plugin':
+      "@unocss/eslint-plugin":
         specifier: ^0.60.4
         version: 0.60.4(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       astro-eslint-parser:
@@ -302,416 +301,658 @@ importers:
         version: 3.4.27(typescript@5.4.5)
 
 packages:
-
-  '@alloc/quick-lru@5.2.0':
-    resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
-    engines: {node: '>=10'}
-
-  '@ampproject/remapping@2.3.0':
-    resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
-    engines: {node: '>=6.0.0'}
-
-  '@antfu/install-pkg@0.3.3':
-    resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==}
-
-  '@antfu/ni@0.21.12':
-    resolution: {integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==}
+  "@alloc/quick-lru@5.2.0":
+    resolution:
+      {
+        integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==,
+      }
+    engines: { node: ">=10" }
+
+  "@ampproject/remapping@2.3.0":
+    resolution:
+      {
+        integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==,
+      }
+    engines: { node: ">=6.0.0" }
+
+  "@antfu/install-pkg@0.3.3":
+    resolution:
+      {
+        integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==,
+      }
+
+  "@antfu/ni@0.21.12":
+    resolution:
+      {
+        integrity: sha512-2aDL3WUv8hMJb2L3r/PIQWsTLyq7RQr3v9xD16fiz6O8ys1xEyLhhTOv8gxtZvJiTzjTF5pHoArvRdesGL1DMQ==,
+      }
     hasBin: true
 
-  '@antfu/utils@0.7.8':
-    resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==}
-
-  '@apidevtools/json-schema-ref-parser@11.6.4':
-    resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==}
-    engines: {node: '>= 16'}
-
-  '@astrojs/compiler@1.8.2':
-    resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==}
-
-  '@astrojs/compiler@2.8.0':
-    resolution: {integrity: sha512-yrpD1WRGqsJwANaDIdtHo+YVjvIOFAjC83lu5qENIgrafwZcJgSXDuwVMXOgok4tFzpeKLsFQ6c3FoUdloLWBQ==}
-
-  '@babel/code-frame@7.24.7':
-    resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/generator@7.17.7':
-    resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/generator@7.24.7':
-    resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-environment-visitor@7.24.7':
-    resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-function-name@7.24.7':
-    resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-hoist-variables@7.24.7':
-    resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-split-export-declaration@7.24.7':
-    resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-string-parser@7.24.7':
-    resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-validator-identifier@7.24.7':
-    resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/highlight@7.24.7':
-    resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/parser@7.24.7':
-    resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
-    engines: {node: '>=6.0.0'}
+  "@antfu/utils@0.7.8":
+    resolution:
+      {
+        integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==,
+      }
+
+  "@apidevtools/json-schema-ref-parser@11.6.4":
+    resolution:
+      {
+        integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==,
+      }
+    engines: { node: ">= 16" }
+
+  "@astrojs/compiler@1.8.2":
+    resolution:
+      {
+        integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==,
+      }
+
+  "@astrojs/compiler@2.8.0":
+    resolution:
+      {
+        integrity: sha512-yrpD1WRGqsJwANaDIdtHo+YVjvIOFAjC83lu5qENIgrafwZcJgSXDuwVMXOgok4tFzpeKLsFQ6c3FoUdloLWBQ==,
+      }
+
+  "@babel/code-frame@7.24.7":
+    resolution:
+      {
+        integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/generator@7.17.7":
+    resolution:
+      {
+        integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/generator@7.24.7":
+    resolution:
+      {
+        integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-environment-visitor@7.24.7":
+    resolution:
+      {
+        integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-function-name@7.24.7":
+    resolution:
+      {
+        integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-hoist-variables@7.24.7":
+    resolution:
+      {
+        integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-split-export-declaration@7.24.7":
+    resolution:
+      {
+        integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-string-parser@7.24.7":
+    resolution:
+      {
+        integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/helper-validator-identifier@7.24.7":
+    resolution:
+      {
+        integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/highlight@7.24.7":
+    resolution:
+      {
+        integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/parser@7.24.7":
+    resolution:
+      {
+        integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==,
+      }
+    engines: { node: ">=6.0.0" }
     hasBin: true
 
-  '@babel/runtime@7.24.7':
-    resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/template@7.24.7':
-    resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/traverse@7.23.2':
-    resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/types@7.17.0':
-    resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/types@7.24.7':
-    resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==}
-    engines: {node: '>=6.9.0'}
-
-  '@clack/core@0.3.4':
-    resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==}
-
-  '@clack/prompts@0.7.0':
-    resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==}
+  "@babel/runtime@7.24.7":
+    resolution:
+      {
+        integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/template@7.24.7":
+    resolution:
+      {
+        integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/traverse@7.23.2":
+    resolution:
+      {
+        integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/types@7.17.0":
+    resolution:
+      {
+        integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@babel/types@7.24.7":
+    resolution:
+      {
+        integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==,
+      }
+    engines: { node: ">=6.9.0" }
+
+  "@clack/core@0.3.4":
+    resolution:
+      {
+        integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==,
+      }
+
+  "@clack/prompts@0.7.0":
+    resolution:
+      {
+        integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==,
+      }
     bundledDependencies:
       - is-unicode-supported
 
-  '@dprint/formatter@0.2.1':
-    resolution: {integrity: sha512-GCzgRt2o4mhZLy8L47k2A+q9EMG/jWhzZebE29EqKsxmjDrSfv2VisEj/Q+39OOf04jTkEfB/TRO+IZSyxHdYg==}
-
-  '@dprint/markdown@0.16.4':
-    resolution: {integrity: sha512-WjsC4yLybR5/76+d/2s36nOBGjETe+jJR//ddFHohDXKdis+FTUv7dJ00kmd6g0AKQwDITayM1Nid10gFNG0Yg==}
-
-  '@dprint/toml@0.6.2':
-    resolution: {integrity: sha512-Mk5unEANsL/L+WHYU3NpDXt1ARU5bNU5k5OZELxaJodDycKG6RoRnSlZXpW6+7UN2PSnETAFVUdKrh937ZwtHA==}
-
-  '@es-joy/jsdoccomment@0.43.1':
-    resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==}
-    engines: {node: '>=16'}
-
-  '@esbuild/aix-ppc64@0.20.2':
-    resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
-    engines: {node: '>=12'}
+  "@dprint/formatter@0.2.1":
+    resolution:
+      {
+        integrity: sha512-GCzgRt2o4mhZLy8L47k2A+q9EMG/jWhzZebE29EqKsxmjDrSfv2VisEj/Q+39OOf04jTkEfB/TRO+IZSyxHdYg==,
+      }
+
+  "@dprint/markdown@0.16.4":
+    resolution:
+      {
+        integrity: sha512-WjsC4yLybR5/76+d/2s36nOBGjETe+jJR//ddFHohDXKdis+FTUv7dJ00kmd6g0AKQwDITayM1Nid10gFNG0Yg==,
+      }
+
+  "@dprint/toml@0.6.2":
+    resolution:
+      {
+        integrity: sha512-Mk5unEANsL/L+WHYU3NpDXt1ARU5bNU5k5OZELxaJodDycKG6RoRnSlZXpW6+7UN2PSnETAFVUdKrh937ZwtHA==,
+      }
+
+  "@es-joy/jsdoccomment@0.43.1":
+    resolution:
+      {
+        integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==,
+      }
+    engines: { node: ">=16" }
+
+  "@esbuild/aix-ppc64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==,
+      }
+    engines: { node: ">=12" }
     cpu: [ppc64]
     os: [aix]
 
-  '@esbuild/aix-ppc64@0.21.4':
-    resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==}
-    engines: {node: '>=12'}
+  "@esbuild/aix-ppc64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==,
+      }
+    engines: { node: ">=12" }
     cpu: [ppc64]
     os: [aix]
 
-  '@esbuild/android-arm64@0.20.2':
-    resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
-    engines: {node: '>=12'}
+  "@esbuild/android-arm64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [android]
 
-  '@esbuild/android-arm64@0.21.4':
-    resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==}
-    engines: {node: '>=12'}
+  "@esbuild/android-arm64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [android]
 
-  '@esbuild/android-arm@0.20.2':
-    resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
-    engines: {node: '>=12'}
+  "@esbuild/android-arm@0.20.2":
+    resolution:
+      {
+        integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm]
     os: [android]
 
-  '@esbuild/android-arm@0.21.4':
-    resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==}
-    engines: {node: '>=12'}
+  "@esbuild/android-arm@0.21.4":
+    resolution:
+      {
+        integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm]
     os: [android]
 
-  '@esbuild/android-x64@0.20.2':
-    resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
-    engines: {node: '>=12'}
+  "@esbuild/android-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [android]
 
-  '@esbuild/android-x64@0.21.4':
-    resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==}
-    engines: {node: '>=12'}
+  "@esbuild/android-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [android]
 
-  '@esbuild/darwin-arm64@0.20.2':
-    resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
-    engines: {node: '>=12'}
+  "@esbuild/darwin-arm64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [darwin]
 
-  '@esbuild/darwin-arm64@0.21.4':
-    resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==}
-    engines: {node: '>=12'}
+  "@esbuild/darwin-arm64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [darwin]
 
-  '@esbuild/darwin-x64@0.20.2':
-    resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
-    engines: {node: '>=12'}
+  "@esbuild/darwin-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [darwin]
 
-  '@esbuild/darwin-x64@0.21.4':
-    resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==}
-    engines: {node: '>=12'}
+  "@esbuild/darwin-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [darwin]
 
-  '@esbuild/freebsd-arm64@0.20.2':
-    resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
-    engines: {node: '>=12'}
+  "@esbuild/freebsd-arm64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [freebsd]
 
-  '@esbuild/freebsd-arm64@0.21.4':
-    resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==}
-    engines: {node: '>=12'}
+  "@esbuild/freebsd-arm64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [freebsd]
 
-  '@esbuild/freebsd-x64@0.20.2':
-    resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
-    engines: {node: '>=12'}
+  "@esbuild/freebsd-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [freebsd]
 
-  '@esbuild/freebsd-x64@0.21.4':
-    resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==}
-    engines: {node: '>=12'}
+  "@esbuild/freebsd-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [freebsd]
 
-  '@esbuild/linux-arm64@0.20.2':
-    resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-arm64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [linux]
 
-  '@esbuild/linux-arm64@0.21.4':
-    resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-arm64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [linux]
 
-  '@esbuild/linux-arm@0.20.2':
-    resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-arm@0.20.2":
+    resolution:
+      {
+        integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm]
     os: [linux]
 
-  '@esbuild/linux-arm@0.21.4':
-    resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-arm@0.21.4":
+    resolution:
+      {
+        integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm]
     os: [linux]
 
-  '@esbuild/linux-ia32@0.20.2':
-    resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-ia32@0.20.2":
+    resolution:
+      {
+        integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==,
+      }
+    engines: { node: ">=12" }
     cpu: [ia32]
     os: [linux]
 
-  '@esbuild/linux-ia32@0.21.4':
-    resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-ia32@0.21.4":
+    resolution:
+      {
+        integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==,
+      }
+    engines: { node: ">=12" }
     cpu: [ia32]
     os: [linux]
 
-  '@esbuild/linux-loong64@0.20.2':
-    resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-loong64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [loong64]
     os: [linux]
 
-  '@esbuild/linux-loong64@0.21.4':
-    resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-loong64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [loong64]
     os: [linux]
 
-  '@esbuild/linux-mips64el@0.20.2':
-    resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-mips64el@0.20.2":
+    resolution:
+      {
+        integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==,
+      }
+    engines: { node: ">=12" }
     cpu: [mips64el]
     os: [linux]
 
-  '@esbuild/linux-mips64el@0.21.4':
-    resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-mips64el@0.21.4":
+    resolution:
+      {
+        integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==,
+      }
+    engines: { node: ">=12" }
     cpu: [mips64el]
     os: [linux]
 
-  '@esbuild/linux-ppc64@0.20.2':
-    resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-ppc64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==,
+      }
+    engines: { node: ">=12" }
     cpu: [ppc64]
     os: [linux]
 
-  '@esbuild/linux-ppc64@0.21.4':
-    resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-ppc64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==,
+      }
+    engines: { node: ">=12" }
     cpu: [ppc64]
     os: [linux]
 
-  '@esbuild/linux-riscv64@0.20.2':
-    resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-riscv64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==,
+      }
+    engines: { node: ">=12" }
     cpu: [riscv64]
     os: [linux]
 
-  '@esbuild/linux-riscv64@0.21.4':
-    resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-riscv64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==,
+      }
+    engines: { node: ">=12" }
     cpu: [riscv64]
     os: [linux]
 
-  '@esbuild/linux-s390x@0.20.2':
-    resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-s390x@0.20.2":
+    resolution:
+      {
+        integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [s390x]
     os: [linux]
 
-  '@esbuild/linux-s390x@0.21.4':
-    resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-s390x@0.21.4":
+    resolution:
+      {
+        integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==,
+      }
+    engines: { node: ">=12" }
     cpu: [s390x]
     os: [linux]
 
-  '@esbuild/linux-x64@0.20.2':
-    resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [linux]
 
-  '@esbuild/linux-x64@0.21.4':
-    resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==}
-    engines: {node: '>=12'}
+  "@esbuild/linux-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [linux]
 
-  '@esbuild/netbsd-x64@0.20.2':
-    resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
-    engines: {node: '>=12'}
+  "@esbuild/netbsd-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/netbsd-x64@0.21.4':
-    resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==}
-    engines: {node: '>=12'}
+  "@esbuild/netbsd-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/openbsd-x64@0.20.2':
-    resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
-    engines: {node: '>=12'}
+  "@esbuild/openbsd-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [openbsd]
 
-  '@esbuild/openbsd-x64@0.21.4':
-    resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==}
-    engines: {node: '>=12'}
+  "@esbuild/openbsd-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [openbsd]
 
-  '@esbuild/sunos-x64@0.20.2':
-    resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
-    engines: {node: '>=12'}
+  "@esbuild/sunos-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [sunos]
 
-  '@esbuild/sunos-x64@0.21.4':
-    resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==}
-    engines: {node: '>=12'}
+  "@esbuild/sunos-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [sunos]
 
-  '@esbuild/win32-arm64@0.20.2':
-    resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-arm64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [win32]
 
-  '@esbuild/win32-arm64@0.21.4':
-    resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-arm64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==,
+      }
+    engines: { node: ">=12" }
     cpu: [arm64]
     os: [win32]
 
-  '@esbuild/win32-ia32@0.20.2':
-    resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-ia32@0.20.2":
+    resolution:
+      {
+        integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [ia32]
     os: [win32]
 
-  '@esbuild/win32-ia32@0.21.4':
-    resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-ia32@0.21.4":
+    resolution:
+      {
+        integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==,
+      }
+    engines: { node: ">=12" }
     cpu: [ia32]
     os: [win32]
 
-  '@esbuild/win32-x64@0.20.2':
-    resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-x64@0.20.2":
+    resolution:
+      {
+        integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [win32]
 
-  '@esbuild/win32-x64@0.21.4':
-    resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==}
-    engines: {node: '>=12'}
+  "@esbuild/win32-x64@0.21.4":
+    resolution:
+      {
+        integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==,
+      }
+    engines: { node: ">=12" }
     cpu: [x64]
     os: [win32]
 
-  '@eslint-community/eslint-utils@4.4.0':
-    resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+  "@eslint-community/eslint-utils@4.4.0":
+    resolution:
+      {
+        integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==,
+      }
+    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.10.1':
-    resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==}
-    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
-
-  '@eslint-react/ast@1.5.15':
-    resolution: {integrity: sha512-46GvHju62vKlc4YvX7V2U2GipPoUHAgE9LerUEa7Z/09nx7VPt18wTtQJL7oJTVgA8bdfidEw1olSbdE8jo/iQ==}
-
-  '@eslint-react/core@1.5.15':
-    resolution: {integrity: sha512-ynHPJPeTSgEdUwnvQqjl36NazaeN7ZQckBs4dLYS+ucT+W1W/IszAd0AHTyCdCZ33gE5JQ4rE7SQcgG531k2Aw==}
-
-  '@eslint-react/eslint-plugin@1.5.15':
-    resolution: {integrity: sha512-OE5ghm2tzCECYujcTdOVs7Of8VEzEekNxqo6+aXw2Ikp1x2W/mMYSKW/MMJdWusc7wxPdir+f53uhMJ08tZ87Q==}
-    engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+  "@eslint-community/regexpp@4.10.1":
+    resolution:
+      {
+        integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==,
+      }
+    engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
+
+  "@eslint-react/ast@1.5.15":
+    resolution:
+      {
+        integrity: sha512-46GvHju62vKlc4YvX7V2U2GipPoUHAgE9LerUEa7Z/09nx7VPt18wTtQJL7oJTVgA8bdfidEw1olSbdE8jo/iQ==,
+      }
+
+  "@eslint-react/core@1.5.15":
+    resolution:
+      {
+        integrity: sha512-ynHPJPeTSgEdUwnvQqjl36NazaeN7ZQckBs4dLYS+ucT+W1W/IszAd0AHTyCdCZ33gE5JQ4rE7SQcgG531k2Aw==,
+      }
+
+  "@eslint-react/eslint-plugin@1.5.15":
+    resolution:
+      {
+        integrity: sha512-OE5ghm2tzCECYujcTdOVs7Of8VEzEekNxqo6+aXw2Ikp1x2W/mMYSKW/MMJdWusc7wxPdir+f53uhMJ08tZ87Q==,
+      }
+    engines: { bun: ">=1.0.15", node: ">=18.18.0" }
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
       typescript: ^5.3.3
@@ -719,993 +960,1728 @@ packages:
       typescript:
         optional: true
 
-  '@eslint-react/jsx@1.5.15':
-    resolution: {integrity: sha512-u4TNGOfXx8UsVCV3FNGHA+4+Tvtvh25uIMfYiUXziNMv4bitxet+qF9jdl3ItTVWkGFYbqv/3qSTDMQyKCzd4A==}
-
-  '@eslint-react/shared@1.5.15':
-    resolution: {integrity: sha512-u6BrX+OVd5xtBo39ZQJHJzk+GCXtIMXo4F5aOWNBUPeCSDxeUbWM4KyOMTJ2PiRwR20g+po8X2kGMkjlZfKOwg==}
-
-  '@eslint-react/tools@1.5.15':
-    resolution: {integrity: sha512-ZcvjPOSDilNtXtY2DTUmGVWOAU84eEmT6pcj45ado4HDE+3vELAk0AipUcOKkrD9E8j1r2YDN58mnwdfN2WXJQ==}
-
-  '@eslint-react/types@1.5.15':
-    resolution: {integrity: sha512-VdMPeNYCsxiG4Ux62timZQ5gF9pQ6qElxVwE3W6GhN+J/FYo+NcGBkXy7NO+6tNnPMNx8nG4c1NvC+WImnJBEw==}
-
-  '@eslint-react/var@1.5.15':
-    resolution: {integrity: sha512-DBNQdtVN4dtdkHnUS1VV+qV0W2ltt3rTRPUJ2bPyIO+rys2h/sTo9kBFG/BSTOQCyarGkJqjCvs/bbEGmbxBdQ==}
-
-  '@eslint-stylistic/metadata@2.1.0':
-    resolution: {integrity: sha512-zqO4PkrOj0q/KpzaoPk2jnbV5OIP/fE5aBO02JCAkGzadXFxVAnazWr+xGh5YR1Rxo6mBOuaCVDmAlEoj6nftg==}
-
-  '@eslint/compat@1.0.3':
-    resolution: {integrity: sha512-9RaroPQaU2+SDcWav1YfuipwqnHccoiXZdUsicRQsQ/vH2wkEmRVcj344GapG/FnCeZRtqj0n6PshI+s9xkkAQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/config-array@0.15.1':
-    resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/config-inspector@0.4.10':
-    resolution: {integrity: sha512-qDstzmL4SDh7X0W4LZhZG4NfX1vesBySnB/S2IfsCVGTlZbprRL7G+ULpE0PYDNY8nVX3TYM7f9wlfsfrh8+ZQ==}
+  "@eslint-react/jsx@1.5.15":
+    resolution:
+      {
+        integrity: sha512-u4TNGOfXx8UsVCV3FNGHA+4+Tvtvh25uIMfYiUXziNMv4bitxet+qF9jdl3ItTVWkGFYbqv/3qSTDMQyKCzd4A==,
+      }
+
+  "@eslint-react/shared@1.5.15":
+    resolution:
+      {
+        integrity: sha512-u6BrX+OVd5xtBo39ZQJHJzk+GCXtIMXo4F5aOWNBUPeCSDxeUbWM4KyOMTJ2PiRwR20g+po8X2kGMkjlZfKOwg==,
+      }
+
+  "@eslint-react/tools@1.5.15":
+    resolution:
+      {
+        integrity: sha512-ZcvjPOSDilNtXtY2DTUmGVWOAU84eEmT6pcj45ado4HDE+3vELAk0AipUcOKkrD9E8j1r2YDN58mnwdfN2WXJQ==,
+      }
+
+  "@eslint-react/types@1.5.15":
+    resolution:
+      {
+        integrity: sha512-VdMPeNYCsxiG4Ux62timZQ5gF9pQ6qElxVwE3W6GhN+J/FYo+NcGBkXy7NO+6tNnPMNx8nG4c1NvC+WImnJBEw==,
+      }
+
+  "@eslint-react/var@1.5.15":
+    resolution:
+      {
+        integrity: sha512-DBNQdtVN4dtdkHnUS1VV+qV0W2ltt3rTRPUJ2bPyIO+rys2h/sTo9kBFG/BSTOQCyarGkJqjCvs/bbEGmbxBdQ==,
+      }
+
+  "@eslint-stylistic/metadata@2.1.0":
+    resolution:
+      {
+        integrity: sha512-zqO4PkrOj0q/KpzaoPk2jnbV5OIP/fE5aBO02JCAkGzadXFxVAnazWr+xGh5YR1Rxo6mBOuaCVDmAlEoj6nftg==,
+      }
+
+  "@eslint/compat@1.0.3":
+    resolution:
+      {
+        integrity: sha512-9RaroPQaU2+SDcWav1YfuipwqnHccoiXZdUsicRQsQ/vH2wkEmRVcj344GapG/FnCeZRtqj0n6PshI+s9xkkAQ==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@eslint/config-array@0.15.1":
+    resolution:
+      {
+        integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@eslint/config-inspector@0.4.10":
+    resolution:
+      {
+        integrity: sha512-qDstzmL4SDh7X0W4LZhZG4NfX1vesBySnB/S2IfsCVGTlZbprRL7G+ULpE0PYDNY8nVX3TYM7f9wlfsfrh8+ZQ==,
+      }
     hasBin: true
     peerDependencies:
       eslint: ^8.50.0 || ^9.0.0
 
-  '@eslint/eslintrc@3.1.0':
-    resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/js@9.4.0':
-    resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@eslint/object-schema@2.1.3':
-    resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@github/browserslist-config@1.0.0':
-    resolution: {integrity: sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==}
-
-  '@humanwhocodes/module-importer@1.0.1':
-    resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
-    engines: {node: '>=12.22'}
-
-  '@humanwhocodes/retry@0.3.0':
-    resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
-    engines: {node: '>=18.18'}
-
-  '@isaacs/cliui@8.0.2':
-    resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
-    engines: {node: '>=12'}
-
-  '@jest/schemas@29.6.3':
-    resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
-    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
-  '@jridgewell/gen-mapping@0.3.5':
-    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
-    engines: {node: '>=6.0.0'}
-
-  '@jridgewell/resolve-uri@3.1.2':
-    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'}
-
-  '@jridgewell/sourcemap-codec@1.4.15':
-    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
-
-  '@jridgewell/trace-mapping@0.3.25':
-    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
-  '@jsdevtools/ez-spawn@3.0.4':
-    resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==}
-    engines: {node: '>=10'}
-
-  '@jsdevtools/ono@7.1.3':
-    resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==}
-
-  '@microsoft/tsdoc-config@0.17.0':
-    resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==}
-
-  '@microsoft/tsdoc@0.15.0':
-    resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==}
-
-  '@next/eslint-plugin-next@14.2.3':
-    resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==}
-
-  '@nodelib/fs.scandir@2.1.5':
-    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
-    engines: {node: '>= 8'}
-
-  '@nodelib/fs.stat@2.0.5':
-    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'}
-
-  '@pkgjs/parseargs@0.11.0':
-    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}
-
-  '@prettier/plugin-xml@3.4.1':
-    resolution: {integrity: sha512-Uf/6/+9ez6z/IvZErgobZ2G9n1ybxF5BhCd7eMcKqfoWuOzzNUxBipNo3QAP8kRC1VD18TIo84no7LhqtyDcTg==}
+  "@eslint/eslintrc@3.1.0":
+    resolution:
+      {
+        integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@eslint/js@9.4.0":
+    resolution:
+      {
+        integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@eslint/object-schema@2.1.3":
+    resolution:
+      {
+        integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@github/browserslist-config@1.0.0":
+    resolution:
+      {
+        integrity: sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==,
+      }
+
+  "@humanwhocodes/module-importer@1.0.1":
+    resolution:
+      {
+        integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==,
+      }
+    engines: { node: ">=12.22" }
+
+  "@humanwhocodes/retry@0.3.0":
+    resolution:
+      {
+        integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==,
+      }
+    engines: { node: ">=18.18" }
+
+  "@isaacs/cliui@8.0.2":
+    resolution:
+      {
+        integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==,
+      }
+    engines: { node: ">=12" }
+
+  "@jest/schemas@29.6.3":
+    resolution:
+      {
+        integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==,
+      }
+    engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
+
+  "@jridgewell/gen-mapping@0.3.5":
+    resolution:
+      {
+        integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==,
+      }
+    engines: { node: ">=6.0.0" }
+
+  "@jridgewell/resolve-uri@3.1.2":
+    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" }
+
+  "@jridgewell/sourcemap-codec@1.4.15":
+    resolution:
+      {
+        integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
+      }
+
+  "@jridgewell/trace-mapping@0.3.25":
+    resolution:
+      {
+        integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
+      }
+
+  "@jsdevtools/ez-spawn@3.0.4":
+    resolution:
+      {
+        integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==,
+      }
+    engines: { node: ">=10" }
+
+  "@jsdevtools/ono@7.1.3":
+    resolution:
+      {
+        integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==,
+      }
+
+  "@microsoft/tsdoc-config@0.17.0":
+    resolution:
+      {
+        integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==,
+      }
+
+  "@microsoft/tsdoc@0.15.0":
+    resolution:
+      {
+        integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==,
+      }
+
+  "@next/eslint-plugin-next@14.2.3":
+    resolution:
+      {
+        integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==,
+      }
+
+  "@nodelib/fs.scandir@2.1.5":
+    resolution:
+      {
+        integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==,
+      }
+    engines: { node: ">= 8" }
+
+  "@nodelib/fs.stat@2.0.5":
+    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" }
+
+  "@pkgjs/parseargs@0.11.0":
+    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 }
+
+  "@prettier/plugin-xml@3.4.1":
+    resolution:
+      {
+        integrity: sha512-Uf/6/+9ez6z/IvZErgobZ2G9n1ybxF5BhCd7eMcKqfoWuOzzNUxBipNo3QAP8kRC1VD18TIo84no7LhqtyDcTg==,
+      }
     peerDependencies:
       prettier: ^3.0.0
 
-  '@rollup/rollup-android-arm-eabi@4.18.0':
-    resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
+  "@rollup/rollup-android-arm-eabi@4.18.0":
+    resolution:
+      {
+        integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==,
+      }
     cpu: [arm]
     os: [android]
 
-  '@rollup/rollup-android-arm64@4.18.0':
-    resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
+  "@rollup/rollup-android-arm64@4.18.0":
+    resolution:
+      {
+        integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==,
+      }
     cpu: [arm64]
     os: [android]
 
-  '@rollup/rollup-darwin-arm64@4.18.0':
-    resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
+  "@rollup/rollup-darwin-arm64@4.18.0":
+    resolution:
+      {
+        integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==,
+      }
     cpu: [arm64]
     os: [darwin]
 
-  '@rollup/rollup-darwin-x64@4.18.0':
-    resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
+  "@rollup/rollup-darwin-x64@4.18.0":
+    resolution:
+      {
+        integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==,
+      }
     cpu: [x64]
     os: [darwin]
 
-  '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
-    resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
+  "@rollup/rollup-linux-arm-gnueabihf@4.18.0":
+    resolution:
+      {
+        integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==,
+      }
     cpu: [arm]
     os: [linux]
 
-  '@rollup/rollup-linux-arm-musleabihf@4.18.0':
-    resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
+  "@rollup/rollup-linux-arm-musleabihf@4.18.0":
+    resolution:
+      {
+        integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==,
+      }
     cpu: [arm]
     os: [linux]
 
-  '@rollup/rollup-linux-arm64-gnu@4.18.0':
-    resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
+  "@rollup/rollup-linux-arm64-gnu@4.18.0":
+    resolution:
+      {
+        integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==,
+      }
     cpu: [arm64]
     os: [linux]
 
-  '@rollup/rollup-linux-arm64-musl@4.18.0':
-    resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
+  "@rollup/rollup-linux-arm64-musl@4.18.0":
+    resolution:
+      {
+        integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==,
+      }
     cpu: [arm64]
     os: [linux]
 
-  '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
-    resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
+  "@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
+    resolution:
+      {
+        integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==,
+      }
     cpu: [ppc64]
     os: [linux]
 
-  '@rollup/rollup-linux-riscv64-gnu@4.18.0':
-    resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
+  "@rollup/rollup-linux-riscv64-gnu@4.18.0":
+    resolution:
+      {
+        integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==,
+      }
     cpu: [riscv64]
     os: [linux]
 
-  '@rollup/rollup-linux-s390x-gnu@4.18.0':
-    resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
+  "@rollup/rollup-linux-s390x-gnu@4.18.0":
+    resolution:
+      {
+        integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==,
+      }
     cpu: [s390x]
     os: [linux]
 
-  '@rollup/rollup-linux-x64-gnu@4.18.0':
-    resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
+  "@rollup/rollup-linux-x64-gnu@4.18.0":
+    resolution:
+      {
+        integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==,
+      }
     cpu: [x64]
     os: [linux]
 
-  '@rollup/rollup-linux-x64-musl@4.18.0':
-    resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
+  "@rollup/rollup-linux-x64-musl@4.18.0":
+    resolution:
+      {
+        integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==,
+      }
     cpu: [x64]
     os: [linux]
 
-  '@rollup/rollup-win32-arm64-msvc@4.18.0':
-    resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
+  "@rollup/rollup-win32-arm64-msvc@4.18.0":
+    resolution:
+      {
+        integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==,
+      }
     cpu: [arm64]
     os: [win32]
 
-  '@rollup/rollup-win32-ia32-msvc@4.18.0':
-    resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
+  "@rollup/rollup-win32-ia32-msvc@4.18.0":
+    resolution:
+      {
+        integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==,
+      }
     cpu: [ia32]
     os: [win32]
 
-  '@rollup/rollup-win32-x64-msvc@4.18.0':
-    resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
+  "@rollup/rollup-win32-x64-msvc@4.18.0":
+    resolution:
+      {
+        integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==,
+      }
     cpu: [x64]
     os: [win32]
 
-  '@sec-ant/readable-stream@0.4.1':
-    resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
-
-  '@sinclair/typebox@0.27.8':
-    resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
-
-  '@sindresorhus/merge-streams@4.0.0':
-    resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==}
-    engines: {node: '>=18'}
-
-  '@slidev/parser@0.47.5':
-    resolution: {integrity: sha512-KvqOEhIFuMDu8CjAsehMNKlAnnmAn2TRHiEymc3CMadid05oWa5zgTxqEyMxUl2rjWpYs3A1yDiendZsGYs3HA==}
-    engines: {node: '>=18.0.0'}
-
-  '@slidev/types@0.47.5':
-    resolution: {integrity: sha512-X67V4cCgM0Sz50bP8GbVzmiL8DHC2IXvdKcsN7DlxHyf+/T4d9GveeGukwha5Fx3MuYeGZWKag7TFL2ZY4w54A==}
-    engines: {node: '>=18.0.0'}
-
-  '@stylistic/eslint-plugin-js@2.1.0':
-    resolution: {integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+  "@sec-ant/readable-stream@0.4.1":
+    resolution:
+      {
+        integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==,
+      }
+
+  "@sinclair/typebox@0.27.8":
+    resolution:
+      {
+        integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==,
+      }
+
+  "@sindresorhus/merge-streams@4.0.0":
+    resolution:
+      {
+        integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==,
+      }
+    engines: { node: ">=18" }
+
+  "@slidev/parser@0.47.5":
+    resolution:
+      {
+        integrity: sha512-KvqOEhIFuMDu8CjAsehMNKlAnnmAn2TRHiEymc3CMadid05oWa5zgTxqEyMxUl2rjWpYs3A1yDiendZsGYs3HA==,
+      }
+    engines: { node: ">=18.0.0" }
+
+  "@slidev/types@0.47.5":
+    resolution:
+      {
+        integrity: sha512-X67V4cCgM0Sz50bP8GbVzmiL8DHC2IXvdKcsN7DlxHyf+/T4d9GveeGukwha5Fx3MuYeGZWKag7TFL2ZY4w54A==,
+      }
+    engines: { node: ">=18.0.0" }
+
+  "@stylistic/eslint-plugin-js@2.1.0":
+    resolution:
+      {
+        integrity: sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.40.0'
-
-  '@stylistic/eslint-plugin-jsx@2.1.0':
-    resolution: {integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+      eslint: ">=8.40.0"
+
+  "@stylistic/eslint-plugin-jsx@2.1.0":
+    resolution:
+      {
+        integrity: sha512-mMD7S+IndZo2vxmwpHVTCwx2O1VdtE5tmpeNwgaEcXODzWV1WTWpnsc/PECQKIr/mkLPFWiSIqcuYNhQ/3l6AQ==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.40.0'
-
-  '@stylistic/eslint-plugin-migrate@2.1.0':
-    resolution: {integrity: sha512-qMyfjrMFx7b+oMB7u/spW1AJHk7CCWvKy0p5CdN+hVHw3yREmbILnNJJwn8Yq4mzE9EILcOM6bhL/WIL4WqFdA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
-  '@stylistic/eslint-plugin-plus@2.1.0':
-    resolution: {integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==}
+      eslint: ">=8.40.0"
+
+  "@stylistic/eslint-plugin-migrate@2.1.0":
+    resolution:
+      {
+        integrity: sha512-qMyfjrMFx7b+oMB7u/spW1AJHk7CCWvKy0p5CdN+hVHw3yREmbILnNJJwn8Yq4mzE9EILcOM6bhL/WIL4WqFdA==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
+
+  "@stylistic/eslint-plugin-plus@2.1.0":
+    resolution:
+      {
+        integrity: sha512-S5QAlgYXESJaSBFhBSBLZy9o36gXrXQwWSt6QkO+F0SrT9vpV5JF/VKoh+ojO7tHzd8Ckmyouq02TT9Sv2B0zQ==,
+      }
     peerDependencies:
-      eslint: '*'
-
-  '@stylistic/eslint-plugin-ts@2.1.0':
-    resolution: {integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+      eslint: "*"
+
+  "@stylistic/eslint-plugin-ts@2.1.0":
+    resolution:
+      {
+        integrity: sha512-2ioFibufHYBALx2TBrU4KXovCkN8qCqcb9yIHc0fyOfTaO5jw4d56WW7YRcF3Zgde6qFyXwAN6z/+w4pnmos1g==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.40.0'
-
-  '@stylistic/eslint-plugin@2.1.0':
-    resolution: {integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+      eslint: ">=8.40.0"
+
+  "@stylistic/eslint-plugin@2.1.0":
+    resolution:
+      {
+        integrity: sha512-cBBowKP2u/+uE5CzgH5w8pE9VKqcM7BXdIDPIbGt2rmLJGnA6MJPr9vYGaqgMoJFs7R/FzsMQerMvvEP40g2uw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.40.0'
+      eslint: ">=8.40.0"
 
-  '@trivago/prettier-plugin-sort-imports@4.3.0':
-    resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==}
+  "@trivago/prettier-plugin-sort-imports@4.3.0":
+    resolution:
+      {
+        integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==,
+      }
     peerDependencies:
-      '@vue/compiler-sfc': 3.x
+      "@vue/compiler-sfc": 3.x
       prettier: 2.x - 3.x
     peerDependenciesMeta:
-      '@vue/compiler-sfc':
+      "@vue/compiler-sfc":
         optional: true
 
-  '@types/eslint@8.56.10':
-    resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
-
-  '@types/estree@1.0.5':
-    resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
-
-  '@types/fs-extra@11.0.4':
-    resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
-
-  '@types/json-schema@7.0.15':
-    resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
-  '@types/json5@0.0.29':
-    resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
-
-  '@types/jsonfile@6.1.4':
-    resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
-
-  '@types/mdast@3.0.15':
-    resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
-
-  '@types/node@20.14.2':
-    resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==}
-
-  '@types/normalize-package-data@2.4.4':
-    resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
-
-  '@types/prompts@2.4.9':
-    resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==}
-
-  '@types/unist@2.0.10':
-    resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
-
-  '@types/yargs-parser@21.0.3':
-    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
-
-  '@types/yargs@17.0.32':
-    resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
-
-  '@typescript-eslint/eslint-plugin@7.12.0':
-    resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+  "@types/eslint@8.56.10":
+    resolution:
+      {
+        integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==,
+      }
+
+  "@types/estree@1.0.5":
+    resolution:
+      {
+        integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
+      }
+
+  "@types/fs-extra@11.0.4":
+    resolution:
+      {
+        integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==,
+      }
+
+  "@types/json-schema@7.0.15":
+    resolution:
+      {
+        integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==,
+      }
+
+  "@types/json5@0.0.29":
+    resolution:
+      {
+        integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==,
+      }
+
+  "@types/jsonfile@6.1.4":
+    resolution:
+      {
+        integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==,
+      }
+
+  "@types/mdast@3.0.15":
+    resolution:
+      {
+        integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==,
+      }
+
+  "@types/node@20.14.2":
+    resolution:
+      {
+        integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==,
+      }
+
+  "@types/normalize-package-data@2.4.4":
+    resolution:
+      {
+        integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==,
+      }
+
+  "@types/prompts@2.4.9":
+    resolution:
+      {
+        integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==,
+      }
+
+  "@types/unist@2.0.10":
+    resolution:
+      {
+        integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==,
+      }
+
+  "@types/yargs-parser@21.0.3":
+    resolution:
+      {
+        integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==,
+      }
+
+  "@types/yargs@17.0.32":
+    resolution:
+      {
+        integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==,
+      }
+
+  "@typescript-eslint/eslint-plugin@7.12.0":
+    resolution:
+      {
+        integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
-      '@typescript-eslint/parser': ^7.0.0
+      "@typescript-eslint/parser": ^7.0.0
       eslint: ^8.56.0
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
-  '@typescript-eslint/parser@7.12.0':
-    resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+  "@typescript-eslint/parser@7.12.0":
+    resolution:
+      {
+        integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
       eslint: ^8.56.0
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
-  '@typescript-eslint/scope-manager@7.12.0':
-    resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==}
-    engines: {node: ^18.18.0 || >=20.0.0}
-
-  '@typescript-eslint/type-utils@7.12.0':
-    resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+  "@typescript-eslint/scope-manager@7.12.0":
+    resolution:
+      {
+        integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
+
+  "@typescript-eslint/type-utils@7.12.0":
+    resolution:
+      {
+        integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
       eslint: ^8.56.0
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
-  '@typescript-eslint/types@7.12.0':
-    resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==}
-    engines: {node: ^18.18.0 || >=20.0.0}
-
-  '@typescript-eslint/typescript-estree@7.12.0':
-    resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+  "@typescript-eslint/types@7.12.0":
+    resolution:
+      {
+        integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
+
+  "@typescript-eslint/typescript-estree@7.12.0":
+    resolution:
+      {
+        integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
-  '@typescript-eslint/utils@7.12.0':
-    resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+  "@typescript-eslint/utils@7.12.0":
+    resolution:
+      {
+        integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
       eslint: ^8.56.0
 
-  '@typescript-eslint/visitor-keys@7.12.0':
-    resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==}
-    engines: {node: ^18.18.0 || >=20.0.0}
-
-  '@unocss/config@0.60.4':
-    resolution: {integrity: sha512-ri9P2+YztD5JdPYSLiNjcLf6NgoBbwJDVutP/tQnfYYrE72DQ+j+4vepyxEBa1YaH/X4qsmLJCj+2tI/ufIiog==}
-    engines: {node: '>=14'}
-
-  '@unocss/core@0.60.4':
-    resolution: {integrity: sha512-6tz8KTzC30oB0YikwRQoIpJ6Y6Dg+ZiK3NfCIsH+UX11bh2J2M53as2EL/5VQCqtiUn3YP0ZEzR2d1AWX78RCA==}
-
-  '@unocss/eslint-plugin@0.60.4':
-    resolution: {integrity: sha512-+ZWlc5TrzVjnvK3fKJqaTH7phSrYAKcbXC0aTTfM1PeTg8ya6tW4sqUmESRkbn9M5AYxhDADqFdqenQN0qlXqQ==}
-    engines: {node: '>=14'}
-
-  '@vitest/expect@1.6.0':
-    resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==}
-
-  '@vitest/runner@1.6.0':
-    resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==}
-
-  '@vitest/snapshot@1.6.0':
-    resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==}
-
-  '@vitest/spy@1.6.0':
-    resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==}
-
-  '@vitest/utils@1.6.0':
-    resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==}
-
-  '@vue/compiler-core@3.4.27':
-    resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
-
-  '@vue/compiler-dom@3.4.27':
-    resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==}
-
-  '@vue/compiler-sfc@3.4.27':
-    resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==}
-
-  '@vue/compiler-ssr@3.4.27':
-    resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==}
-
-  '@vue/reactivity@3.4.27':
-    resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==}
-
-  '@vue/runtime-core@3.4.27':
-    resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==}
-
-  '@vue/runtime-dom@3.4.27':
-    resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==}
-
-  '@vue/server-renderer@3.4.27':
-    resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==}
+  "@typescript-eslint/visitor-keys@7.12.0":
+    resolution:
+      {
+        integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
+
+  "@unocss/config@0.60.4":
+    resolution:
+      {
+        integrity: sha512-ri9P2+YztD5JdPYSLiNjcLf6NgoBbwJDVutP/tQnfYYrE72DQ+j+4vepyxEBa1YaH/X4qsmLJCj+2tI/ufIiog==,
+      }
+    engines: { node: ">=14" }
+
+  "@unocss/core@0.60.4":
+    resolution:
+      {
+        integrity: sha512-6tz8KTzC30oB0YikwRQoIpJ6Y6Dg+ZiK3NfCIsH+UX11bh2J2M53as2EL/5VQCqtiUn3YP0ZEzR2d1AWX78RCA==,
+      }
+
+  "@unocss/eslint-plugin@0.60.4":
+    resolution:
+      {
+        integrity: sha512-+ZWlc5TrzVjnvK3fKJqaTH7phSrYAKcbXC0aTTfM1PeTg8ya6tW4sqUmESRkbn9M5AYxhDADqFdqenQN0qlXqQ==,
+      }
+    engines: { node: ">=14" }
+
+  "@vitest/expect@1.6.0":
+    resolution:
+      {
+        integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==,
+      }
+
+  "@vitest/runner@1.6.0":
+    resolution:
+      {
+        integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==,
+      }
+
+  "@vitest/snapshot@1.6.0":
+    resolution:
+      {
+        integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==,
+      }
+
+  "@vitest/spy@1.6.0":
+    resolution:
+      {
+        integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==,
+      }
+
+  "@vitest/utils@1.6.0":
+    resolution:
+      {
+        integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==,
+      }
+
+  "@vue/compiler-core@3.4.27":
+    resolution:
+      {
+        integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==,
+      }
+
+  "@vue/compiler-dom@3.4.27":
+    resolution:
+      {
+        integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==,
+      }
+
+  "@vue/compiler-sfc@3.4.27":
+    resolution:
+      {
+        integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==,
+      }
+
+  "@vue/compiler-ssr@3.4.27":
+    resolution:
+      {
+        integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==,
+      }
+
+  "@vue/reactivity@3.4.27":
+    resolution:
+      {
+        integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==,
+      }
+
+  "@vue/runtime-core@3.4.27":
+    resolution:
+      {
+        integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==,
+      }
+
+  "@vue/runtime-dom@3.4.27":
+    resolution:
+      {
+        integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==,
+      }
+
+  "@vue/server-renderer@3.4.27":
+    resolution:
+      {
+        integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==,
+      }
     peerDependencies:
       vue: 3.4.27
 
-  '@vue/shared@3.4.27':
-    resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
+  "@vue/shared@3.4.27":
+    resolution:
+      {
+        integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==,
+      }
 
-  '@xml-tools/parser@1.0.11':
-    resolution: {integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==}
+  "@xml-tools/parser@1.0.11":
+    resolution:
+      {
+        integrity: sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==,
+      }
 
   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-walk@8.3.2:
-    resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
-    engines: {node: '>=0.4.0'}
+    resolution:
+      {
+        integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==,
+      }
+    engines: { node: ">=0.4.0" }
 
   acorn@8.11.3:
-    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
-    engines: {node: '>=0.4.0'}
+    resolution:
+      {
+        integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==,
+      }
+    engines: { node: ">=0.4.0" }
     hasBin: true
 
   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==,
+      }
 
   ansi-escapes@6.2.1:
-    resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
-    engines: {node: '>=14.16'}
+    resolution:
+      {
+        integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==,
+      }
+    engines: { node: ">=14.16" }
 
   ansi-regex@5.0.1:
-    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+      }
+    engines: { node: ">=8" }
 
   ansi-regex@6.0.1:
-    resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==,
+      }
+    engines: { node: ">=12" }
 
   ansi-styles@3.2.1:
-    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+      }
+    engines: { node: ">=4" }
 
   ansi-styles@4.3.0:
-    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+      }
+    engines: { node: ">=8" }
 
   ansi-styles@5.2.0:
-    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==,
+      }
+    engines: { node: ">=10" }
 
   ansi-styles@6.2.1:
-    resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==,
+      }
+    engines: { node: ">=12" }
 
   any-promise@1.3.0:
-    resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+    resolution:
+      {
+        integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==,
+      }
 
   anymatch@3.1.3:
-    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
-    engines: {node: '>= 8'}
+    resolution:
+      {
+        integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==,
+      }
+    engines: { node: ">= 8" }
 
   are-docs-informative@0.0.2:
-    resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==,
+      }
+    engines: { node: ">=14" }
 
   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==,
+      }
 
   aria-query@5.3.0:
-    resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+    resolution:
+      {
+        integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==,
+      }
 
   array-buffer-byte-length@1.0.1:
-    resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==,
+      }
+    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-union@2.1.0:
-    resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==,
+      }
+    engines: { node: ">=8" }
 
   array.prototype.findlast@1.2.5:
-    resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==,
+      }
+    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.2:
-    resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==,
+      }
+    engines: { node: ">= 0.4" }
 
   array.prototype.flatmap@1.3.2:
-    resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   array.prototype.toreversed@1.1.2:
-    resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+    resolution:
+      {
+        integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==,
+      }
 
   array.prototype.tosorted@1.1.4:
-    resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==,
+      }
+    engines: { node: ">= 0.4" }
 
   arraybuffer.prototype.slice@1.0.3:
-    resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==,
+      }
+    engines: { node: ">= 0.4" }
 
   assertion-error@1.1.0:
-    resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+    resolution:
+      {
+        integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==,
+      }
 
   ast-types-flow@0.0.8:
-    resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+    resolution:
+      {
+        integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==,
+      }
 
   astro-eslint-parser@1.0.2:
-    resolution: {integrity: sha512-8hJaCuqxObShWl2wEsnASqh/DbQ2O+S66m0Q3ctJlzBPEQ4pfGwwama3FCjZO3GDLQsjvn1T0v93Vxyu/+5fGw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-8hJaCuqxObShWl2wEsnASqh/DbQ2O+S66m0Q3ctJlzBPEQ4pfGwwama3FCjZO3GDLQsjvn1T0v93Vxyu/+5fGw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
 
   astrojs-compiler-sync@1.0.0:
-    resolution: {integrity: sha512-IM6FxpMoBxkGGdKppkFHNQIC9Wge7jspG2MIJff8DOhG41USNJLxJfxRm7wnkTKWlYK5Y1YFFNYr2vUUKkI8sw==}
-    engines: {node: ^18.18.0 || >=20.9.0}
+    resolution:
+      {
+        integrity: sha512-IM6FxpMoBxkGGdKppkFHNQIC9Wge7jspG2MIJff8DOhG41USNJLxJfxRm7wnkTKWlYK5Y1YFFNYr2vUUKkI8sw==,
+      }
+    engines: { node: ^18.18.0 || >=20.9.0 }
     peerDependencies:
-      '@astrojs/compiler': '>=0.27.0'
+      "@astrojs/compiler": ">=0.27.0"
 
   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" }
 
   axe-core@4.7.0:
-    resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==,
+      }
+    engines: { node: ">=4" }
 
   axobject-query@3.2.1:
-    resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
+    resolution:
+      {
+        integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==,
+      }
 
   axobject-query@4.0.0:
-    resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
+    resolution:
+      {
+        integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==,
+      }
 
   balanced-match@1.0.2:
-    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+    resolution:
+      {
+        integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+      }
 
   binary-extensions@2.3.0:
-    resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==,
+      }
+    engines: { node: ">=8" }
 
   boolbase@1.0.0:
-    resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+    resolution:
+      {
+        integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
+      }
 
   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" }
 
   browserslist@4.23.0:
-    resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
-    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+    resolution:
+      {
+        integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==,
+      }
+    engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
     hasBin: true
 
   builtin-modules@3.3.0:
-    resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==,
+      }
+    engines: { node: ">=6" }
 
   bumpp@9.4.1:
-    resolution: {integrity: sha512-kzhp/LpNX0HkUpEyLd7sU2LTN/mbAVgcxJ1Zi2cAJTE/tul6rypSKGpH8UywDpzKWItL8LVdKsIFnwmylw0+7g==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-kzhp/LpNX0HkUpEyLd7sU2LTN/mbAVgcxJ1Zi2cAJTE/tul6rypSKGpH8UywDpzKWItL8LVdKsIFnwmylw0+7g==,
+      }
+    engines: { node: ">=10" }
     hasBin: true
 
   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" }
 
   bundle-require@4.2.1:
-    resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
     peerDependencies:
-      esbuild: '>=0.17'
+      esbuild: ">=0.17"
 
   c12@1.10.0:
-    resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==}
+    resolution:
+      {
+        integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==,
+      }
 
   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" }
 
   call-bind@1.0.7:
-    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==,
+      }
+    engines: { node: ">= 0.4" }
 
   call-me-maybe@1.0.2:
-    resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+    resolution:
+      {
+        integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==,
+      }
 
   callsites@3.1.0:
-    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+      }
+    engines: { node: ">=6" }
 
   camelcase-css@2.0.1:
-    resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==,
+      }
+    engines: { node: ">= 6" }
 
   caniuse-lite@1.0.30001629:
-    resolution: {integrity: sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==}
+    resolution:
+      {
+        integrity: sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==,
+      }
 
   chai@4.4.1:
-    resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==,
+      }
+    engines: { node: ">=4" }
 
   chalk@2.4.2:
-    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+      }
+    engines: { node: ">=4" }
 
   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.3.0:
-    resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
-    engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==,
+      }
+    engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 }
 
   character-entities-legacy@1.1.4:
-    resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
+    resolution:
+      {
+        integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==,
+      }
 
   character-entities@1.2.4:
-    resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
+    resolution:
+      {
+        integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==,
+      }
 
   character-reference-invalid@1.1.4:
-    resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
+    resolution:
+      {
+        integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==,
+      }
 
   check-error@1.0.3:
-    resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+    resolution:
+      {
+        integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==,
+      }
 
   chevrotain@7.1.1:
-    resolution: {integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==}
+    resolution:
+      {
+        integrity: sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==,
+      }
 
   chokidar@3.6.0:
-    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
-    engines: {node: '>= 8.10.0'}
+    resolution:
+      {
+        integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==,
+      }
+    engines: { node: ">= 8.10.0" }
 
   chownr@2.0.0:
-    resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==,
+      }
+    engines: { node: ">=10" }
 
   ci-info@4.0.0:
-    resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==,
+      }
+    engines: { node: ">=8" }
 
   citty@0.1.6:
-    resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==}
+    resolution:
+      {
+        integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==,
+      }
 
   clean-regexp@1.0.0:
-    resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==,
+      }
+    engines: { node: ">=4" }
 
   cli-cursor@4.0.0:
-    resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   cli-truncate@4.0.0:
-    resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==,
+      }
+    engines: { node: ">=18" }
 
   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" }
 
   code-red@1.0.4:
-    resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
+    resolution:
+      {
+        integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==,
+      }
 
   color-convert@1.9.3:
-    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+    resolution:
+      {
+        integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+      }
 
   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-name@1.1.3:
-    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+    resolution:
+      {
+        integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
+      }
 
   color-name@1.1.4:
-    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+    resolution:
+      {
+        integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+      }
 
   colorette@2.0.20:
-    resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
+    resolution:
+      {
+        integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
+      }
 
   commander@12.1.0:
-    resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==,
+      }
+    engines: { node: ">=18" }
 
   commander@4.1.1:
-    resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==,
+      }
+    engines: { node: ">= 6" }
 
   comment-parser@1.4.1:
-    resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
-    engines: {node: '>= 12.0.0'}
+    resolution:
+      {
+        integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==,
+      }
+    engines: { node: ">= 12.0.0" }
 
   concat-map@0.0.1:
-    resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+    resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= }
 
   confbox@0.1.7:
-    resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
+    resolution:
+      {
+        integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==,
+      }
 
   confusing-browser-globals@1.0.11:
-    resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
+    resolution:
+      {
+        integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==,
+      }
 
   consola@3.2.3:
-    resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
-    engines: {node: ^14.18.0 || >=16.10.0}
+    resolution:
+      {
+        integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==,
+      }
+    engines: { node: ^14.18.0 || >=16.10.0 }
 
   cookie-es@1.1.0:
-    resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==}
+    resolution:
+      {
+        integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==,
+      }
 
   core-js-compat@3.37.1:
-    resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==}
+    resolution:
+      {
+        integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==,
+      }
 
   cross-spawn@7.0.3:
-    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
-    engines: {node: '>= 8'}
+    resolution:
+      {
+        integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+      }
+    engines: { node: ">= 8" }
 
   crossws@0.2.4:
-    resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==}
+    resolution:
+      {
+        integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==,
+      }
     peerDependencies:
-      uWebSockets.js: '*'
+      uWebSockets.js: "*"
     peerDependenciesMeta:
       uWebSockets.js:
         optional: true
 
   css-tree@2.3.1:
-    resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
-    engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+    resolution:
+      {
+        integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==,
+      }
+    engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 }
 
   cssesc@3.0.0:
-    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==,
+      }
+    engines: { node: ">=4" }
     hasBin: true
 
   csstype@3.1.3:
-    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+    resolution:
+      {
+        integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==,
+      }
 
   damerau-levenshtein@1.0.8:
-    resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+    resolution:
+      {
+        integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==,
+      }
 
   data-view-buffer@1.0.1:
-    resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==,
+      }
+    engines: { node: ">= 0.4" }
 
   data-view-byte-length@1.0.1:
-    resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   data-view-byte-offset@1.0.0:
-    resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==,
+      }
+    engines: { node: ">= 0.4" }
 
   debug@3.2.7:
-    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+    resolution:
+      {
+        integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==,
+      }
     peerDependencies:
-      supports-color: '*'
+      supports-color: "*"
     peerDependenciesMeta:
       supports-color:
         optional: true
 
   debug@4.3.5:
-    resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==}
-    engines: {node: '>=6.0'}
+    resolution:
+      {
+        integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==,
+      }
+    engines: { node: ">=6.0" }
     peerDependencies:
-      supports-color: '*'
+      supports-color: "*"
     peerDependenciesMeta:
       supports-color:
         optional: true
 
   deep-eql@4.1.4:
-    resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==,
+      }
+    engines: { node: ">=6" }
 
   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.0.3:
-    resolution: {integrity: sha512-dxFbFO2RSIhPNBPL/j8Nvdt6/vrkW9+uGf1NLah/QxBGAVbK9fj2fGTO+HwdHpPAyFAsyT9iEn/1SI9SUvespw==}
-    engines: {node: '>=16.0.0'}
+    resolution:
+      {
+        integrity: sha512-dxFbFO2RSIhPNBPL/j8Nvdt6/vrkW9+uGf1NLah/QxBGAVbK9fj2fGTO+HwdHpPAyFAsyT9iEn/1SI9SUvespw==,
+      }
+    engines: { node: ">=16.0.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" }
 
   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" }
 
   defu@6.1.4:
-    resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+    resolution:
+      {
+        integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==,
+      }
 
   dequal@2.0.3:
-    resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==,
+      }
+    engines: { node: ">=6" }
 
   destr@2.0.3:
-    resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
+    resolution:
+      {
+        integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==,
+      }
 
   detect-indent@7.0.1:
-    resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==}
-    engines: {node: '>=12.20'}
+    resolution:
+      {
+        integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==,
+      }
+    engines: { node: ">=12.20" }
 
   detect-newline@4.0.1:
-    resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   didyoumean@1.2.2:
-    resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+    resolution:
+      {
+        integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==,
+      }
 
   diff-sequences@29.6.3:
-    resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
-    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    resolution:
+      {
+        integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==,
+      }
+    engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
 
   dir-glob@3.0.1:
-    resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==,
+      }
+    engines: { node: ">=8" }
 
   dlv@1.1.3:
-    resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+    resolution:
+      {
+        integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==,
+      }
 
   doctrine@2.1.0:
-    resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==,
+      }
+    engines: { node: ">=0.10.0" }
 
   doctrine@3.0.0:
-    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
-    engines: {node: '>=6.0.0'}
+    resolution:
+      {
+        integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==,
+      }
+    engines: { node: ">=6.0.0" }
 
   dotenv@16.4.5:
-    resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==,
+      }
+    engines: { node: ">=12" }
 
   eastasianwidth@0.2.0:
-    resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+    resolution:
+      {
+        integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
+      }
 
   electron-to-chromium@1.4.796:
-    resolution: {integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==}
+    resolution:
+      {
+        integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==,
+      }
 
   emoji-regex@10.3.0:
-    resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
+    resolution:
+      {
+        integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==,
+      }
 
   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==,
+      }
 
   enhanced-resolve@5.17.0:
-    resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==}
-    engines: {node: '>=10.13.0'}
+    resolution:
+      {
+        integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==,
+      }
+    engines: { node: ">=10.13.0" }
 
   entities@4.5.0:
-    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
-    engines: {node: '>=0.12'}
+    resolution:
+      {
+        integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==,
+      }
+    engines: { node: ">=0.12" }
 
   error-ex@1.3.2:
-    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+    resolution:
+      {
+        integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+      }
 
   es-abstract@1.23.3:
-    resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==,
+      }
+    engines: { node: ">= 0.4" }
 
   es-define-property@1.0.0:
-    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==,
+      }
+    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-iterator-helpers@1.0.19:
-    resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==,
+      }
+    engines: { node: ">= 0.4" }
 
   es-object-atoms@1.0.0:
-    resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==,
+      }
+    engines: { node: ">= 0.4" }
 
   es-set-tostringtag@2.0.3:
-    resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   es-shim-unscopables@1.0.2:
-    resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+    resolution:
+      {
+        integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==,
+      }
 
   es-to-primitive@1.2.1:
-    resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==,
+      }
+    engines: { node: ">= 0.4" }
 
   esbuild@0.20.2:
-    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==,
+      }
+    engines: { node: ">=12" }
     hasBin: true
 
   esbuild@0.21.4:
-    resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==,
+      }
+    engines: { node: ">=12" }
     hasBin: true
 
   escalade@3.1.2:
-    resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==,
+      }
+    engines: { node: ">=6" }
 
   escape-string-regexp@1.0.5:
-    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
-    engines: {node: '>=0.8.0'}
+    resolution:
+      {
+        integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
+      }
+    engines: { node: ">=0.8.0" }
 
   escape-string-regexp@4.0.0:
-    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+      }
+    engines: { node: ">=10" }
 
   eslint-compat-utils@0.5.1:
-    resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==,
+      }
+    engines: { node: ">=12" }
     peerDependencies:
-      eslint: '>=6.0.0'
+      eslint: ">=6.0.0"
 
   eslint-config-flat-gitignore@0.1.5:
-    resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==}
+    resolution:
+      {
+        integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==,
+      }
 
   eslint-config-prettier@9.1.0:
-    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+    resolution:
+      {
+        integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==,
+      }
     hasBin: true
     peerDependencies:
-      eslint: '>=7.0.0'
+      eslint: ">=7.0.0"
 
   eslint-flat-config-utils@0.2.5:
-    resolution: {integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==}
+    resolution:
+      {
+        integrity: sha512-iO+yLZtC/LKgACerkpvsZ6NoRVB2sxT04mOpnNcEM1aTwKy+6TsT46PUvrML4y2uVBS6I67hRCd2JiKAPaL/Uw==,
+      }
 
   eslint-formatting-reporter@0.0.0:
-    resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==}
+    resolution:
+      {
+        integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==,
+      }
     peerDependencies:
-      eslint: '>=8.40.0'
+      eslint: ">=8.40.0"
 
   eslint-import-resolver-node@0.3.9:
-    resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+    resolution:
+      {
+        integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==,
+      }
 
   eslint-merge-processors@0.1.0:
-    resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==}
+    resolution:
+      {
+        integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==,
+      }
     peerDependencies:
-      eslint: '*'
+      eslint: "*"
 
   eslint-module-utils@2.8.1:
-    resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==,
+      }
+    engines: { node: ">=4" }
     peerDependencies:
-      '@typescript-eslint/parser': '*'
-      eslint: '*'
-      eslint-import-resolver-node: '*'
-      eslint-import-resolver-typescript: '*'
-      eslint-import-resolver-webpack: '*'
+      "@typescript-eslint/parser": "*"
+      eslint: "*"
+      eslint-import-resolver-node: "*"
+      eslint-import-resolver-typescript: "*"
+      eslint-import-resolver-webpack: "*"
     peerDependenciesMeta:
-      '@typescript-eslint/parser':
+      "@typescript-eslint/parser":
         optional: true
       eslint:
         optional: true
@@ -1717,147 +2693,222 @@ packages:
         optional: true
 
   eslint-parser-plain@0.1.0:
-    resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==}
+    resolution:
+      {
+        integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==,
+      }
 
   eslint-plugin-antfu@2.3.3:
-    resolution: {integrity: sha512-TAgYNuc20QyKw8NXtpzR3LeMTTv1qAJVKkjCVzjRSGiSR1EetEY7LRgQVhcgP/C1FnI87isQERAIkKvkYyLq0Q==}
+    resolution:
+      {
+        integrity: sha512-TAgYNuc20QyKw8NXtpzR3LeMTTv1qAJVKkjCVzjRSGiSR1EetEY7LRgQVhcgP/C1FnI87isQERAIkKvkYyLq0Q==,
+      }
     peerDependencies:
-      eslint: '*'
+      eslint: "*"
 
   eslint-plugin-array-func@5.0.1:
-    resolution: {integrity: sha512-bRydL/TorX9B6HMMGzggkTzoaY0dM1iCIdA/SGM8VB2P8+38TH+dqYmDdfLCR5LOdDUHq0XBFgkvVnb7DB61cw==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-bRydL/TorX9B6HMMGzggkTzoaY0dM1iCIdA/SGM8VB2P8+38TH+dqYmDdfLCR5LOdDUHq0XBFgkvVnb7DB61cw==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=8.51.0'
+      eslint: ">=8.51.0"
 
   eslint-plugin-astro@1.2.0:
-    resolution: {integrity: sha512-Z2b/7a9EUNu8PWch6/fUKXTCj10hrbdVsR1CmUgke5nfrJuej+uUnL5z5hd9/IIWxLdSbk5Fowf/nyfbmhRmDQ==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-Z2b/7a9EUNu8PWch6/fUKXTCj10hrbdVsR1CmUgke5nfrJuej+uUnL5z5hd9/IIWxLdSbk5Fowf/nyfbmhRmDQ==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.57.0'
+      eslint: ">=8.57.0"
 
   eslint-plugin-clsx@0.0.3:
-    resolution: {integrity: sha512-iA0HW8yDKsa0WOniR1aaPVDOXTtphGr45AGxJ4AQ8/gkxTHvh7vLqETsq7h6zsX013FlrZSkxrcObd30y/PfqQ==}
+    resolution:
+      {
+        integrity: sha512-iA0HW8yDKsa0WOniR1aaPVDOXTtphGr45AGxJ4AQ8/gkxTHvh7vLqETsq7h6zsX013FlrZSkxrcObd30y/PfqQ==,
+      }
 
   eslint-plugin-command@0.2.3:
-    resolution: {integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==}
+    resolution:
+      {
+        integrity: sha512-1bBYNfjZg60N2ZpLV5ATYSYyueIJ+zl5yKrTs0UFDdnyu07dNSZ7Xplnc+Wb6SXTdc1sIaoIrnuyhvztcltX6A==,
+      }
     peerDependencies:
-      eslint: '*'
+      eslint: "*"
 
   eslint-plugin-es-x@7.7.0:
-    resolution: {integrity: sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==}
-    engines: {node: ^14.18.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-aP3qj8BwiEDPttxQkZdI221DLKq9sI/qHolE2YSQL1/9+xk7dTV+tB1Fz8/IaCA+lnLA1bDEnvaS2LKs0k2Uig==,
+      }
+    engines: { node: ^14.18.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=8'
+      eslint: ">=8"
 
   eslint-plugin-escompat@3.4.0:
-    resolution: {integrity: sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==}
+    resolution:
+      {
+        integrity: sha512-ufTPv8cwCxTNoLnTZBFTQ5SxU2w7E7wiMIS7PSxsgP1eAxFjtSaoZ80LRn64hI8iYziE6kJG6gX/ZCJVxh48Bg==,
+      }
     peerDependencies:
-      eslint: '>=5.14.1'
+      eslint: ">=5.14.1"
 
   eslint-plugin-eslint-comments@3.2.0:
-    resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
-    engines: {node: '>=6.5.0'}
+    resolution:
+      {
+        integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==,
+      }
+    engines: { node: ">=6.5.0" }
     peerDependencies:
-      eslint: '>=4.19.1'
+      eslint: ">=4.19.1"
 
   eslint-plugin-expect-type@0.4.0:
-    resolution: {integrity: sha512-dUzhlYYZIg/biVXvQxtCc8/rbE4n8WiHDIPXDCM2MBJsaP2S9IiC5XGLQMV0+z6jkayztwVjSDlDrHMeImLHEA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-dUzhlYYZIg/biVXvQxtCc8/rbE4n8WiHDIPXDCM2MBJsaP2S9IiC5XGLQMV0+z6jkayztwVjSDlDrHMeImLHEA==,
+      }
+    engines: { node: ">=18" }
     peerDependencies:
-      '@typescript-eslint/parser': '>=6'
-      eslint: '>=7'
-      typescript: '>=4'
+      "@typescript-eslint/parser": ">=6"
+      eslint: ">=7"
+      typescript: ">=4"
 
   eslint-plugin-filenames@1.3.2:
-    resolution: {integrity: sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==}
+    resolution:
+      {
+        integrity: sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==,
+      }
     peerDependencies:
-      eslint: '*'
+      eslint: "*"
 
   eslint-plugin-format@0.1.1:
-    resolution: {integrity: sha512-jzk70D3RbaseNIdMtimMqiJHDPUw9bzZjmZTT9tQ6x3HU9U9bGqnsieQK5H0FIZUpx4qC41CidLDWwVCylICRQ==}
+    resolution:
+      {
+        integrity: sha512-jzk70D3RbaseNIdMtimMqiJHDPUw9bzZjmZTT9tQ6x3HU9U9bGqnsieQK5H0FIZUpx4qC41CidLDWwVCylICRQ==,
+      }
     peerDependencies:
       eslint: ^8.40.0 || ^9.0.0
 
   eslint-plugin-github@5.0.1:
-    resolution: {integrity: sha512-qbXG3wL5Uh2JB92EKeX2hPtO9c/t75qVxQjVLYuTFfhHifLZzv9CBvLCvoaBhLrAC/xTMVht7DK/NofYK8X4Dg==}
+    resolution:
+      {
+        integrity: sha512-qbXG3wL5Uh2JB92EKeX2hPtO9c/t75qVxQjVLYuTFfhHifLZzv9CBvLCvoaBhLrAC/xTMVht7DK/NofYK8X4Dg==,
+      }
     hasBin: true
     peerDependencies:
       eslint: ^8.0.1
 
   eslint-plugin-i18n-text@1.0.1:
-    resolution: {integrity: sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==}
+    resolution:
+      {
+        integrity: sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==,
+      }
     peerDependencies:
-      eslint: '>=5.0.0'
+      eslint: ">=5.0.0"
 
   eslint-plugin-import-x@0.5.1:
-    resolution: {integrity: sha512-2JK8bbFOLes+gG6tgdnM8safCxMAj4u2wjX8X1BRFPfnY7Ct2hFYESoIcVwABX/DDcdpQFLGtKmzbNEWJZD9iQ==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-2JK8bbFOLes+gG6tgdnM8safCxMAj4u2wjX8X1BRFPfnY7Ct2hFYESoIcVwABX/DDcdpQFLGtKmzbNEWJZD9iQ==,
+      }
+    engines: { node: ">=16" }
     peerDependencies:
       eslint: ^8.56.0 || ^9.0.0-0
 
   eslint-plugin-import@2.29.1:
-    resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==,
+      }
+    engines: { node: ">=4" }
     peerDependencies:
-      '@typescript-eslint/parser': '*'
+      "@typescript-eslint/parser": "*"
       eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
     peerDependenciesMeta:
-      '@typescript-eslint/parser':
+      "@typescript-eslint/parser":
         optional: true
 
   eslint-plugin-jsdoc@48.2.9:
-    resolution: {integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-ErpKyr2mEUEkcdZ4nwW/cvDjClvAcvJMEXkGGll0wf8sro8h6qeQ3qlZyp1vM1dRk8Ap6rMdke8FnP94QBIaVQ==,
+      }
+    engines: { node: ">=18" }
     peerDependencies:
       eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
 
   eslint-plugin-jsonc@2.16.0:
-    resolution: {integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=6.0.0'
+      eslint: ">=6.0.0"
 
   eslint-plugin-jsx-a11y@6.8.0:
-    resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
-    engines: {node: '>=4.0'}
+    resolution:
+      {
+        integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==,
+      }
+    engines: { node: ">=4.0" }
     peerDependencies:
       eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
 
   eslint-plugin-markdown@5.0.0:
-    resolution: {integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-kY2u9yDhzvfZ0kmRTsvgm3mTnvZgTSGIIPeHg3yesSx4R5CTCnITUjCPhzCD1MUhNcqHU5Tr6lzx+02EclVPbw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8'
+      eslint: ">=8"
 
   eslint-plugin-n@17.8.1:
-    resolution: {integrity: sha512-KdG0h0voZms8UhndNu8DeWx1eM4sY+A4iXtsNo6kOfJLYHNeTGPacGalJ9GcvrbmOL3r/7QOMwVZDSw+1SqsrA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-KdG0h0voZms8UhndNu8DeWx1eM4sY+A4iXtsNo6kOfJLYHNeTGPacGalJ9GcvrbmOL3r/7QOMwVZDSw+1SqsrA==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     peerDependencies:
-      eslint: '>=8.23.0'
+      eslint: ">=8.23.0"
 
   eslint-plugin-no-only-tests@3.1.0:
-    resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==}
-    engines: {node: '>=5.0.0'}
+    resolution:
+      {
+        integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==,
+      }
+    engines: { node: ">=5.0.0" }
 
   eslint-plugin-no-use-extend-native@0.7.0:
-    resolution: {integrity: sha512-DdaYulfC0pSPO9k1yKWOCYjzssbuemCEWnbW0PiD5BWCrVAk7Z89mMJE82Fj7FhYRb8mjR1DVmpiFRNU2C4dWw==}
-    engines: {node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-DdaYulfC0pSPO9k1yKWOCYjzssbuemCEWnbW0PiD5BWCrVAk7Z89mMJE82Fj7FhYRb8mjR1DVmpiFRNU2C4dWw==,
+      }
+    engines: { node: ">=18.18.0" }
     peerDependencies:
       eslint: ^9.3.0
 
   eslint-plugin-optimize-regex@1.2.1:
-    resolution: {integrity: sha512-fUaU7Tj1G/KSTDTABJw4Wp427Rl7RPl9ViYTu1Jrv36fJw4DFhd4elPdXiuYtdPsNsvzn9GcVlKEssGIVjw0UQ==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-fUaU7Tj1G/KSTDTABJw4Wp427Rl7RPl9ViYTu1Jrv36fJw4DFhd4elPdXiuYtdPsNsvzn9GcVlKEssGIVjw0UQ==,
+      }
+    engines: { node: ">=10" }
 
   eslint-plugin-perfectionist@2.10.0:
-    resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==}
+    resolution:
+      {
+        integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==,
+      }
     peerDependencies:
       astro-eslint-parser: ^0.16.0
-      eslint: '>=8.0.0'
-      svelte: '>=3.0.0'
+      eslint: ">=8.0.0"
+      svelte: ">=3.0.0"
       svelte-eslint-parser: ^0.33.0
-      vue-eslint-parser: '>=9.0.0'
+      vue-eslint-parser: ">=9.0.0"
     peerDependenciesMeta:
       astro-eslint-parser:
         optional: true
@@ -1869,22 +2920,28 @@ packages:
         optional: true
 
   eslint-plugin-prettier@5.1.3:
-    resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
-    engines: {node: ^14.18.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==,
+      }
+    engines: { node: ^14.18.0 || >=16.0.0 }
     peerDependencies:
-      '@types/eslint': '>=8.0.0'
-      eslint: '>=8.0.0'
-      eslint-config-prettier: '*'
-      prettier: '>=3.0.0'
+      "@types/eslint": ">=8.0.0"
+      eslint: ">=8.0.0"
+      eslint-config-prettier: "*"
+      prettier: ">=3.0.0"
     peerDependenciesMeta:
-      '@types/eslint':
+      "@types/eslint":
         optional: true
       eslint-config-prettier:
         optional: true
 
   eslint-plugin-react-core@1.5.15:
-    resolution: {integrity: sha512-G2zH0phEwjrblx0MtEzjME/+ZZfHGUjN7a+yKPwj/Fs5mkMqzC/UG9cfAKW2Fo9ZpHcE9tdrR2FVW8ketgQuRg==}
-    engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-G2zH0phEwjrblx0MtEzjME/+ZZfHGUjN7a+yKPwj/Fs5mkMqzC/UG9cfAKW2Fo9ZpHcE9tdrR2FVW8ketgQuRg==,
+      }
+    engines: { bun: ">=1.0.15", node: ">=18.18.0" }
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
       typescript: ^5.3.3
@@ -1893,8 +2950,11 @@ packages:
         optional: true
 
   eslint-plugin-react-dom@1.5.15:
-    resolution: {integrity: sha512-yt0ATYbTi7DlCiY7q931vHCIzNahbIhwSMhUdMw5D97rew9/BJ53Ah6eWr5bbQuXfrUdWCsDJTUUbjF9oSPKgA==}
-    engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-yt0ATYbTi7DlCiY7q931vHCIzNahbIhwSMhUdMw5D97rew9/BJ53Ah6eWr5bbQuXfrUdWCsDJTUUbjF9oSPKgA==,
+      }
+    engines: { bun: ">=1.0.15", node: ">=18.18.0" }
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
       typescript: ^5.3.3
@@ -1903,8 +2963,11 @@ packages:
         optional: true
 
   eslint-plugin-react-hooks-extra@1.5.15:
-    resolution: {integrity: sha512-w6xGcTt2w+QpdXpmONZ2NabUZbF/oeeL6sp4rroud9NDu1n9jG5aobDdYMFemYTQmws4+eW+Ns/ZqZexX76phA==}
-    engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-w6xGcTt2w+QpdXpmONZ2NabUZbF/oeeL6sp4rroud9NDu1n9jG5aobDdYMFemYTQmws4+eW+Ns/ZqZexX76phA==,
+      }
+    engines: { bun: ">=1.0.15", node: ">=18.18.0" }
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
       typescript: ^5.3.3
@@ -1913,14 +2976,20 @@ packages:
         optional: true
 
   eslint-plugin-react-hooks@4.6.2:
-    resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==,
+      }
+    engines: { node: ">=10" }
     peerDependencies:
       eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
 
   eslint-plugin-react-naming-convention@1.5.15:
-    resolution: {integrity: sha512-2xfea8v9VcKHoo2xOhi48s/81PHGxXqeC35hOvB2p80zpsQpptRcAmXHhdrLhnA9o/3AiVyI+9dZvzQ6WsvzUA==}
-    engines: {bun: '>=1.0.15', node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-2xfea8v9VcKHoo2xOhi48s/81PHGxXqeC35hOvB2p80zpsQpptRcAmXHhdrLhnA9o/3AiVyI+9dZvzQ6WsvzUA==,
+      }
+    engines: { bun: ">=1.0.15", node: ">=18.18.0" }
     peerDependencies:
       eslint: ^8.57.0 || ^9.0.0
       typescript: ^5.3.3
@@ -1929,46 +2998,70 @@ packages:
         optional: true
 
   eslint-plugin-react-refresh@0.4.7:
-    resolution: {integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==}
+    resolution:
+      {
+        integrity: sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==,
+      }
     peerDependencies:
-      eslint: '>=7'
+      eslint: ">=7"
 
   eslint-plugin-react@7.34.2:
-    resolution: {integrity: sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==,
+      }
+    engines: { node: ">=4" }
     peerDependencies:
       eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
 
   eslint-plugin-regexp@2.6.0:
-    resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==}
-    engines: {node: ^18 || >=20}
+    resolution:
+      {
+        integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==,
+      }
+    engines: { node: ^18 || >=20 }
     peerDependencies:
-      eslint: '>=8.44.0'
+      eslint: ">=8.44.0"
 
   eslint-plugin-security@3.0.0:
-    resolution: {integrity: sha512-2Ij7PkmXIF2cKwoVkEgemwoXbOnxg5UfdhdcpNxZwJxC/10dbsdhHISrTyJ/n8DUkt3yiN6P1ywEgcMGjIwHIw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-2Ij7PkmXIF2cKwoVkEgemwoXbOnxg5UfdhdcpNxZwJxC/10dbsdhHISrTyJ/n8DUkt3yiN6P1ywEgcMGjIwHIw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
 
   eslint-plugin-solid@0.14.0:
-    resolution: {integrity: sha512-EY0GJLOZdLynAyBM39WBLJH2bUftGI0KekyzpfxQEhCTuOhXkIRf648P97mQjME3TDaQQbY+ObVXeE2mjfs4FQ==}
-    engines: {node: '>=12.0.0'}
+    resolution:
+      {
+        integrity: sha512-EY0GJLOZdLynAyBM39WBLJH2bUftGI0KekyzpfxQEhCTuOhXkIRf648P97mQjME3TDaQQbY+ObVXeE2mjfs4FQ==,
+      }
+    engines: { node: ">=12.0.0" }
     peerDependencies:
       eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
 
   eslint-plugin-sonarjs@1.0.3:
-    resolution: {integrity: sha512-6s41HLPYPyDrp+5+7Db5yFYbod6h9pC7yx+xfcNwHRcLe1EZwbbQT/tdOAkR7ekVUkNGEvN3GmYakIoQUX7dEg==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-6s41HLPYPyDrp+5+7Db5yFYbod6h9pC7yx+xfcNwHRcLe1EZwbbQT/tdOAkR7ekVUkNGEvN3GmYakIoQUX7dEg==,
+      }
+    engines: { node: ">=16" }
     peerDependencies:
       eslint: ^8.0.0 || ^9.0.0
 
   eslint-plugin-ssr-friendly@1.3.0:
-    resolution: {integrity: sha512-VOYl9OgK9mSVWxwl3pSTzNmBUMhPYjDGmxgyjSM9Agdve4GHjn0gAcCG/seg1taaW/aBWTkb7Aw4GIBsxVhL9Q==}
+    resolution:
+      {
+        integrity: sha512-VOYl9OgK9mSVWxwl3pSTzNmBUMhPYjDGmxgyjSM9Agdve4GHjn0gAcCG/seg1taaW/aBWTkb7Aw4GIBsxVhL9Q==,
+      }
     peerDependencies:
-      eslint: '>=0.8.0'
+      eslint: ">=0.8.0"
 
   eslint-plugin-svelte@2.39.0:
-    resolution: {integrity: sha512-FXktBLXsrxbA+6ZvJK2z/sQOrUKyzSg3fNWK5h0reSCjr2fjAsc9ai/s/JvSl4Hgvz3nYVtTIMwarZH5RcB7BA==}
-    engines: {node: ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-FXktBLXsrxbA+6ZvJK2z/sQOrUKyzSg3fNWK5h0reSCjr2fjAsc9ai/s/JvSl4Hgvz3nYVtTIMwarZH5RcB7BA==,
+      }
+    engines: { node: ^14.17.0 || >=16.0.0 }
     peerDependencies:
       eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0
       svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.112
@@ -1977,1164 +3070,2067 @@ packages:
         optional: true
 
   eslint-plugin-tailwindcss@3.17.3:
-    resolution: {integrity: sha512-DVMVVUFQ+lPraRSuUk2I41XMnusXT6b3WaQZYlUHduULnERaqe9sNfmpRY1IyxlzmKoQxSbZ8IHRhl9ePo8PeA==}
-    engines: {node: '>=18.12.0'}
+    resolution:
+      {
+        integrity: sha512-DVMVVUFQ+lPraRSuUk2I41XMnusXT6b3WaQZYlUHduULnERaqe9sNfmpRY1IyxlzmKoQxSbZ8IHRhl9ePo8PeA==,
+      }
+    engines: { node: ">=18.12.0" }
     peerDependencies:
       tailwindcss: ^3.4.0
 
   eslint-plugin-toml@0.11.0:
-    resolution: {integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=6.0.0'
+      eslint: ">=6.0.0"
 
   eslint-plugin-tsdoc@0.3.0:
-    resolution: {integrity: sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==}
+    resolution:
+      {
+        integrity: sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==,
+      }
 
   eslint-plugin-unicorn@53.0.0:
-    resolution: {integrity: sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==}
-    engines: {node: '>=18.18'}
+    resolution:
+      {
+        integrity: sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==,
+      }
+    engines: { node: ">=18.18" }
     peerDependencies:
-      eslint: '>=8.56.0'
+      eslint: ">=8.56.0"
 
   eslint-plugin-unused-imports@3.2.0:
-    resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      '@typescript-eslint/eslint-plugin': 6 - 7
-      eslint: '8'
+      "@typescript-eslint/eslint-plugin": 6 - 7
+      eslint: "8"
     peerDependenciesMeta:
-      '@typescript-eslint/eslint-plugin':
+      "@typescript-eslint/eslint-plugin":
         optional: true
 
   eslint-plugin-vitest@0.5.4:
-    resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
-    engines: {node: ^18.0.0 || >= 20.0.0}
+    resolution:
+      {
+        integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==,
+      }
+    engines: { node: ^18.0.0 || >= 20.0.0 }
     peerDependencies:
-      '@typescript-eslint/eslint-plugin': '*'
+      "@typescript-eslint/eslint-plugin": "*"
       eslint: ^8.57.0 || ^9.0.0
-      vitest: '*'
+      vitest: "*"
     peerDependenciesMeta:
-      '@typescript-eslint/eslint-plugin':
+      "@typescript-eslint/eslint-plugin":
         optional: true
       vitest:
         optional: true
 
   eslint-plugin-vue@9.26.0:
-    resolution: {integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==}
-    engines: {node: ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-eTvlxXgd4ijE1cdur850G6KalZqk65k1JKoOI2d1kT3hr8sPD07j1q98FRFdNnpxBELGPWxZmInxeHGF/GxtqQ==,
+      }
+    engines: { node: ^14.17.0 || >=16.0.0 }
     peerDependencies:
       eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
 
   eslint-plugin-workspaces@0.10.1:
-    resolution: {integrity: sha512-17p+ljQq2oYtN+cS6F52wRCV7xVh5fHiBOhQaYkSShRwRdiTvEkD6gvGysZjx08ckr9cozIFqI9SxdgTWDV9+g==}
+    resolution:
+      {
+        integrity: sha512-17p+ljQq2oYtN+cS6F52wRCV7xVh5fHiBOhQaYkSShRwRdiTvEkD6gvGysZjx08ckr9cozIFqI9SxdgTWDV9+g==,
+      }
 
   eslint-plugin-yml@1.14.0:
-    resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==}
-    engines: {node: ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==,
+      }
+    engines: { node: ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=6.0.0'
+      eslint: ">=6.0.0"
 
   eslint-processor-vue-blocks@0.1.2:
-    resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==}
+    resolution:
+      {
+        integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==,
+      }
     peerDependencies:
-      '@vue/compiler-sfc': ^3.3.0
+      "@vue/compiler-sfc": ^3.3.0
       eslint: ^8.50.0 || ^9.0.0
 
   eslint-rule-composer@0.3.0:
-    resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
-    engines: {node: '>=4.0.0'}
+    resolution:
+      {
+        integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==,
+      }
+    engines: { node: ">=4.0.0" }
 
   eslint-rule-documentation@1.0.23:
-    resolution: {integrity: sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==}
-    engines: {node: '>=4.0.0'}
+    resolution:
+      {
+        integrity: sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==,
+      }
+    engines: { node: ">=4.0.0" }
 
   eslint-scope@7.2.2:
-    resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
 
   eslint-scope@8.0.1:
-    resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
 
   eslint-ts-patch@9.4.0-0:
-    resolution: {integrity: sha512-0Ywy+2MdEkfElxuMm8Lq6EzNDwvtL770OiDWko/azaQYB5oluzr4qVBHklhY4GnwInf1hqnpcSfnqPTJ9lGYyA==}
+    resolution:
+      {
+        integrity: sha512-0Ywy+2MdEkfElxuMm8Lq6EzNDwvtL770OiDWko/azaQYB5oluzr4qVBHklhY4GnwInf1hqnpcSfnqPTJ9lGYyA==,
+      }
     hasBin: true
 
   eslint-typegen@0.2.4:
-    resolution: {integrity: sha512-NQAsPiq7U8VT4Xue5JWu3/gP7O5M4M7OhF49Vpx3iuxEq6oyLmdVBFyB1u0QLiby7luGDHLrMl1wfqZClZU6eg==}
+    resolution:
+      {
+        integrity: sha512-NQAsPiq7U8VT4Xue5JWu3/gP7O5M4M7OhF49Vpx3iuxEq6oyLmdVBFyB1u0QLiby7luGDHLrMl1wfqZClZU6eg==,
+      }
     peerDependencies:
       eslint: ^8.45.0 || ^9.0.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.0.0:
-    resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
 
   eslint@9.4.0:
-    resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
     hasBin: true
 
   esno@4.7.0:
-    resolution: {integrity: sha512-81owrjxIxOwqcABt20U09Wn8lpBo9K6ttqbGvQcB3VYNLJyaV1fvKkDtpZd3Rj5BX3WXiGiJCjUevKQGNICzJg==}
+    resolution:
+      {
+        integrity: sha512-81owrjxIxOwqcABt20U09Wn8lpBo9K6ttqbGvQcB3VYNLJyaV1fvKkDtpZd3Rj5BX3WXiGiJCjUevKQGNICzJg==,
+      }
     hasBin: true
 
   espree@10.0.1:
-    resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==}
-    engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+    resolution:
+      {
+        integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==,
+      }
+    engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
 
   espree@9.6.1:
-    resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
 
   esquery@1.5.0:
-    resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
-    engines: {node: '>=0.10'}
+    resolution:
+      {
+        integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==,
+      }
+    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" }
 
   estree-walker@2.0.2:
-    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+    resolution:
+      {
+        integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
+      }
 
   estree-walker@3.0.3:
-    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+    resolution:
+      {
+        integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+      }
 
   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" }
 
   eventemitter3@5.0.1:
-    resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
+    resolution:
+      {
+        integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
+      }
 
   execa@5.1.1:
-    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==,
+      }
+    engines: { node: ">=10" }
 
   execa@8.0.1:
-    resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
-    engines: {node: '>=16.17'}
+    resolution:
+      {
+        integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
+      }
+    engines: { node: ">=16.17" }
 
   execa@9.2.0:
-    resolution: {integrity: sha512-vpOyYg7UAVKLAWWtRS2gAdgkT7oJbCn0me3gmUmxZih4kd3MF/oo8kNTBTIbkO3yuuF5uB4ZCZfn8BOolITYhg==}
-    engines: {node: ^18.19.0 || >=20.5.0}
+    resolution:
+      {
+        integrity: sha512-vpOyYg7UAVKLAWWtRS2gAdgkT7oJbCn0me3gmUmxZih4kd3MF/oo8kNTBTIbkO3yuuF5uB4ZCZfn8BOolITYhg==,
+      }
+    engines: { node: ^18.19.0 || >=20.5.0 }
 
   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-glob@3.3.2:
-    resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
-    engines: {node: '>=8.6.0'}
+    resolution:
+      {
+        integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==,
+      }
+    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==,
+      }
 
   fastq@1.17.1:
-    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+    resolution:
+      {
+        integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
+      }
 
   figures@6.1.0:
-    resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==,
+      }
+    engines: { node: ">=18" }
 
   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" }
 
   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@4.1.0:
-    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==,
+      }
+    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" }
 
   find-up@7.0.0:
-    resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==,
+      }
+    engines: { node: ">=18" }
 
   find-workspaces@0.3.1:
-    resolution: {integrity: sha512-UDkGILGJSA1LN5Aa7McxCid4sqW3/e+UYsVwyxki3dDT0F8+ym0rAfnCkEfkL0rO7M+8/mvkim4t/s3IPHmg+w==}
+    resolution:
+      {
+        integrity: sha512-UDkGILGJSA1LN5Aa7McxCid4sqW3/e+UYsVwyxki3dDT0F8+ym0rAfnCkEfkL0rO7M+8/mvkim4t/s3IPHmg+w==,
+      }
 
   flat-cache@4.0.1:
-    resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==,
+      }
+    engines: { node: ">=16" }
 
   flatted@3.3.1:
-    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+    resolution:
+      {
+        integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
+      }
 
   for-each@0.3.3:
-    resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+    resolution:
+      {
+        integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==,
+      }
 
   foreground-child@3.1.1:
-    resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==,
+      }
+    engines: { node: ">=14" }
 
   fs-extra@11.2.0:
-    resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
-    engines: {node: '>=14.14'}
+    resolution:
+      {
+        integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==,
+      }
+    engines: { node: ">=14.14" }
 
   fs-minipass@2.1.0:
-    resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
-    engines: {node: '>= 8'}
+    resolution:
+      {
+        integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==,
+      }
+    engines: { node: ">= 8" }
 
   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.6:
-    resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==,
+      }
+    engines: { node: ">= 0.4" }
 
   functions-have-names@1.2.3:
-    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+    resolution:
+      {
+        integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==,
+      }
 
   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-east-asian-width@1.2.0:
-    resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==,
+      }
+    engines: { node: ">=18" }
 
   get-func-name@2.0.2:
-    resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
+    resolution:
+      {
+        integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==,
+      }
 
   get-intrinsic@1.2.4:
-    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   get-port-please@3.1.2:
-    resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==}
+    resolution:
+      {
+        integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==,
+      }
 
   get-set-props@0.2.0:
-    resolution: {integrity: sha512-YCmOj+4YAeEB5Dd9jfp6ETdejMet4zSxXjNkgaa4npBEKRI9uDOGB5MmAdAgi2OoFGAKshYhCbmLq2DS03CgVA==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-YCmOj+4YAeEB5Dd9jfp6ETdejMet4zSxXjNkgaa4npBEKRI9uDOGB5MmAdAgi2OoFGAKshYhCbmLq2DS03CgVA==,
+      }
+    engines: { node: ">=18.0.0" }
 
   get-stdin@9.0.0:
-    resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==,
+      }
+    engines: { node: ">=12" }
 
   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-stream@8.0.1:
-    resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
+      }
+    engines: { node: ">=16" }
 
   get-stream@9.0.1:
-    resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==,
+      }
+    engines: { node: ">=18" }
 
   get-symbol-description@1.0.2:
-    resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==,
+      }
+    engines: { node: ">= 0.4" }
 
   get-tsconfig@4.7.5:
-    resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
+    resolution:
+      {
+        integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==,
+      }
 
   giget@1.2.3:
-    resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
+    resolution:
+      {
+        integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==,
+      }
     hasBin: true
 
   git-hooks-list@3.1.0:
-    resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==}
+    resolution:
+      {
+        integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==,
+      }
 
   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.3.10:
-    resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
-    engines: {node: '>=16 || 14 >=14.17'}
+    resolution:
+      {
+        integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==,
+      }
+    engines: { node: ">=16 || 14 >=14.17" }
     hasBin: true
 
   glob@10.4.1:
-    resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==}
-    engines: {node: '>=16 || 14 >=14.18'}
+    resolution:
+      {
+        integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==,
+      }
+    engines: { node: ">=16 || 14 >=14.18" }
     hasBin: true
 
   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@13.24.0:
-    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==,
+      }
+    engines: { node: ">=8" }
 
   globals@14.0.0:
-    resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==,
+      }
+    engines: { node: ">=18" }
 
   globals@15.4.0:
-    resolution: {integrity: sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ==,
+      }
+    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@11.1.0:
-    resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==,
+      }
+    engines: { node: ">=10" }
 
   globby@13.2.2:
-    resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   gopd@1.0.1:
-    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+    resolution:
+      {
+        integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==,
+      }
 
   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==,
+      }
 
   h3@1.11.1:
-    resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==}
+    resolution:
+      {
+        integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==,
+      }
 
   has-bigints@1.0.2:
-    resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+    resolution:
+      {
+        integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==,
+      }
 
   has-flag@3.0.0:
-    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
+      }
+    engines: { node: ">=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.0.3:
-    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==,
+      }
+    engines: { node: ">= 0.4" }
 
   has-symbols@1.0.3:
-    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==,
+      }
+    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" }
 
   hosted-git-info@2.8.9:
-    resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+    resolution:
+      {
+        integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==,
+      }
 
   html-tags@3.3.1:
-    resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==,
+      }
+    engines: { node: ">=8" }
 
   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" }
 
   human-signals@5.0.0:
-    resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
-    engines: {node: '>=16.17.0'}
+    resolution:
+      {
+        integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
+      }
+    engines: { node: ">=16.17.0" }
 
   human-signals@7.0.0:
-    resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==}
-    engines: {node: '>=18.18.0'}
+    resolution:
+      {
+        integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==,
+      }
+    engines: { node: ">=18.18.0" }
 
   ignore@5.3.1:
-    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
-    engines: {node: '>= 4'}
+    resolution:
+      {
+        integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==,
+      }
+    engines: { node: ">= 4" }
 
   import-fresh@3.3.0:
-    resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+      }
+    engines: { node: ">=6" }
 
   importx@0.3.5:
-    resolution: {integrity: sha512-YkIUWkeNX/sxxU6lVTxhqQH0e63iH97gZic6B+a3GgOlox7GMpJEbgu1alyEf6hU55uN+1qFXBLOzDhGlZ1Mfw==}
+    resolution:
+      {
+        integrity: sha512-YkIUWkeNX/sxxU6lVTxhqQH0e63iH97gZic6B+a3GgOlox7GMpJEbgu1alyEf6hU55uN+1qFXBLOzDhGlZ1Mfw==,
+      }
 
   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" }
 
   inline-style-parser@0.2.3:
-    resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
+    resolution:
+      {
+        integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==,
+      }
 
   internal-slot@1.0.7:
-    resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==,
+      }
+    engines: { node: ">= 0.4" }
 
   iron-webcrypto@1.2.1:
-    resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
+    resolution:
+      {
+        integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==,
+      }
 
   is-alphabetical@1.0.4:
-    resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
+    resolution:
+      {
+        integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==,
+      }
 
   is-alphanumerical@1.0.4:
-    resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
+    resolution:
+      {
+        integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==,
+      }
 
   is-array-buffer@3.0.4:
-    resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-arrayish@0.2.1:
-    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+    resolution:
+      {
+        integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+      }
 
   is-async-function@2.0.0:
-    resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-bigint@1.0.4:
-    resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+    resolution:
+      {
+        integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==,
+      }
 
   is-binary-path@2.1.0:
-    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==,
+      }
+    engines: { node: ">=8" }
 
   is-boolean-object@1.1.2:
-    resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-builtin-module@3.2.1:
-    resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==,
+      }
+    engines: { node: ">=6" }
 
   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-core-module@2.13.1:
-    resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+    resolution:
+      {
+        integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==,
+      }
 
   is-data-view@1.0.1:
-    resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-date-object@1.0.5:
-    resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-decimal@1.0.4:
-    resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
+    resolution:
+      {
+        integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==,
+      }
 
   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.0.2:
-    resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+    resolution:
+      {
+        integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==,
+      }
 
   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-fullwidth-code-point@4.0.0:
-    resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==,
+      }
+    engines: { node: ">=12" }
 
   is-fullwidth-code-point@5.0.0:
-    resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==,
+      }
+    engines: { node: ">=18" }
 
   is-generator-function@1.0.10:
-    resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-get-set-prop@2.0.0:
-    resolution: {integrity: sha512-C32bqXfHJfRwa0U5UIMqSGziZhALszXDJZ8n8mz8WZ6c6V7oYGHEWwJvftliBswypY3P3EQqdY5lpDSEKvTS1Q==}
-    engines: {node: '> 18.0.0'}
+    resolution:
+      {
+        integrity: sha512-C32bqXfHJfRwa0U5UIMqSGziZhALszXDJZ8n8mz8WZ6c6V7oYGHEWwJvftliBswypY3P3EQqdY5lpDSEKvTS1Q==,
+      }
+    engines: { node: "> 18.0.0" }
 
   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-hexadecimal@1.0.4:
-    resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
+    resolution:
+      {
+        integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==,
+      }
 
   is-html@2.0.0:
-    resolution: {integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==,
+      }
+    engines: { node: ">=8" }
 
   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-js-type@3.0.0:
-    resolution: {integrity: sha512-IbPf3g3vxm1D902xaBaYp2TUHiXZWwWRu5bM9hgKN9oAQcFaKALV6Gd13PGhXjKE5u2n8s1PhLhdke/E1fchxQ==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-IbPf3g3vxm1D902xaBaYp2TUHiXZWwWRu5bM9hgKN9oAQcFaKALV6Gd13PGhXjKE5u2n8s1PhLhdke/E1fchxQ==,
+      }
+    engines: { node: ">=18.0.0" }
 
   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-negative-zero@2.0.3:
-    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-number-object@1.0.7:
-    resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==,
+      }
+    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-obj-prop@2.0.0:
-    resolution: {integrity: sha512-2/VFrbzXSZVJIscazpxoB+pOQx2jBOAAL9Gui4cRKxflznUNBpsr8IDvBA4UGol3e40sltLNiY3qnZv/7qSUxA==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-2/VFrbzXSZVJIscazpxoB+pOQx2jBOAAL9Gui4cRKxflznUNBpsr8IDvBA4UGol3e40sltLNiY3qnZv/7qSUxA==,
+      }
+    engines: { node: ">=18.0.0" }
 
   is-path-inside@3.0.3:
-    resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==,
+      }
+    engines: { node: ">=8" }
 
   is-plain-obj@4.1.0:
-    resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==,
+      }
+    engines: { node: ">=12" }
 
   is-proto-prop@3.0.1:
-    resolution: {integrity: sha512-S8xSxNMGJO4eZD86kO46zrq2gLIhA+rN9443lQEvt8Mz/l8cxk72p/AWFmofY6uL9g9ILD6cXW6j8QQj4F3Hcw==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-S8xSxNMGJO4eZD86kO46zrq2gLIhA+rN9443lQEvt8Mz/l8cxk72p/AWFmofY6uL9g9ILD6cXW6j8QQj4F3Hcw==,
+      }
+    engines: { node: ">=18.0.0" }
 
   is-reference@3.0.2:
-    resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
+    resolution:
+      {
+        integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==,
+      }
 
   is-regex@1.1.4:
-    resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==,
+      }
+    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.3:
-    resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==,
+      }
+    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-stream@3.0.0:
-    resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   is-stream@4.0.1:
-    resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==,
+      }
+    engines: { node: ">=18" }
 
   is-string@1.0.7:
-    resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-symbol@1.0.4:
-    resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-typed-array@1.1.13:
-    resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==,
+      }
+    engines: { node: ">= 0.4" }
 
   is-unicode-supported@2.0.0:
-    resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==,
+      }
+    engines: { node: ">=18" }
 
   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.0.2:
-    resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+    resolution:
+      {
+        integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==,
+      }
 
   is-weakset@2.0.3:
-    resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   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@2.0.5:
-    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+    resolution:
+      {
+        integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==,
+      }
 
   isexe@2.0.0:
-    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+    resolution:
+      {
+        integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+      }
 
   iterator.prototype@1.1.2:
-    resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+    resolution:
+      {
+        integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==,
+      }
 
   jackspeak@2.3.6:
-    resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==,
+      }
+    engines: { node: ">=14" }
 
   jackspeak@3.4.0:
-    resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==,
+      }
+    engines: { node: ">=14" }
 
   javascript-natural-sort@0.7.1:
-    resolution: {integrity: sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=}
+    resolution: { integrity: sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k= }
 
   jiti@1.21.3:
-    resolution: {integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==}
+    resolution:
+      {
+        integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==,
+      }
     hasBin: true
 
   jju@1.4.0:
-    resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
+    resolution:
+      {
+        integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==,
+      }
 
   joycon@3.1.1:
-    resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==,
+      }
+    engines: { node: ">=10" }
 
   js-tokens@4.0.0:
-    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+    resolution:
+      {
+        integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+      }
 
   js-tokens@9.0.0:
-    resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+    resolution:
+      {
+        integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==,
+      }
 
   js-types@4.0.0:
-    resolution: {integrity: sha512-/c+n06zvqFQGxdz1BbElF7S3nEghjNchLN1TjQnk2j10HYDaUc57rcvl6BbnziTx8NQmrg0JOs/iwRpvcYaxjQ==}
-    engines: {node: '>=18.20'}
+    resolution:
+      {
+        integrity: sha512-/c+n06zvqFQGxdz1BbElF7S3nEghjNchLN1TjQnk2j10HYDaUc57rcvl6BbnziTx8NQmrg0JOs/iwRpvcYaxjQ==,
+      }
+    engines: { node: ">=18.20" }
 
   js-yaml@4.1.0:
-    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+    resolution:
+      {
+        integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+      }
     hasBin: true
 
   jsdoc-type-pratt-parser@4.0.0:
-    resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==}
-    engines: {node: '>=12.0.0'}
+    resolution:
+      {
+        integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==,
+      }
+    engines: { node: ">=12.0.0" }
 
   jsesc@0.5.0:
-    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+    resolution:
+      {
+        integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==,
+      }
     hasBin: true
 
   jsesc@2.5.2:
-    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==,
+      }
+    engines: { node: ">=4" }
     hasBin: true
 
   jsesc@3.0.2:
-    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==,
+      }
+    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-parse-even-better-errors@2.3.1:
-    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+    resolution:
+      {
+        integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+      }
 
   json-schema-to-typescript-lite@14.0.1:
-    resolution: {integrity: sha512-MhjvNC3MfEyYmKiC1rEzwDTCc22+hWU/2HKVfnklar4tifbkT8oZvvamEG1n550JeCmJ0V+2ly+5fF5K+lIExg==}
+    resolution:
+      {
+        integrity: sha512-MhjvNC3MfEyYmKiC1rEzwDTCc22+hWU/2HKVfnklar4tifbkT8oZvvamEG1n550JeCmJ0V+2ly+5fF5K+lIExg==,
+      }
 
   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-stable-stringify-without-jsonify@1.0.1:
-    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+    resolution:
+      {
+        integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
+      }
 
   json5@1.0.2:
-    resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+    resolution:
+      {
+        integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==,
+      }
     hasBin: true
 
   jsonc-eslint-parser@2.4.0:
-    resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
 
   jsonfile@6.1.0:
-    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+    resolution:
+      {
+        integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==,
+      }
 
   jsx-ast-utils@3.3.5:
-    resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
-    engines: {node: '>=4.0'}
+    resolution:
+      {
+        integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==,
+      }
+    engines: { node: ">=4.0" }
 
   kebab-case@1.0.2:
-    resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==}
+    resolution:
+      {
+        integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==,
+      }
 
   keyv@4.5.4:
-    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+    resolution:
+      {
+        integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==,
+      }
 
   kleur@3.0.3:
-    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==,
+      }
+    engines: { node: ">=6" }
 
   known-css-properties@0.30.0:
-    resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==}
+    resolution:
+      {
+        integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==,
+      }
 
   known-css-properties@0.31.0:
-    resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==}
+    resolution:
+      {
+        integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==,
+      }
 
   language-subtag-registry@0.3.23:
-    resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
+    resolution:
+      {
+        integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==,
+      }
 
   language-tags@1.0.9:
-    resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
-    engines: {node: '>=0.10'}
+    resolution:
+      {
+        integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==,
+      }
+    engines: { node: ">=0.10" }
 
   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" }
 
   lilconfig@2.1.0:
-    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
+      }
+    engines: { node: ">=10" }
 
   lilconfig@3.1.1:
-    resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
+      }
+    engines: { node: ">=14" }
 
   lines-and-columns@1.2.4:
-    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+    resolution:
+      {
+        integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+      }
 
   lint-staged@15.2.5:
-    resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==}
-    engines: {node: '>=18.12.0'}
+    resolution:
+      {
+        integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==,
+      }
+    engines: { node: ">=18.12.0" }
     hasBin: true
 
   listr2@8.2.1:
-    resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==,
+      }
+    engines: { node: ">=18.0.0" }
 
   load-tsconfig@0.2.5:
-    resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   local-pkg@0.5.0:
-    resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==,
+      }
+    engines: { node: ">=14" }
 
   locate-character@3.0.0:
-    resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
+    resolution:
+      {
+        integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==,
+      }
 
   locate-path@5.0.0:
-    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==,
+      }
+    engines: { node: ">=8" }
 
   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" }
 
   locate-path@7.2.0:
-    resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   lodash.camelcase@4.3.0:
-    resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+    resolution:
+      {
+        integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==,
+      }
 
   lodash.kebabcase@4.1.1:
-    resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==}
+    resolution:
+      {
+        integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==,
+      }
 
   lodash.merge@4.6.2:
-    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+    resolution:
+      {
+        integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+      }
 
   lodash.snakecase@4.1.1:
-    resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+    resolution:
+      {
+        integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==,
+      }
 
   lodash.sortby@4.7.0:
-    resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+    resolution:
+      {
+        integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==,
+      }
 
   lodash.upperfirst@4.3.1:
-    resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==}
+    resolution:
+      {
+        integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==,
+      }
 
   lodash@4.17.21:
-    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+    resolution:
+      {
+        integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+      }
 
   log-update@6.0.0:
-    resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==,
+      }
+    engines: { node: ">=18" }
 
   loose-envify@1.4.0:
-    resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+    resolution:
+      {
+        integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
+      }
     hasBin: true
 
   loupe@2.3.7:
-    resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+    resolution:
+      {
+        integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==,
+      }
 
   lowercase-keys@3.0.0:
-    resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   lru-cache@10.2.2:
-    resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
-    engines: {node: 14 || >=16.14}
+    resolution:
+      {
+        integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==,
+      }
+    engines: { node: 14 || >=16.14 }
 
   magic-string@0.30.10:
-    resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
+    resolution:
+      {
+        integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==,
+      }
 
   mdast-util-from-markdown@0.8.5:
-    resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==}
+    resolution:
+      {
+        integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==,
+      }
 
   mdast-util-to-string@2.0.0:
-    resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==}
+    resolution:
+      {
+        integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==,
+      }
 
   mdn-data@2.0.30:
-    resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
+    resolution:
+      {
+        integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
+      }
 
   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" }
 
   micro-memoize@4.1.2:
-    resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==}
+    resolution:
+      {
+        integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==,
+      }
 
   micromark@2.11.4:
-    resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
+    resolution:
+      {
+        integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==,
+      }
 
   micromatch@4.0.7:
-    resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
-    engines: {node: '>=8.6'}
+    resolution:
+      {
+        integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==,
+      }
+    engines: { node: ">=8.6" }
 
   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-fn@4.0.0:
-    resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
+      }
+    engines: { node: ">=12" }
 
   min-indent@1.0.1:
-    resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==,
+      }
+    engines: { node: ">=4" }
 
   minimatch@3.1.2:
-    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+    resolution:
+      {
+        integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+      }
 
   minimatch@9.0.4:
-    resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
-    engines: {node: '>=16 || 14 >=14.17'}
+    resolution:
+      {
+        integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==,
+      }
+    engines: { node: ">=16 || 14 >=14.17" }
 
   minimist@1.2.8:
-    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+    resolution:
+      {
+        integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+      }
 
   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" }
 
   mkdirp@1.0.4:
-    resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==,
+      }
+    engines: { node: ">=10" }
     hasBin: true
 
   mlly@1.7.1:
-    resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==}
+    resolution:
+      {
+        integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==,
+      }
 
   mrmime@2.0.0:
-    resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==,
+      }
+    engines: { node: ">=10" }
 
   ms@2.1.2:
-    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+    resolution:
+      {
+        integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+      }
 
   ms@2.1.3:
-    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+    resolution:
+      {
+        integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+      }
 
   mz@2.7.0:
-    resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+    resolution:
+      {
+        integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==,
+      }
 
   nanoid@3.3.7:
-    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
-    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+    resolution:
+      {
+        integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==,
+      }
+    engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
     hasBin: true
 
   natural-compare-lite@1.4.0:
-    resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+    resolution:
+      {
+        integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==,
+      }
 
   natural-compare@1.4.0:
-    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+    resolution:
+      {
+        integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
+      }
 
   node-fetch-native@1.6.4:
-    resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==}
+    resolution:
+      {
+        integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==,
+      }
 
   node-releases@2.0.14:
-    resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+    resolution:
+      {
+        integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==,
+      }
 
   normalize-package-data@2.5.0:
-    resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+    resolution:
+      {
+        integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==,
+      }
 
   normalize-path@3.0.0:
-    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==,
+      }
+    engines: { node: ">=0.10.0" }
 
   npm-run-path@4.0.1:
-    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==,
+      }
+    engines: { node: ">=8" }
 
   npm-run-path@5.3.0:
-    resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   nth-check@2.1.1:
-    resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+    resolution:
+      {
+        integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==,
+      }
 
   nypm@0.3.8:
-    resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==}
-    engines: {node: ^14.16.0 || >=16.10.0}
+    resolution:
+      {
+        integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==,
+      }
+    engines: { node: ^14.16.0 || >=16.10.0 }
     hasBin: true
 
   obj-props@2.0.0:
-    resolution: {integrity: sha512-Q/uLAAfjdhrzQWN2czRNh3fDCgXjh7yRIkdHjDgIHTwpFP0BsshxTA3HRNffHR7Iw/XGTH30u8vdMXQ+079urA==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-Q/uLAAfjdhrzQWN2czRNh3fDCgXjh7yRIkdHjDgIHTwpFP0BsshxTA3HRNffHR7Iw/XGTH30u8vdMXQ+079urA==,
+      }
+    engines: { node: ">=18.0.0" }
 
   object-assign@4.1.1:
-    resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+      }
+    engines: { node: ">=0.10.0" }
 
   object-hash@3.0.0:
-    resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==,
+      }
+    engines: { node: ">= 6" }
 
   object-inspect@1.13.1:
-    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+    resolution:
+      {
+        integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==,
+      }
 
   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.5:
-    resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   object.entries@1.1.8:
-    resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==,
+      }
+    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.hasown@1.1.4:
-    resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==,
+      }
+    engines: { node: ">= 0.4" }
 
   object.values@1.2.0:
-    resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   ohash@1.1.3:
-    resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
+    resolution:
+      {
+        integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==,
+      }
 
   onetime@5.1.2:
-    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==,
+      }
+    engines: { node: ">=6" }
 
   onetime@6.0.0:
-    resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
+      }
+    engines: { node: ">=12" }
 
   open@10.1.0:
-    resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==,
+      }
+    engines: { node: ">=18" }
 
   optionator@0.9.4:
-    resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
-    engines: {node: '>= 0.8.0'}
+    resolution:
+      {
+        integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==,
+      }
+    engines: { node: ">= 0.8.0" }
 
   p-limit@2.3.0:
-    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==,
+      }
+    engines: { node: ">=6" }
 
   p-limit@3.1.0:
-    resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+      }
+    engines: { node: ">=10" }
 
   p-limit@4.0.0:
-    resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   p-limit@5.0.0:
-    resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==,
+      }
+    engines: { node: ">=18" }
 
   p-locate@4.1.0:
-    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==,
+      }
+    engines: { node: ">=8" }
 
   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-locate@6.0.0:
-    resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   p-try@2.2.0:
-    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
-    engines: {node: '>=6'}
+    resolution:
+      {
+        integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==,
+      }
+    engines: { node: ">=6" }
 
   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-entities@2.0.0:
-    resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
+    resolution:
+      {
+        integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==,
+      }
 
   parse-gitignore@2.0.0:
-    resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==,
+      }
+    engines: { node: ">=14" }
 
   parse-json@5.2.0:
-    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+      }
+    engines: { node: ">=8" }
 
   parse-ms@4.0.0:
-    resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==,
+      }
+    engines: { node: ">=18" }
 
   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-exists@5.0.0:
-    resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   path-key@3.1.1:
-    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+      }
+    engines: { node: ">=8" }
 
   path-key@4.0.0:
-    resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
+      }
+    engines: { node: ">=12" }
 
   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-type@4.0.0:
-    resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+      }
+    engines: { node: ">=8" }
 
   pathe@1.1.2:
-    resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+    resolution:
+      {
+        integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
+      }
 
   pathval@1.1.1:
-    resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+    resolution:
+      {
+        integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==,
+      }
 
   perfect-debounce@1.0.0:
-    resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
+    resolution:
+      {
+        integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==,
+      }
 
   periscopic@3.1.0:
-    resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+    resolution:
+      {
+        integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==,
+      }
 
   picocolors@1.0.1:
-    resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+    resolution:
+      {
+        integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==,
+      }
 
   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" }
 
   pidtree@0.6.0:
-    resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
-    engines: {node: '>=0.10'}
+    resolution:
+      {
+        integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==,
+      }
+    engines: { node: ">=0.10" }
     hasBin: true
 
   pify@2.3.0:
-    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==,
+      }
+    engines: { node: ">=0.10.0" }
 
   pirates@4.0.6:
-    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==,
+      }
+    engines: { node: ">= 6" }
 
   pkg-types@1.1.1:
-    resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==}
+    resolution:
+      {
+        integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==,
+      }
 
   pluralize@8.0.0:
-    resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==,
+      }
+    engines: { node: ">=4" }
 
   possible-typed-array-names@1.0.0:
-    resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==,
+      }
+    engines: { node: ">= 0.4" }
 
   postcss-import@15.1.0:
-    resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
-    engines: {node: '>=14.0.0'}
+    resolution:
+      {
+        integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==,
+      }
+    engines: { node: ">=14.0.0" }
     peerDependencies:
       postcss: ^8.0.0
 
   postcss-js@4.0.1:
-    resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
-    engines: {node: ^12 || ^14 || >= 16}
+    resolution:
+      {
+        integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==,
+      }
+    engines: { node: ^12 || ^14 || >= 16 }
     peerDependencies:
       postcss: ^8.4.21
 
   postcss-load-config@3.1.4:
-    resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
-    engines: {node: '>= 10'}
+    resolution:
+      {
+        integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==,
+      }
+    engines: { node: ">= 10" }
     peerDependencies:
-      postcss: '>=8.0.9'
-      ts-node: '>=9.0.0'
+      postcss: ">=8.0.9"
+      ts-node: ">=9.0.0"
     peerDependenciesMeta:
       postcss:
         optional: true
@@ -3142,11 +5138,14 @@ packages:
         optional: true
 
   postcss-load-config@4.0.2:
-    resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
-    engines: {node: '>= 14'}
+    resolution:
+      {
+        integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==,
+      }
+    engines: { node: ">= 14" }
     peerDependencies:
-      postcss: '>=8.0.9'
-      ts-node: '>=9.0.0'
+      postcss: ">=8.0.9"
+      ts-node: ">=9.0.0"
     peerDependenciesMeta:
       postcss:
         optional: true
@@ -3154,89 +5153,125 @@ packages:
         optional: true
 
   postcss-nested@6.0.1:
-    resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
-    engines: {node: '>=12.0'}
+    resolution:
+      {
+        integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==,
+      }
+    engines: { node: ">=12.0" }
     peerDependencies:
       postcss: ^8.2.14
 
   postcss-safe-parser@6.0.0:
-    resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
-    engines: {node: '>=12.0'}
+    resolution:
+      {
+        integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==,
+      }
+    engines: { node: ">=12.0" }
     peerDependencies:
       postcss: ^8.3.3
 
   postcss-scss@4.0.9:
-    resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
-    engines: {node: '>=12.0'}
+    resolution:
+      {
+        integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==,
+      }
+    engines: { node: ">=12.0" }
     peerDependencies:
       postcss: ^8.4.29
 
   postcss-selector-parser@6.1.0:
-    resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==,
+      }
+    engines: { node: ">=4" }
 
   postcss-value-parser@4.2.0:
-    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+    resolution:
+      {
+        integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
+      }
 
   postcss@8.4.38:
-    resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
-    engines: {node: ^10 || ^12 || >=14}
+    resolution:
+      {
+        integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
+      }
+    engines: { node: ^10 || ^12 || >=14 }
 
   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-plugin-astro@0.14.0:
-    resolution: {integrity: sha512-7jRGJsexaRIyUzTk8uzXlP45cw6DQ5Ci4bTe0xCBCcuO1Fff8jJy9oI+kRCQKSdDFTSAArMSg8GpvzlKBtSaZA==}
-    engines: {node: ^14.15.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-7jRGJsexaRIyUzTk8uzXlP45cw6DQ5Ci4bTe0xCBCcuO1Fff8jJy9oI+kRCQKSdDFTSAArMSg8GpvzlKBtSaZA==,
+      }
+    engines: { node: ^14.15.0 || >=16.0.0 }
 
   prettier-plugin-packagejson@2.5.0:
-    resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==}
+    resolution:
+      {
+        integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==,
+      }
     peerDependencies:
-      prettier: '>= 1.16.0'
+      prettier: ">= 1.16.0"
     peerDependenciesMeta:
       prettier:
         optional: true
 
   prettier-plugin-slidev@1.0.5:
-    resolution: {integrity: sha512-1xaKzOAX17QAcn1roUgQIAfeio3HPYYefCgzxh6Bzk+5rJJxq0I8HUhLrUyv9nCpIP6e9CDv/yDQSdEeqqRUuA==}
+    resolution:
+      {
+        integrity: sha512-1xaKzOAX17QAcn1roUgQIAfeio3HPYYefCgzxh6Bzk+5rJJxq0I8HUhLrUyv9nCpIP6e9CDv/yDQSdEeqqRUuA==,
+      }
     peerDependencies:
       prettier: ^3.2.4
 
   prettier-plugin-tailwindcss@0.6.2:
-    resolution: {integrity: sha512-eFefm4cg+1c2B57+H274Qm//CTWBdtQN9ansl0YTP/8TC8x3bugCTQSS/e4FC5Ctl9djhTzsbcMrZ7x2/abIow==}
-    engines: {node: '>=14.21.3'}
+    resolution:
+      {
+        integrity: sha512-eFefm4cg+1c2B57+H274Qm//CTWBdtQN9ansl0YTP/8TC8x3bugCTQSS/e4FC5Ctl9djhTzsbcMrZ7x2/abIow==,
+      }
+    engines: { node: ">=14.21.3" }
     peerDependencies:
-      '@ianvs/prettier-plugin-sort-imports': '*'
-      '@prettier/plugin-pug': '*'
-      '@shopify/prettier-plugin-liquid': '*'
-      '@trivago/prettier-plugin-sort-imports': '*'
-      '@zackad/prettier-plugin-twig-melody': '*'
+      "@ianvs/prettier-plugin-sort-imports": "*"
+      "@prettier/plugin-pug": "*"
+      "@shopify/prettier-plugin-liquid": "*"
+      "@trivago/prettier-plugin-sort-imports": "*"
+      "@zackad/prettier-plugin-twig-melody": "*"
       prettier: ^3.0
-      prettier-plugin-astro: '*'
-      prettier-plugin-css-order: '*'
-      prettier-plugin-import-sort: '*'
-      prettier-plugin-jsdoc: '*'
-      prettier-plugin-marko: '*'
-      prettier-plugin-organize-attributes: '*'
-      prettier-plugin-organize-imports: '*'
-      prettier-plugin-sort-imports: '*'
-      prettier-plugin-style-order: '*'
-      prettier-plugin-svelte: '*'
+      prettier-plugin-astro: "*"
+      prettier-plugin-css-order: "*"
+      prettier-plugin-import-sort: "*"
+      prettier-plugin-jsdoc: "*"
+      prettier-plugin-marko: "*"
+      prettier-plugin-organize-attributes: "*"
+      prettier-plugin-organize-imports: "*"
+      prettier-plugin-sort-imports: "*"
+      prettier-plugin-style-order: "*"
+      prettier-plugin-svelte: "*"
     peerDependenciesMeta:
-      '@ianvs/prettier-plugin-sort-imports':
+      "@ianvs/prettier-plugin-sort-imports":
         optional: true
-      '@prettier/plugin-pug':
+      "@prettier/plugin-pug":
         optional: true
-      '@shopify/prettier-plugin-liquid':
+      "@shopify/prettier-plugin-liquid":
         optional: true
-      '@trivago/prettier-plugin-sort-imports':
+      "@trivago/prettier-plugin-sort-imports":
         optional: true
-      '@zackad/prettier-plugin-twig-melody':
+      "@zackad/prettier-plugin-twig-melody":
         optional: true
       prettier-plugin-astro:
         optional: true
@@ -3260,377 +5295,677 @@ packages:
         optional: true
 
   prettier@3.3.1:
-    resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==}
-    engines: {node: '>=14'}
+    resolution:
+      {
+        integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==,
+      }
+    engines: { node: ">=14" }
     hasBin: true
 
   pretty-format@29.7.0:
-    resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
-    engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+    resolution:
+      {
+        integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==,
+      }
+    engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 }
 
   pretty-ms@9.0.0:
-    resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==,
+      }
+    engines: { node: ">=18" }
 
   prompts@2.4.2:
-    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==,
+      }
+    engines: { node: ">= 6" }
 
   prop-types@15.8.1:
-    resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+    resolution:
+      {
+        integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
+      }
 
   prototype-properties@5.0.0:
-    resolution: {integrity: sha512-uCWE2QqnGlwvvJXTwiHTPTyHE62+zORO5hpFWhAwBGDtEtTmNZZleNLJDoFsqHCL4p/CeAP2Q1uMKFUKALuRGQ==}
-    engines: {node: '>=18.20'}
+    resolution:
+      {
+        integrity: sha512-uCWE2QqnGlwvvJXTwiHTPTyHE62+zORO5hpFWhAwBGDtEtTmNZZleNLJDoFsqHCL4p/CeAP2Q1uMKFUKALuRGQ==,
+      }
+    engines: { node: ">=18.20" }
 
   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==,
+      }
 
   radix3@1.1.2:
-    resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
+    resolution:
+      {
+        integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==,
+      }
 
   rc9@2.1.2:
-    resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==}
+    resolution:
+      {
+        integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==,
+      }
 
   react-is@16.13.1:
-    resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+    resolution:
+      {
+        integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
+      }
 
   react-is@18.3.1:
-    resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+    resolution:
+      {
+        integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==,
+      }
 
   read-cache@1.0.0:
-    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+    resolution:
+      {
+        integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==,
+      }
 
   read-pkg-up@7.0.1:
-    resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==,
+      }
+    engines: { node: ">=8" }
 
   read-pkg@5.2.0:
-    resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==,
+      }
+    engines: { node: ">=8" }
 
   readdirp@3.6.0:
-    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
-    engines: {node: '>=8.10.0'}
+    resolution:
+      {
+        integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==,
+      }
+    engines: { node: ">=8.10.0" }
 
   refa@0.12.1:
-    resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
-    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==,
+      }
+    engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
 
   reflect.getprototypeof@1.0.6:
-    resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==,
+      }
+    engines: { node: ">= 0.4" }
 
   regenerator-runtime@0.14.1:
-    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+    resolution:
+      {
+        integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
+      }
 
   regexp-ast-analysis@0.7.1:
-    resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
-    engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==,
+      }
+    engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
 
   regexp-to-ast@0.5.0:
-    resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==}
+    resolution:
+      {
+        integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==,
+      }
 
   regexp-tree@0.1.27:
-    resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
+    resolution:
+      {
+        integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==,
+      }
     hasBin: true
 
   regexp.prototype.flags@1.5.2:
-    resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==,
+      }
+    engines: { node: ">= 0.4" }
 
   regjsparser@0.10.0:
-    resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
+    resolution:
+      {
+        integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==,
+      }
     hasBin: true
 
   remeda@1.61.0:
-    resolution: {integrity: sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==}
+    resolution:
+      {
+        integrity: sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==,
+      }
 
   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" }
 
   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-from@5.0.0:
-    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==,
+      }
+    engines: { node: ">=8" }
 
   resolve-pkg-maps@1.0.0:
-    resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+    resolution:
+      {
+        integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==,
+      }
 
   resolve@1.22.8:
-    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+    resolution:
+      {
+        integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
+      }
     hasBin: true
 
   resolve@2.0.0-next.5:
-    resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+    resolution:
+      {
+        integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==,
+      }
     hasBin: true
 
   restore-cursor@4.0.0:
-    resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==,
+      }
+    engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
   reusify@1.0.4:
-    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
-    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==,
+      }
+    engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
 
   rfdc@1.3.1:
-    resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
+    resolution:
+      {
+        integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==,
+      }
 
   rimraf@5.0.7:
-    resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==}
-    engines: {node: '>=14.18'}
+    resolution:
+      {
+        integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==,
+      }
+    engines: { node: ">=14.18" }
     hasBin: true
 
   rollup@4.18.0:
-    resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
-    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+    resolution:
+      {
+        integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==,
+      }
+    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==,
+      }
 
   s.color@0.0.15:
-    resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==}
+    resolution:
+      {
+        integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==,
+      }
 
   safe-array-concat@1.1.2:
-    resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
-    engines: {node: '>=0.4'}
+    resolution:
+      {
+        integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==,
+      }
+    engines: { node: ">=0.4" }
 
   safe-regex-test@1.0.3:
-    resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==,
+      }
+    engines: { node: ">= 0.4" }
 
   safe-regex@2.1.1:
-    resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==}
+    resolution:
+      {
+        integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==,
+      }
 
   sass-formatter@0.7.9:
-    resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==}
+    resolution:
+      {
+        integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==,
+      }
 
   scslre@0.3.0:
-    resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
-    engines: {node: ^14.0.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==,
+      }
+    engines: { node: ^14.0.0 || >=16.0.0 }
 
   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.6.2:
-    resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==,
+      }
+    engines: { node: ">=10" }
     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" }
 
   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" }
 
   short-unique-id@5.2.0:
-    resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==}
+    resolution:
+      {
+        integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==,
+      }
     hasBin: true
 
   side-channel@1.0.6:
-    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==,
+      }
+    engines: { node: ">= 0.4" }
 
   siginfo@2.0.0:
-    resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+    resolution:
+      {
+        integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==,
+      }
 
   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-git-hooks@2.11.1:
-    resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==}
+    resolution:
+      {
+        integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==,
+      }
     hasBin: true
 
   sisteransi@1.0.5:
-    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+    resolution:
+      {
+        integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==,
+      }
 
   slash@3.0.0:
-    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+      }
+    engines: { node: ">=8" }
 
   slash@4.0.0:
-    resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==,
+      }
+    engines: { node: ">=12" }
 
   slice-ansi@5.0.0:
-    resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==,
+      }
+    engines: { node: ">=12" }
 
   slice-ansi@7.1.0:
-    resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==,
+      }
+    engines: { node: ">=18" }
 
   sort-object-keys@1.1.3:
-    resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==}
+    resolution:
+      {
+        integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==,
+      }
 
   sort-package-json@2.10.0:
-    resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==}
+    resolution:
+      {
+        integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==,
+      }
     hasBin: true
 
   source-map-js@1.2.0:
-    resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==,
+      }
+    engines: { node: ">=0.10.0" }
 
   source-map@0.5.7:
-    resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
-    engines: {node: '>=0.10.0'}
+    resolution:
+      {
+        integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==,
+      }
+    engines: { node: ">=0.10.0" }
 
   source-map@0.8.0-beta.0:
-    resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
-    engines: {node: '>= 8'}
+    resolution:
+      {
+        integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==,
+      }
+    engines: { node: ">= 8" }
 
   spdx-correct@3.2.0:
-    resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+    resolution:
+      {
+        integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==,
+      }
 
   spdx-exceptions@2.5.0:
-    resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+    resolution:
+      {
+        integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==,
+      }
 
   spdx-expression-parse@3.0.1:
-    resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+    resolution:
+      {
+        integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==,
+      }
 
   spdx-expression-parse@4.0.0:
-    resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+    resolution:
+      {
+        integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==,
+      }
 
   spdx-license-ids@3.0.18:
-    resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==}
+    resolution:
+      {
+        integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==,
+      }
 
   stackback@0.0.2:
-    resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+    resolution:
+      {
+        integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==,
+      }
 
   std-env@3.7.0:
-    resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
+    resolution:
+      {
+        integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==,
+      }
 
   string-argv@0.3.2:
-    resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
-    engines: {node: '>=0.6.19'}
+    resolution:
+      {
+        integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==,
+      }
+    engines: { node: ">=0.6.19" }
 
   string-ts@2.1.1:
-    resolution: {integrity: sha512-BtSlY8ttfj+veJuirU5uOP7pxqIuGQHzPSNZS7Kj3orT8250GBijUYp0K5ZV+s5OREMsC1TLaSVB75kyeBYZyw==}
+    resolution:
+      {
+        integrity: sha512-BtSlY8ttfj+veJuirU5uOP7pxqIuGQHzPSNZS7Kj3orT8250GBijUYp0K5ZV+s5OREMsC1TLaSVB75kyeBYZyw==,
+      }
 
   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-width@7.1.0:
-    resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==,
+      }
+    engines: { node: ">=18" }
 
   string.prototype.matchall@4.0.11:
-    resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==,
+      }
+    engines: { node: ">= 0.4" }
 
   string.prototype.trim@1.2.9:
-    resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==,
+      }
+    engines: { node: ">= 0.4" }
 
   string.prototype.trimend@1.0.8:
-    resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+    resolution:
+      {
+        integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==,
+      }
 
   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" }
 
   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-final-newline@3.0.0:
-    resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
+      }
+    engines: { node: ">=12" }
 
   strip-final-newline@4.0.0:
-    resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==,
+      }
+    engines: { node: ">=18" }
 
   strip-indent@3.0.0:
-    resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==,
+      }
+    engines: { node: ">=8" }
 
   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" }
 
   strip-literal@2.1.0:
-    resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+    resolution:
+      {
+        integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==,
+      }
 
   style-to-object@1.0.6:
-    resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==}
+    resolution:
+      {
+        integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==,
+      }
 
   sucrase@3.35.0:
-    resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
-    engines: {node: '>=16 || 14 >=14.17'}
+    resolution:
+      {
+        integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==,
+      }
+    engines: { node: ">=16 || 14 >=14.17" }
     hasBin: true
 
   suf-log@2.5.3:
-    resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==}
+    resolution:
+      {
+        integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==,
+      }
 
   supports-color@5.5.0:
-    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+      }
+    engines: { node: ">=4" }
 
   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" }
 
   svelte-eslint-parser@0.36.0:
-    resolution: {integrity: sha512-/6YmUSr0FAVxW8dXNdIMydBnddPMHzaHirAZ7RrT21XYdgGGZMh0LQG6CZsvAFS4r2Y4ItUuCQc8TQ3urB30mQ==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-/6YmUSr0FAVxW8dXNdIMydBnddPMHzaHirAZ7RrT21XYdgGGZMh0LQG6CZsvAFS4r2Y4ItUuCQc8TQ3urB30mQ==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
     peerDependencies:
       svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.115
     peerDependenciesMeta:
@@ -3638,108 +5973,183 @@ packages:
         optional: true
 
   svelte@4.2.18:
-    resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==,
+      }
+    engines: { node: ">=16" }
 
   svg-element-attributes@1.3.1:
-    resolution: {integrity: sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==}
+    resolution:
+      {
+        integrity: sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==,
+      }
 
   synckit@0.6.2:
-    resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==}
-    engines: {node: '>=12.20'}
+    resolution:
+      {
+        integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==,
+      }
+    engines: { node: ">=12.20" }
 
   synckit@0.8.8:
-    resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==}
-    engines: {node: ^14.18.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==,
+      }
+    engines: { node: ^14.18.0 || >=16.0.0 }
 
   synckit@0.9.0:
-    resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
-    engines: {node: ^14.18.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==,
+      }
+    engines: { node: ^14.18.0 || >=16.0.0 }
 
   tailwindcss@3.4.4:
-    resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==}
-    engines: {node: '>=14.0.0'}
+    resolution:
+      {
+        integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==,
+      }
+    engines: { node: ">=14.0.0" }
     hasBin: true
 
   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" }
 
   text-table@0.2.0:
-    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+    resolution:
+      {
+        integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==,
+      }
 
   thenify-all@1.6.0:
-    resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
-    engines: {node: '>=0.8'}
+    resolution:
+      {
+        integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==,
+      }
+    engines: { node: ">=0.8" }
 
   thenify@3.3.1:
-    resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+    resolution:
+      {
+        integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
+      }
 
   tinybench@2.8.0:
-    resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
+    resolution:
+      {
+        integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==,
+      }
 
   tinypool@0.8.4:
-    resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
-    engines: {node: '>=14.0.0'}
+    resolution:
+      {
+        integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==,
+      }
+    engines: { node: ">=14.0.0" }
 
   tinyspy@2.2.1:
-    resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
-    engines: {node: '>=14.0.0'}
+    resolution:
+      {
+        integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==,
+      }
+    engines: { node: ">=14.0.0" }
 
   to-fast-properties@2.0.0:
-    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==,
+      }
+    engines: { node: ">=4" }
 
   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" }
 
   toml-eslint-parser@0.9.3:
-    resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==}
-    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==,
+      }
+    engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
 
   tr46@1.0.1:
-    resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+    resolution:
+      {
+        integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==,
+      }
 
   tree-kill@1.2.2:
-    resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+    resolution:
+      {
+        integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==,
+      }
     hasBin: true
 
   ts-api-utils@1.3.0:
-    resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
-    engines: {node: '>=16'}
+    resolution:
+      {
+        integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==,
+      }
+    engines: { node: ">=16" }
     peerDependencies:
-      typescript: '>=4.2.0'
+      typescript: ">=4.2.0"
 
   ts-interface-checker@0.1.13:
-    resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+    resolution:
+      {
+        integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
+      }
 
   ts-pattern@5.1.2:
-    resolution: {integrity: sha512-u+ElKUIWnqisjpRBhv6Y89yNq7Pmz6xL0v7pTSckrVZ0+5Vf32oh/3jmxWl80rAOGcnbBa7fCyeqNdP4yXzWWg==}
+    resolution:
+      {
+        integrity: sha512-u+ElKUIWnqisjpRBhv6Y89yNq7Pmz6xL0v7pTSckrVZ0+5Vf32oh/3jmxWl80rAOGcnbBa7fCyeqNdP4yXzWWg==,
+      }
 
   tsconfig-paths@3.15.0:
-    resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+    resolution:
+      {
+        integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==,
+      }
 
   tslib@2.6.3:
-    resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+    resolution:
+      {
+        integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==,
+      }
 
   tsup@8.1.0:
-    resolution: {integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==,
+      }
+    engines: { node: ">=18" }
     hasBin: true
     peerDependencies:
-      '@microsoft/api-extractor': ^7.36.0
-      '@swc/core': ^1
+      "@microsoft/api-extractor": ^7.36.0
+      "@swc/core": ^1
       postcss: ^8.4.12
-      typescript: '>=4.5.0'
+      typescript: ">=4.5.0"
     peerDependenciesMeta:
-      '@microsoft/api-extractor':
+      "@microsoft/api-extractor":
         optional: true
-      '@swc/core':
+      "@swc/core":
         optional: true
       postcss:
         optional: true
@@ -3747,127 +6157,211 @@ packages:
         optional: true
 
   tsx@4.14.0:
-    resolution: {integrity: sha512-DsDLlJlusAPyCnz07S4y0gqJoUl8GciBeYcXQd75/5DqkZ4gfjKpvAUFUzmZf62nEotkcqC7JCWrdL8d+PXSng==}
-    engines: {node: '>=18.0.0'}
+    resolution:
+      {
+        integrity: sha512-DsDLlJlusAPyCnz07S4y0gqJoUl8GciBeYcXQd75/5DqkZ4gfjKpvAUFUzmZf62nEotkcqC7JCWrdL8d+PXSng==,
+      }
+    engines: { node: ">=18.0.0" }
     hasBin: true
 
   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-detect@4.0.8:
-    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
-    engines: {node: '>=4'}
+    resolution:
+      {
+        integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==,
+      }
+    engines: { node: ">=4" }
 
   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@0.6.0:
-    resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==,
+      }
+    engines: { node: ">=8" }
 
   type-fest@0.8.1:
-    resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==,
+      }
+    engines: { node: ">=8" }
 
   typed-array-buffer@1.0.2:
-    resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==,
+      }
+    engines: { node: ">= 0.4" }
 
   typed-array-byte-length@1.0.1:
-    resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==,
+      }
+    engines: { node: ">= 0.4" }
 
   typed-array-byte-offset@1.0.2:
-    resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==,
+      }
+    engines: { node: ">= 0.4" }
 
   typed-array-length@1.0.6:
-    resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==,
+      }
+    engines: { node: ">= 0.4" }
 
   typescript-eslint@7.12.0:
-    resolution: {integrity: sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w==}
-    engines: {node: ^18.18.0 || >=20.0.0}
+    resolution:
+      {
+        integrity: sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w==,
+      }
+    engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
       eslint: ^8.56.0
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
   typescript@5.4.5:
-    resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
-    engines: {node: '>=14.17'}
+    resolution:
+      {
+        integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==,
+      }
+    engines: { node: ">=14.17" }
     hasBin: true
 
   ufo@1.5.3:
-    resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+    resolution:
+      {
+        integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==,
+      }
 
   unbox-primitive@1.0.2:
-    resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+    resolution:
+      {
+        integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==,
+      }
 
   unconfig@0.3.13:
-    resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==}
+    resolution:
+      {
+        integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==,
+      }
 
   uncrypto@0.1.3:
-    resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+    resolution:
+      {
+        integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==,
+      }
 
   undici-types@5.26.5:
-    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+    resolution:
+      {
+        integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==,
+      }
 
   unenv@1.9.0:
-    resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==}
+    resolution:
+      {
+        integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==,
+      }
 
   unicorn-magic@0.1.0:
-    resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==,
+      }
+    engines: { node: ">=18" }
 
   unist-util-stringify-position@2.0.3:
-    resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+    resolution:
+      {
+        integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==,
+      }
 
   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" }
 
   update-browserslist-db@1.0.16:
-    resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
+    resolution:
+      {
+        integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==,
+      }
     hasBin: true
     peerDependencies:
-      browserslist: '>= 4.21.0'
+      browserslist: ">= 4.21.0"
 
   uri-js@4.4.1:
-    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+    resolution:
+      {
+        integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+      }
 
   util-deprecate@1.0.2:
-    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+    resolution:
+      {
+        integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==,
+      }
 
   valibot@0.31.0:
-    resolution: {integrity: sha512-bleS8aVFpRGTUgbMoXzsRJhpxJGiZ3MG1nuNSORuDvio+sI1EyT1+lQHg+77Pfnlxz+25Uj5HiwdaklcDcYdiQ==}
+    resolution:
+      {
+        integrity: sha512-bleS8aVFpRGTUgbMoXzsRJhpxJGiZ3MG1nuNSORuDvio+sI1EyT1+lQHg+77Pfnlxz+25Uj5HiwdaklcDcYdiQ==,
+      }
 
   validate-npm-package-license@3.0.4:
-    resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+    resolution:
+      {
+        integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
+      }
 
   vite-node@1.6.0:
-    resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==}
-    engines: {node: ^18.0.0 || >=20.0.0}
+    resolution:
+      {
+        integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==,
+      }
+    engines: { node: ^18.0.0 || >=20.0.0 }
     hasBin: true
 
   vite@5.2.13:
-    resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==}
-    engines: {node: ^18.0.0 || >=20.0.0}
+    resolution:
+      {
+        integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==,
+      }
+    engines: { node: ^18.0.0 || >=20.0.0 }
     hasBin: true
     peerDependencies:
-      '@types/node': ^18.0.0 || >=20.0.0
-      less: '*'
+      "@types/node": ^18.0.0 || >=20.0.0
+      less: "*"
       lightningcss: ^1.21.0
-      sass: '*'
-      stylus: '*'
-      sugarss: '*'
+      sass: "*"
+      stylus: "*"
+      sugarss: "*"
       terser: ^5.4.0
     peerDependenciesMeta:
-      '@types/node':
+      "@types/node":
         optional: true
       less:
         optional: true
@@ -3883,24 +6377,27 @@ packages:
         optional: true
 
   vitest@1.6.0:
-    resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==}
-    engines: {node: ^18.0.0 || >=20.0.0}
+    resolution:
+      {
+        integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==,
+      }
+    engines: { node: ^18.0.0 || >=20.0.0 }
     hasBin: true
     peerDependencies:
-      '@edge-runtime/vm': '*'
-      '@types/node': ^18.0.0 || >=20.0.0
-      '@vitest/browser': 1.6.0
-      '@vitest/ui': 1.6.0
-      happy-dom: '*'
-      jsdom: '*'
+      "@edge-runtime/vm": "*"
+      "@types/node": ^18.0.0 || >=20.0.0
+      "@vitest/browser": 1.6.0
+      "@vitest/ui": 1.6.0
+      happy-dom: "*"
+      jsdom: "*"
     peerDependenciesMeta:
-      '@edge-runtime/vm':
+      "@edge-runtime/vm":
         optional: true
-      '@types/node':
+      "@types/node":
         optional: true
-      '@vitest/browser':
+      "@vitest/browser":
         optional: true
-      '@vitest/ui':
+      "@vitest/ui":
         optional: true
       happy-dom:
         optional: true
@@ -3908,72 +6405,117 @@ packages:
         optional: true
 
   vue-eslint-parser@9.4.3:
-    resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
-    engines: {node: ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==,
+      }
+    engines: { node: ^14.17.0 || >=16.0.0 }
     peerDependencies:
-      eslint: '>=6.0.0'
+      eslint: ">=6.0.0"
 
   vue@3.4.27:
-    resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==}
+    resolution:
+      {
+        integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==,
+      }
     peerDependencies:
-      typescript: '*'
+      typescript: "*"
     peerDependenciesMeta:
       typescript:
         optional: true
 
   webidl-conversions@4.0.2:
-    resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+    resolution:
+      {
+        integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==,
+      }
 
   whatwg-url@7.1.0:
-    resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+    resolution:
+      {
+        integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==,
+      }
 
   which-boxed-primitive@1.0.2:
-    resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+    resolution:
+      {
+        integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==,
+      }
 
   which-builtin-type@1.1.3:
-    resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==,
+      }
+    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.15:
-    resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
-    engines: {node: '>= 0.4'}
+    resolution:
+      {
+        integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==,
+      }
+    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
 
   why-is-node-running@2.2.2:
-    resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
-    engines: {node: '>=8'}
+    resolution:
+      {
+        integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==,
+      }
+    engines: { node: ">=8" }
     hasBin: true
 
   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" }
 
   wrap-ansi@9.0.0:
-    resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==,
+      }
+    engines: { node: ">=18" }
 
   ws@8.17.0:
-    resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==}
-    engines: {node: '>=10.0.0'}
+    resolution:
+      {
+        integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==,
+      }
+    engines: { node: ">=10.0.0" }
     peerDependencies:
       bufferutil: ^4.0.1
-      utf-8-validate: '>=5.0.2'
+      utf-8-validate: ">=5.0.2"
     peerDependenciesMeta:
       bufferutil:
         optional: true
@@ -3981,346 +6523,378 @@ packages:
         optional: true
 
   xml-name-validator@4.0.0:
-    resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
-    engines: {node: '>=12'}
+    resolution:
+      {
+        integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==,
+      }
+    engines: { node: ">=12" }
 
   y18n@5.0.8:
-    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
-    engines: {node: '>=10'}
+    resolution:
+      {
+        integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
+      }
+    engines: { node: ">=10" }
 
   yallist@4.0.0:
-    resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+    resolution:
+      {
+        integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+      }
 
   yaml-eslint-parser@1.2.3:
-    resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==}
-    engines: {node: ^14.17.0 || >=16.0.0}
+    resolution:
+      {
+        integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==,
+      }
+    engines: { node: ^14.17.0 || >=16.0.0 }
 
   yaml@1.10.2:
-    resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
-    engines: {node: '>= 6'}
+    resolution:
+      {
+        integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==,
+      }
+    engines: { node: ">= 6" }
 
   yaml@2.4.3:
-    resolution: {integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==}
-    engines: {node: '>= 14'}
+    resolution:
+      {
+        integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==,
+      }
+    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" }
 
   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" }
 
   yocto-queue@1.0.0:
-    resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
-    engines: {node: '>=12.20'}
+    resolution:
+      {
+        integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==,
+      }
+    engines: { node: ">=12.20" }
 
   yoctocolors@2.0.2:
-    resolution: {integrity: sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==}
-    engines: {node: '>=18'}
+    resolution:
+      {
+        integrity: sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==,
+      }
+    engines: { node: ">=18" }
 
 snapshots:
+  "@alloc/quick-lru@5.2.0": {}
 
-  '@alloc/quick-lru@5.2.0': {}
-
-  '@ampproject/remapping@2.3.0':
+  "@ampproject/remapping@2.3.0":
     dependencies:
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
+      "@jridgewell/gen-mapping": 0.3.5
+      "@jridgewell/trace-mapping": 0.3.25
 
-  '@antfu/install-pkg@0.3.3':
+  "@antfu/install-pkg@0.3.3":
     dependencies:
-      '@jsdevtools/ez-spawn': 3.0.4
+      "@jsdevtools/ez-spawn": 3.0.4
 
-  '@antfu/ni@0.21.12': {}
+  "@antfu/ni@0.21.12": {}
 
-  '@antfu/utils@0.7.8': {}
+  "@antfu/utils@0.7.8": {}
 
-  '@apidevtools/json-schema-ref-parser@11.6.4':
+  "@apidevtools/json-schema-ref-parser@11.6.4":
     dependencies:
-      '@jsdevtools/ono': 7.1.3
-      '@types/json-schema': 7.0.15
+      "@jsdevtools/ono": 7.1.3
+      "@types/json-schema": 7.0.15
       js-yaml: 4.1.0
 
-  '@astrojs/compiler@1.8.2': {}
+  "@astrojs/compiler@1.8.2": {}
 
-  '@astrojs/compiler@2.8.0': {}
+  "@astrojs/compiler@2.8.0": {}
 
-  '@babel/code-frame@7.24.7':
+  "@babel/code-frame@7.24.7":
     dependencies:
-      '@babel/highlight': 7.24.7
+      "@babel/highlight": 7.24.7
       picocolors: 1.0.1
 
-  '@babel/generator@7.17.7':
+  "@babel/generator@7.17.7":
     dependencies:
-      '@babel/types': 7.17.0
+      "@babel/types": 7.17.0
       jsesc: 2.5.2
       source-map: 0.5.7
 
-  '@babel/generator@7.24.7':
+  "@babel/generator@7.24.7":
     dependencies:
-      '@babel/types': 7.24.7
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
+      "@babel/types": 7.24.7
+      "@jridgewell/gen-mapping": 0.3.5
+      "@jridgewell/trace-mapping": 0.3.25
       jsesc: 2.5.2
 
-  '@babel/helper-environment-visitor@7.24.7':
+  "@babel/helper-environment-visitor@7.24.7":
     dependencies:
-      '@babel/types': 7.24.7
+      "@babel/types": 7.24.7
 
-  '@babel/helper-function-name@7.24.7':
+  "@babel/helper-function-name@7.24.7":
     dependencies:
-      '@babel/template': 7.24.7
-      '@babel/types': 7.24.7
+      "@babel/template": 7.24.7
+      "@babel/types": 7.24.7
 
-  '@babel/helper-hoist-variables@7.24.7':
+  "@babel/helper-hoist-variables@7.24.7":
     dependencies:
-      '@babel/types': 7.24.7
+      "@babel/types": 7.24.7
 
-  '@babel/helper-split-export-declaration@7.24.7':
+  "@babel/helper-split-export-declaration@7.24.7":
     dependencies:
-      '@babel/types': 7.24.7
+      "@babel/types": 7.24.7
 
-  '@babel/helper-string-parser@7.24.7': {}
+  "@babel/helper-string-parser@7.24.7": {}
 
-  '@babel/helper-validator-identifier@7.24.7': {}
+  "@babel/helper-validator-identifier@7.24.7": {}
 
-  '@babel/highlight@7.24.7':
+  "@babel/highlight@7.24.7":
     dependencies:
-      '@babel/helper-validator-identifier': 7.24.7
+      "@babel/helper-validator-identifier": 7.24.7
       chalk: 2.4.2
       js-tokens: 4.0.0
       picocolors: 1.0.1
 
-  '@babel/parser@7.24.7':
+  "@babel/parser@7.24.7":
     dependencies:
-      '@babel/types': 7.17.0
+      "@babel/types": 7.17.0
 
-  '@babel/runtime@7.24.7':
+  "@babel/runtime@7.24.7":
     dependencies:
       regenerator-runtime: 0.14.1
 
-  '@babel/template@7.24.7':
+  "@babel/template@7.24.7":
     dependencies:
-      '@babel/code-frame': 7.24.7
-      '@babel/parser': 7.24.7
-      '@babel/types': 7.24.7
+      "@babel/code-frame": 7.24.7
+      "@babel/parser": 7.24.7
+      "@babel/types": 7.24.7
 
-  '@babel/traverse@7.23.2':
+  "@babel/traverse@7.23.2":
     dependencies:
-      '@babel/code-frame': 7.24.7
-      '@babel/generator': 7.24.7
-      '@babel/helper-environment-visitor': 7.24.7
-      '@babel/helper-function-name': 7.24.7
-      '@babel/helper-hoist-variables': 7.24.7
-      '@babel/helper-split-export-declaration': 7.24.7
-      '@babel/parser': 7.24.7
-      '@babel/types': 7.24.7
+      "@babel/code-frame": 7.24.7
+      "@babel/generator": 7.24.7
+      "@babel/helper-environment-visitor": 7.24.7
+      "@babel/helper-function-name": 7.24.7
+      "@babel/helper-hoist-variables": 7.24.7
+      "@babel/helper-split-export-declaration": 7.24.7
+      "@babel/parser": 7.24.7
+      "@babel/types": 7.24.7
       debug: 4.3.5
       globals: 11.12.0
     transitivePeerDependencies:
       - supports-color
 
-  '@babel/types@7.17.0':
+  "@babel/types@7.17.0":
     dependencies:
-      '@babel/helper-validator-identifier': 7.24.7
+      "@babel/helper-validator-identifier": 7.24.7
       to-fast-properties: 2.0.0
 
-  '@babel/types@7.24.7':
+  "@babel/types@7.24.7":
     dependencies:
-      '@babel/helper-string-parser': 7.24.7
-      '@babel/helper-validator-identifier': 7.24.7
+      "@babel/helper-string-parser": 7.24.7
+      "@babel/helper-validator-identifier": 7.24.7
       to-fast-properties: 2.0.0
 
-  '@clack/core@0.3.4':
+  "@clack/core@0.3.4":
     dependencies:
       picocolors: 1.0.1
       sisteransi: 1.0.5
 
-  '@clack/prompts@0.7.0':
+  "@clack/prompts@0.7.0":
     dependencies:
-      '@clack/core': 0.3.4
+      "@clack/core": 0.3.4
       picocolors: 1.0.1
       sisteransi: 1.0.5
 
-  '@dprint/formatter@0.2.1': {}
+  "@dprint/formatter@0.2.1": {}
 
-  '@dprint/markdown@0.16.4': {}
+  "@dprint/markdown@0.16.4": {}
 
-  '@dprint/toml@0.6.2': {}
+  "@dprint/toml@0.6.2": {}
 
-  '@es-joy/jsdoccomment@0.43.1':
+  "@es-joy/jsdoccomment@0.43.1":
     dependencies:
-      '@types/eslint': 8.56.10
-      '@types/estree': 1.0.5
-      '@typescript-eslint/types': 7.12.0
+      "@types/eslint": 8.56.10
+      "@types/estree": 1.0.5
+      "@typescript-eslint/types": 7.12.0
       comment-parser: 1.4.1
       esquery: 1.5.0
       jsdoc-type-pratt-parser: 4.0.0
 
-  '@esbuild/aix-ppc64@0.20.2':
+  "@esbuild/aix-ppc64@0.20.2":
     optional: true
 
-  '@esbuild/aix-ppc64@0.21.4':
+  "@esbuild/aix-ppc64@0.21.4":
     optional: true
 
-  '@esbuild/android-arm64@0.20.2':
+  "@esbuild/android-arm64@0.20.2":
     optional: true
 
-  '@esbuild/android-arm64@0.21.4':
+  "@esbuild/android-arm64@0.21.4":
     optional: true
 
-  '@esbuild/android-arm@0.20.2':
+  "@esbuild/android-arm@0.20.2":
     optional: true
 
-  '@esbuild/android-arm@0.21.4':
+  "@esbuild/android-arm@0.21.4":
     optional: true
 
-  '@esbuild/android-x64@0.20.2':
+  "@esbuild/android-x64@0.20.2":
     optional: true
 
-  '@esbuild/android-x64@0.21.4':
+  "@esbuild/android-x64@0.21.4":
     optional: true
 
-  '@esbuild/darwin-arm64@0.20.2':
+  "@esbuild/darwin-arm64@0.20.2":
     optional: true
 
-  '@esbuild/darwin-arm64@0.21.4':
+  "@esbuild/darwin-arm64@0.21.4":
     optional: true
 
-  '@esbuild/darwin-x64@0.20.2':
+  "@esbuild/darwin-x64@0.20.2":
     optional: true
 
-  '@esbuild/darwin-x64@0.21.4':
+  "@esbuild/darwin-x64@0.21.4":
     optional: true
 
-  '@esbuild/freebsd-arm64@0.20.2':
+  "@esbuild/freebsd-arm64@0.20.2":
     optional: true
 
-  '@esbuild/freebsd-arm64@0.21.4':
+  "@esbuild/freebsd-arm64@0.21.4":
     optional: true
 
-  '@esbuild/freebsd-x64@0.20.2':
+  "@esbuild/freebsd-x64@0.20.2":
     optional: true
 
-  '@esbuild/freebsd-x64@0.21.4':
+  "@esbuild/freebsd-x64@0.21.4":
     optional: true
 
-  '@esbuild/linux-arm64@0.20.2':
+  "@esbuild/linux-arm64@0.20.2":
     optional: true
 
-  '@esbuild/linux-arm64@0.21.4':
+  "@esbuild/linux-arm64@0.21.4":
     optional: true
 
-  '@esbuild/linux-arm@0.20.2':
+  "@esbuild/linux-arm@0.20.2":
     optional: true
 
-  '@esbuild/linux-arm@0.21.4':
+  "@esbuild/linux-arm@0.21.4":
     optional: true
 
-  '@esbuild/linux-ia32@0.20.2':
+  "@esbuild/linux-ia32@0.20.2":
     optional: true
 
-  '@esbuild/linux-ia32@0.21.4':
+  "@esbuild/linux-ia32@0.21.4":
     optional: true
 
-  '@esbuild/linux-loong64@0.20.2':
+  "@esbuild/linux-loong64@0.20.2":
     optional: true
 
-  '@esbuild/linux-loong64@0.21.4':
+  "@esbuild/linux-loong64@0.21.4":
     optional: true
 
-  '@esbuild/linux-mips64el@0.20.2':
+  "@esbuild/linux-mips64el@0.20.2":
     optional: true
 
-  '@esbuild/linux-mips64el@0.21.4':
+  "@esbuild/linux-mips64el@0.21.4":
     optional: true
 
-  '@esbuild/linux-ppc64@0.20.2':
+  "@esbuild/linux-ppc64@0.20.2":
     optional: true
 
-  '@esbuild/linux-ppc64@0.21.4':
+  "@esbuild/linux-ppc64@0.21.4":
     optional: true
 
-  '@esbuild/linux-riscv64@0.20.2':
+  "@esbuild/linux-riscv64@0.20.2":
     optional: true
 
-  '@esbuild/linux-riscv64@0.21.4':
+  "@esbuild/linux-riscv64@0.21.4":
     optional: true
 
-  '@esbuild/linux-s390x@0.20.2':
+  "@esbuild/linux-s390x@0.20.2":
     optional: true
 
-  '@esbuild/linux-s390x@0.21.4':
+  "@esbuild/linux-s390x@0.21.4":
     optional: true
 
-  '@esbuild/linux-x64@0.20.2':
+  "@esbuild/linux-x64@0.20.2":
     optional: true
 
-  '@esbuild/linux-x64@0.21.4':
+  "@esbuild/linux-x64@0.21.4":
     optional: true
 
-  '@esbuild/netbsd-x64@0.20.2':
+  "@esbuild/netbsd-x64@0.20.2":
     optional: true
 
-  '@esbuild/netbsd-x64@0.21.4':
+  "@esbuild/netbsd-x64@0.21.4":
     optional: true
 
-  '@esbuild/openbsd-x64@0.20.2':
+  "@esbuild/openbsd-x64@0.20.2":
     optional: true
 
-  '@esbuild/openbsd-x64@0.21.4':
+  "@esbuild/openbsd-x64@0.21.4":
     optional: true
 
-  '@esbuild/sunos-x64@0.20.2':
+  "@esbuild/sunos-x64@0.20.2":
     optional: true
 
-  '@esbuild/sunos-x64@0.21.4':
+  "@esbuild/sunos-x64@0.21.4":
     optional: true
 
-  '@esbuild/win32-arm64@0.20.2':
+  "@esbuild/win32-arm64@0.20.2":
     optional: true
 
-  '@esbuild/win32-arm64@0.21.4':
+  "@esbuild/win32-arm64@0.21.4":
     optional: true
 
-  '@esbuild/win32-ia32@0.20.2':
+  "@esbuild/win32-ia32@0.20.2":
     optional: true
 
-  '@esbuild/win32-ia32@0.21.4':
+  "@esbuild/win32-ia32@0.21.4":
     optional: true
 
-  '@esbuild/win32-x64@0.20.2':
+  "@esbuild/win32-x64@0.20.2":
     optional: true
 
-  '@esbuild/win32-x64@0.21.4':
+  "@esbuild/win32-x64@0.21.4":
     optional: true
 
-  '@eslint-community/eslint-utils@4.4.0(eslint-ts-patch@9.4.0-0)':
+  "@eslint-community/eslint-utils@4.4.0(eslint-ts-patch@9.4.0-0)":
     dependencies:
       eslint: eslint-ts-patch@9.4.0-0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)':
+  "@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)":
     dependencies:
       eslint: 9.4.0
       eslint-visitor-keys: 3.4.3
 
-  '@eslint-community/regexpp@4.10.1': {}
+  "@eslint-community/regexpp@4.10.1": {}
 
-  '@eslint-react/ast@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/ast@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       string-ts: 2.1.1
       ts-pattern: 5.1.2
     transitivePeerDependencies:
@@ -4328,18 +6902,18 @@ snapshots:
       - supports-color
       - typescript
 
-  '@eslint-react/core@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
-    dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/jsx': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/var': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+  "@eslint-react/core@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
+    dependencies:
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/jsx": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/var": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       short-unique-id: 5.2.0
       ts-pattern: 5.1.2
       valibot: 0.31.0
@@ -4348,15 +6922,15 @@ snapshots:
       - supports-color
       - typescript
 
-  '@eslint-react/eslint-plugin@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/eslint-plugin@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       eslint-plugin-react-core: 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint-plugin-react-dom: 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
@@ -4367,16 +6941,16 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint-react/jsx@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/jsx@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/var': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/var": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       micro-memoize: 4.1.2
       ts-pattern: 5.1.2
     transitivePeerDependencies:
@@ -4384,35 +6958,35 @@ snapshots:
       - supports-color
       - typescript
 
-  '@eslint-react/shared@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/shared@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       deepmerge-ts: 7.0.3
     transitivePeerDependencies:
       - eslint
       - supports-color
       - typescript
 
-  '@eslint-react/tools@1.5.15': {}
+  "@eslint-react/tools@1.5.15": {}
 
-  '@eslint-react/types@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/types@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-react/tools': 1.5.15
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
     transitivePeerDependencies:
       - eslint
       - supports-color
       - typescript
 
-  '@eslint-react/var@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@eslint-react/var@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       string-ts: 2.1.1
       valibot: 0.31.0
     transitivePeerDependencies:
@@ -4420,19 +6994,19 @@ snapshots:
       - supports-color
       - typescript
 
-  '@eslint-stylistic/metadata@2.1.0': {}
+  "@eslint-stylistic/metadata@2.1.0": {}
 
-  '@eslint/compat@1.0.3': {}
+  "@eslint/compat@1.0.3": {}
 
-  '@eslint/config-array@0.15.1':
+  "@eslint/config-array@0.15.1":
     dependencies:
-      '@eslint/object-schema': 2.1.3
+      "@eslint/object-schema": 2.1.3
       debug: 4.3.5
       minimatch: 3.1.2
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/config-inspector@0.4.10(eslint-ts-patch@9.4.0-0)':
+  "@eslint/config-inspector@0.4.10(eslint-ts-patch@9.4.0-0)":
     dependencies:
       bundle-require: 4.2.1(esbuild@0.21.4)
       cac: 6.7.14
@@ -4454,7 +7028,7 @@ snapshots:
       - uWebSockets.js
       - utf-8-validate
 
-  '@eslint/eslintrc@3.1.0':
+  "@eslint/eslintrc@3.1.0":
     dependencies:
       ajv: 6.12.6
       debug: 4.3.5
@@ -4468,17 +7042,17 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@eslint/js@9.4.0': {}
+  "@eslint/js@9.4.0": {}
 
-  '@eslint/object-schema@2.1.3': {}
+  "@eslint/object-schema@2.1.3": {}
 
-  '@github/browserslist-config@1.0.0': {}
+  "@github/browserslist-config@1.0.0": {}
 
-  '@humanwhocodes/module-importer@1.0.1': {}
+  "@humanwhocodes/module-importer@1.0.1": {}
 
-  '@humanwhocodes/retry@0.3.0': {}
+  "@humanwhocodes/retry@0.3.0": {}
 
-  '@isaacs/cliui@8.0.2':
+  "@isaacs/cliui@8.0.2":
     dependencies:
       string-width: 5.1.2
       string-width-cjs: string-width@4.2.3
@@ -4487,253 +7061,253 @@ snapshots:
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: wrap-ansi@7.0.0
 
-  '@jest/schemas@29.6.3':
+  "@jest/schemas@29.6.3":
     dependencies:
-      '@sinclair/typebox': 0.27.8
+      "@sinclair/typebox": 0.27.8
 
-  '@jridgewell/gen-mapping@0.3.5':
+  "@jridgewell/gen-mapping@0.3.5":
     dependencies:
-      '@jridgewell/set-array': 1.2.1
-      '@jridgewell/sourcemap-codec': 1.4.15
-      '@jridgewell/trace-mapping': 0.3.25
+      "@jridgewell/set-array": 1.2.1
+      "@jridgewell/sourcemap-codec": 1.4.15
+      "@jridgewell/trace-mapping": 0.3.25
 
-  '@jridgewell/resolve-uri@3.1.2': {}
+  "@jridgewell/resolve-uri@3.1.2": {}
 
-  '@jridgewell/set-array@1.2.1': {}
+  "@jridgewell/set-array@1.2.1": {}
 
-  '@jridgewell/sourcemap-codec@1.4.15': {}
+  "@jridgewell/sourcemap-codec@1.4.15": {}
 
-  '@jridgewell/trace-mapping@0.3.25':
+  "@jridgewell/trace-mapping@0.3.25":
     dependencies:
-      '@jridgewell/resolve-uri': 3.1.2
-      '@jridgewell/sourcemap-codec': 1.4.15
+      "@jridgewell/resolve-uri": 3.1.2
+      "@jridgewell/sourcemap-codec": 1.4.15
 
-  '@jsdevtools/ez-spawn@3.0.4':
+  "@jsdevtools/ez-spawn@3.0.4":
     dependencies:
       call-me-maybe: 1.0.2
       cross-spawn: 7.0.3
       string-argv: 0.3.2
       type-detect: 4.0.8
 
-  '@jsdevtools/ono@7.1.3': {}
+  "@jsdevtools/ono@7.1.3": {}
 
-  '@microsoft/tsdoc-config@0.17.0':
+  "@microsoft/tsdoc-config@0.17.0":
     dependencies:
-      '@microsoft/tsdoc': 0.15.0
+      "@microsoft/tsdoc": 0.15.0
       ajv: 8.12.0
       jju: 1.4.0
       resolve: 1.22.8
 
-  '@microsoft/tsdoc@0.15.0': {}
+  "@microsoft/tsdoc@0.15.0": {}
 
-  '@next/eslint-plugin-next@14.2.3':
+  "@next/eslint-plugin-next@14.2.3":
     dependencies:
       glob: 10.3.10
 
-  '@nodelib/fs.scandir@2.1.5':
+  "@nodelib/fs.scandir@2.1.5":
     dependencies:
-      '@nodelib/fs.stat': 2.0.5
+      "@nodelib/fs.stat": 2.0.5
       run-parallel: 1.2.0
 
-  '@nodelib/fs.stat@2.0.5': {}
+  "@nodelib/fs.stat@2.0.5": {}
 
-  '@nodelib/fs.walk@1.2.8':
+  "@nodelib/fs.walk@1.2.8":
     dependencies:
-      '@nodelib/fs.scandir': 2.1.5
+      "@nodelib/fs.scandir": 2.1.5
       fastq: 1.17.1
 
-  '@pkgjs/parseargs@0.11.0':
+  "@pkgjs/parseargs@0.11.0":
     optional: true
 
-  '@pkgr/core@0.1.1': {}
+  "@pkgr/core@0.1.1": {}
 
-  '@prettier/plugin-xml@3.4.1(prettier@3.3.1)':
+  "@prettier/plugin-xml@3.4.1(prettier@3.3.1)":
     dependencies:
-      '@xml-tools/parser': 1.0.11
+      "@xml-tools/parser": 1.0.11
       prettier: 3.3.1
 
-  '@rollup/rollup-android-arm-eabi@4.18.0':
+  "@rollup/rollup-android-arm-eabi@4.18.0":
     optional: true
 
-  '@rollup/rollup-android-arm64@4.18.0':
+  "@rollup/rollup-android-arm64@4.18.0":
     optional: true
 
-  '@rollup/rollup-darwin-arm64@4.18.0':
+  "@rollup/rollup-darwin-arm64@4.18.0":
     optional: true
 
-  '@rollup/rollup-darwin-x64@4.18.0':
+  "@rollup/rollup-darwin-x64@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
+  "@rollup/rollup-linux-arm-gnueabihf@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-arm-musleabihf@4.18.0':
+  "@rollup/rollup-linux-arm-musleabihf@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-arm64-gnu@4.18.0':
+  "@rollup/rollup-linux-arm64-gnu@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-arm64-musl@4.18.0':
+  "@rollup/rollup-linux-arm64-musl@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
+  "@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-riscv64-gnu@4.18.0':
+  "@rollup/rollup-linux-riscv64-gnu@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-s390x-gnu@4.18.0':
+  "@rollup/rollup-linux-s390x-gnu@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-x64-gnu@4.18.0':
+  "@rollup/rollup-linux-x64-gnu@4.18.0":
     optional: true
 
-  '@rollup/rollup-linux-x64-musl@4.18.0':
+  "@rollup/rollup-linux-x64-musl@4.18.0":
     optional: true
 
-  '@rollup/rollup-win32-arm64-msvc@4.18.0':
+  "@rollup/rollup-win32-arm64-msvc@4.18.0":
     optional: true
 
-  '@rollup/rollup-win32-ia32-msvc@4.18.0':
+  "@rollup/rollup-win32-ia32-msvc@4.18.0":
     optional: true
 
-  '@rollup/rollup-win32-x64-msvc@4.18.0':
+  "@rollup/rollup-win32-x64-msvc@4.18.0":
     optional: true
 
-  '@sec-ant/readable-stream@0.4.1': {}
+  "@sec-ant/readable-stream@0.4.1": {}
 
-  '@sinclair/typebox@0.27.8': {}
+  "@sinclair/typebox@0.27.8": {}
 
-  '@sindresorhus/merge-streams@4.0.0': {}
+  "@sindresorhus/merge-streams@4.0.0": {}
 
-  '@slidev/parser@0.47.5':
+  "@slidev/parser@0.47.5":
     dependencies:
-      '@slidev/types': 0.47.5
+      "@slidev/types": 0.47.5
       js-yaml: 4.1.0
 
-  '@slidev/types@0.47.5': {}
+  "@slidev/types@0.47.5": {}
 
-  '@stylistic/eslint-plugin-js@2.1.0(eslint-ts-patch@9.4.0-0)':
+  "@stylistic/eslint-plugin-js@2.1.0(eslint-ts-patch@9.4.0-0)":
     dependencies:
-      '@types/eslint': 8.56.10
+      "@types/eslint": 8.56.10
       acorn: 8.11.3
       eslint: eslint-ts-patch@9.4.0-0
       eslint-visitor-keys: 4.0.0
       espree: 10.0.1
 
-  '@stylistic/eslint-plugin-jsx@2.1.0(eslint-ts-patch@9.4.0-0)':
+  "@stylistic/eslint-plugin-jsx@2.1.0(eslint-ts-patch@9.4.0-0)":
     dependencies:
-      '@stylistic/eslint-plugin-js': 2.1.0(eslint-ts-patch@9.4.0-0)
-      '@types/eslint': 8.56.10
+      "@stylistic/eslint-plugin-js": 2.1.0(eslint-ts-patch@9.4.0-0)
+      "@types/eslint": 8.56.10
       eslint: eslint-ts-patch@9.4.0-0
       estraverse: 5.3.0
       picomatch: 4.0.2
 
-  '@stylistic/eslint-plugin-migrate@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@stylistic/eslint-plugin-migrate@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-stylistic/metadata': 2.1.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-stylistic/metadata": 2.1.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
     transitivePeerDependencies:
       - eslint
       - supports-color
       - typescript
 
-  '@stylistic/eslint-plugin-plus@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@stylistic/eslint-plugin-plus@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@types/eslint': 8.56.10
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@types/eslint": 8.56.10
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@stylistic/eslint-plugin-ts@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@stylistic/eslint-plugin-ts@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@stylistic/eslint-plugin-js': 2.1.0(eslint-ts-patch@9.4.0-0)
-      '@types/eslint': 8.56.10
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@stylistic/eslint-plugin-js": 2.1.0(eslint-ts-patch@9.4.0-0)
+      "@types/eslint": 8.56.10
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@stylistic/eslint-plugin@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@stylistic/eslint-plugin@2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@stylistic/eslint-plugin-js': 2.1.0(eslint-ts-patch@9.4.0-0)
-      '@stylistic/eslint-plugin-jsx': 2.1.0(eslint-ts-patch@9.4.0-0)
-      '@stylistic/eslint-plugin-plus': 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@stylistic/eslint-plugin-ts': 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@types/eslint': 8.56.10
+      "@stylistic/eslint-plugin-js": 2.1.0(eslint-ts-patch@9.4.0-0)
+      "@stylistic/eslint-plugin-jsx": 2.1.0(eslint-ts-patch@9.4.0-0)
+      "@stylistic/eslint-plugin-plus": 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@stylistic/eslint-plugin-ts": 2.1.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@types/eslint": 8.56.10
       eslint: eslint-ts-patch@9.4.0-0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1)':
+  "@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1)":
     dependencies:
-      '@babel/generator': 7.17.7
-      '@babel/parser': 7.24.7
-      '@babel/traverse': 7.23.2
-      '@babel/types': 7.17.0
+      "@babel/generator": 7.17.7
+      "@babel/parser": 7.24.7
+      "@babel/traverse": 7.23.2
+      "@babel/types": 7.17.0
       javascript-natural-sort: 0.7.1
       lodash: 4.17.21
       prettier: 3.3.1
     optionalDependencies:
-      '@vue/compiler-sfc': 3.4.27
+      "@vue/compiler-sfc": 3.4.27
     transitivePeerDependencies:
       - supports-color
 
-  '@types/eslint@8.56.10':
+  "@types/eslint@8.56.10":
     dependencies:
-      '@types/estree': 1.0.5
-      '@types/json-schema': 7.0.15
+      "@types/estree": 1.0.5
+      "@types/json-schema": 7.0.15
 
-  '@types/estree@1.0.5': {}
+  "@types/estree@1.0.5": {}
 
-  '@types/fs-extra@11.0.4':
+  "@types/fs-extra@11.0.4":
     dependencies:
-      '@types/jsonfile': 6.1.4
-      '@types/node': 20.14.2
+      "@types/jsonfile": 6.1.4
+      "@types/node": 20.14.2
 
-  '@types/json-schema@7.0.15': {}
+  "@types/json-schema@7.0.15": {}
 
-  '@types/json5@0.0.29': {}
+  "@types/json5@0.0.29": {}
 
-  '@types/jsonfile@6.1.4':
+  "@types/jsonfile@6.1.4":
     dependencies:
-      '@types/node': 20.14.2
+      "@types/node": 20.14.2
 
-  '@types/mdast@3.0.15':
+  "@types/mdast@3.0.15":
     dependencies:
-      '@types/unist': 2.0.10
+      "@types/unist": 2.0.10
 
-  '@types/node@20.14.2':
+  "@types/node@20.14.2":
     dependencies:
       undici-types: 5.26.5
 
-  '@types/normalize-package-data@2.4.4': {}
+  "@types/normalize-package-data@2.4.4": {}
 
-  '@types/prompts@2.4.9':
+  "@types/prompts@2.4.9":
     dependencies:
-      '@types/node': 20.14.2
+      "@types/node": 20.14.2
       kleur: 3.0.3
 
-  '@types/unist@2.0.10': {}
+  "@types/unist@2.0.10": {}
 
-  '@types/yargs-parser@21.0.3': {}
+  "@types/yargs-parser@21.0.3": {}
 
-  '@types/yargs@17.0.32':
+  "@types/yargs@17.0.32":
     dependencies:
-      '@types/yargs-parser': 21.0.3
+      "@types/yargs-parser": 21.0.3
 
-  '@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-community/regexpp': 4.10.1
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/visitor-keys': 7.12.0
+      "@eslint-community/regexpp": 4.10.1
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/visitor-keys": 7.12.0
       eslint: eslint-ts-patch@9.4.0-0
       graphemer: 1.4.0
       ignore: 5.3.1
@@ -4744,12 +7318,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
-      '@typescript-eslint/visitor-keys': 7.12.0
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/typescript-estree": 7.12.0(typescript@5.4.5)
+      "@typescript-eslint/visitor-keys": 7.12.0
       debug: 4.3.5
       eslint: eslint-ts-patch@9.4.0-0
     optionalDependencies:
@@ -4757,15 +7331,15 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/scope-manager@7.12.0':
+  "@typescript-eslint/scope-manager@7.12.0":
     dependencies:
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/visitor-keys': 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/visitor-keys": 7.12.0
 
-  '@typescript-eslint/type-utils@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@typescript-eslint/type-utils@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/typescript-estree": 7.12.0(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       debug: 4.3.5
       eslint: eslint-ts-patch@9.4.0-0
       ts-api-utils: 1.3.0(typescript@5.4.5)
@@ -4774,12 +7348,12 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/types@7.12.0': {}
+  "@typescript-eslint/types@7.12.0": {}
 
-  '@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5)':
+  "@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5)":
     dependencies:
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/visitor-keys': 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/visitor-keys": 7.12.0
       debug: 4.3.5
       globby: 11.1.0
       is-glob: 4.0.3
@@ -4791,34 +7365,34 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/utils@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@typescript-eslint/utils@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/typescript-estree": 7.12.0(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  '@typescript-eslint/visitor-keys@7.12.0':
+  "@typescript-eslint/visitor-keys@7.12.0":
     dependencies:
-      '@typescript-eslint/types': 7.12.0
+      "@typescript-eslint/types": 7.12.0
       eslint-visitor-keys: 3.4.3
 
-  '@unocss/config@0.60.4':
+  "@unocss/config@0.60.4":
     dependencies:
-      '@unocss/core': 0.60.4
+      "@unocss/core": 0.60.4
       unconfig: 0.3.13
 
-  '@unocss/core@0.60.4': {}
+  "@unocss/core@0.60.4": {}
 
-  '@unocss/eslint-plugin@0.60.4(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)':
+  "@unocss/eslint-plugin@0.60.4(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)":
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@unocss/config': 0.60.4
-      '@unocss/core': 0.60.4
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@unocss/config": 0.60.4
+      "@unocss/core": 0.60.4
       magic-string: 0.30.10
       synckit: 0.9.0
     transitivePeerDependencies:
@@ -4826,89 +7400,89 @@ snapshots:
       - supports-color
       - typescript
 
-  '@vitest/expect@1.6.0':
+  "@vitest/expect@1.6.0":
     dependencies:
-      '@vitest/spy': 1.6.0
-      '@vitest/utils': 1.6.0
+      "@vitest/spy": 1.6.0
+      "@vitest/utils": 1.6.0
       chai: 4.4.1
 
-  '@vitest/runner@1.6.0':
+  "@vitest/runner@1.6.0":
     dependencies:
-      '@vitest/utils': 1.6.0
+      "@vitest/utils": 1.6.0
       p-limit: 5.0.0
       pathe: 1.1.2
 
-  '@vitest/snapshot@1.6.0':
+  "@vitest/snapshot@1.6.0":
     dependencies:
       magic-string: 0.30.10
       pathe: 1.1.2
       pretty-format: 29.7.0
 
-  '@vitest/spy@1.6.0':
+  "@vitest/spy@1.6.0":
     dependencies:
       tinyspy: 2.2.1
 
-  '@vitest/utils@1.6.0':
+  "@vitest/utils@1.6.0":
     dependencies:
       diff-sequences: 29.6.3
       estree-walker: 3.0.3
       loupe: 2.3.7
       pretty-format: 29.7.0
 
-  '@vue/compiler-core@3.4.27':
+  "@vue/compiler-core@3.4.27":
     dependencies:
-      '@babel/parser': 7.24.7
-      '@vue/shared': 3.4.27
+      "@babel/parser": 7.24.7
+      "@vue/shared": 3.4.27
       entities: 4.5.0
       estree-walker: 2.0.2
       source-map-js: 1.2.0
 
-  '@vue/compiler-dom@3.4.27':
+  "@vue/compiler-dom@3.4.27":
     dependencies:
-      '@vue/compiler-core': 3.4.27
-      '@vue/shared': 3.4.27
+      "@vue/compiler-core": 3.4.27
+      "@vue/shared": 3.4.27
 
-  '@vue/compiler-sfc@3.4.27':
+  "@vue/compiler-sfc@3.4.27":
     dependencies:
-      '@babel/parser': 7.24.7
-      '@vue/compiler-core': 3.4.27
-      '@vue/compiler-dom': 3.4.27
-      '@vue/compiler-ssr': 3.4.27
-      '@vue/shared': 3.4.27
+      "@babel/parser": 7.24.7
+      "@vue/compiler-core": 3.4.27
+      "@vue/compiler-dom": 3.4.27
+      "@vue/compiler-ssr": 3.4.27
+      "@vue/shared": 3.4.27
       estree-walker: 2.0.2
       magic-string: 0.30.10
       postcss: 8.4.38
       source-map-js: 1.2.0
 
-  '@vue/compiler-ssr@3.4.27':
+  "@vue/compiler-ssr@3.4.27":
     dependencies:
-      '@vue/compiler-dom': 3.4.27
-      '@vue/shared': 3.4.27
+      "@vue/compiler-dom": 3.4.27
+      "@vue/shared": 3.4.27
 
-  '@vue/reactivity@3.4.27':
+  "@vue/reactivity@3.4.27":
     dependencies:
-      '@vue/shared': 3.4.27
+      "@vue/shared": 3.4.27
 
-  '@vue/runtime-core@3.4.27':
+  "@vue/runtime-core@3.4.27":
     dependencies:
-      '@vue/reactivity': 3.4.27
-      '@vue/shared': 3.4.27
+      "@vue/reactivity": 3.4.27
+      "@vue/shared": 3.4.27
 
-  '@vue/runtime-dom@3.4.27':
+  "@vue/runtime-dom@3.4.27":
     dependencies:
-      '@vue/runtime-core': 3.4.27
-      '@vue/shared': 3.4.27
+      "@vue/runtime-core": 3.4.27
+      "@vue/shared": 3.4.27
       csstype: 3.1.3
 
-  '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))':
+  "@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.4.5))":
     dependencies:
-      '@vue/compiler-ssr': 3.4.27
-      '@vue/shared': 3.4.27
+      "@vue/compiler-ssr": 3.4.27
+      "@vue/shared": 3.4.27
       vue: 3.4.27(typescript@5.4.5)
 
-  '@vue/shared@3.4.27': {}
+  "@vue/shared@3.4.27": {}
 
-  '@xml-tools/parser@1.0.11':
+  "@xml-tools/parser@1.0.11":
     dependencies:
       chevrotain: 7.1.1
 
@@ -5049,10 +7623,10 @@ snapshots:
 
   astro-eslint-parser@1.0.2(typescript@5.4.5):
     dependencies:
-      '@astrojs/compiler': 2.8.0
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
+      "@astrojs/compiler": 2.8.0
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/typescript-estree": 7.12.0(typescript@5.4.5)
       astrojs-compiler-sync: 1.0.0(@astrojs/compiler@2.8.0)
       debug: 4.3.5
       entities: 4.5.0
@@ -5068,7 +7642,7 @@ snapshots:
 
   astrojs-compiler-sync@1.0.0(@astrojs/compiler@2.8.0):
     dependencies:
-      '@astrojs/compiler': 2.8.0
+      "@astrojs/compiler": 2.8.0
       synckit: 0.9.0
 
   available-typed-arrays@1.0.7:
@@ -5115,7 +7689,7 @@ snapshots:
 
   bumpp@9.4.1:
     dependencies:
-      '@jsdevtools/ez-spawn': 3.0.4
+      "@jsdevtools/ez-spawn": 3.0.4
       c12: 1.10.0
       cac: 6.7.14
       escalade: 3.1.2
@@ -5249,8 +7823,8 @@ snapshots:
 
   code-red@1.0.4:
     dependencies:
-      '@jridgewell/sourcemap-codec': 1.4.15
-      '@types/estree': 1.0.5
+      "@jridgewell/sourcemap-codec": 1.4.15
+      "@types/estree": 1.0.5
       acorn: 8.11.3
       estree-walker: 3.0.3
       periscopic: 3.1.0
@@ -5508,55 +8082,55 @@ snapshots:
 
   esbuild@0.20.2:
     optionalDependencies:
-      '@esbuild/aix-ppc64': 0.20.2
-      '@esbuild/android-arm': 0.20.2
-      '@esbuild/android-arm64': 0.20.2
-      '@esbuild/android-x64': 0.20.2
-      '@esbuild/darwin-arm64': 0.20.2
-      '@esbuild/darwin-x64': 0.20.2
-      '@esbuild/freebsd-arm64': 0.20.2
-      '@esbuild/freebsd-x64': 0.20.2
-      '@esbuild/linux-arm': 0.20.2
-      '@esbuild/linux-arm64': 0.20.2
-      '@esbuild/linux-ia32': 0.20.2
-      '@esbuild/linux-loong64': 0.20.2
-      '@esbuild/linux-mips64el': 0.20.2
-      '@esbuild/linux-ppc64': 0.20.2
-      '@esbuild/linux-riscv64': 0.20.2
-      '@esbuild/linux-s390x': 0.20.2
-      '@esbuild/linux-x64': 0.20.2
-      '@esbuild/netbsd-x64': 0.20.2
-      '@esbuild/openbsd-x64': 0.20.2
-      '@esbuild/sunos-x64': 0.20.2
-      '@esbuild/win32-arm64': 0.20.2
-      '@esbuild/win32-ia32': 0.20.2
-      '@esbuild/win32-x64': 0.20.2
+      "@esbuild/aix-ppc64": 0.20.2
+      "@esbuild/android-arm": 0.20.2
+      "@esbuild/android-arm64": 0.20.2
+      "@esbuild/android-x64": 0.20.2
+      "@esbuild/darwin-arm64": 0.20.2
+      "@esbuild/darwin-x64": 0.20.2
+      "@esbuild/freebsd-arm64": 0.20.2
+      "@esbuild/freebsd-x64": 0.20.2
+      "@esbuild/linux-arm": 0.20.2
+      "@esbuild/linux-arm64": 0.20.2
+      "@esbuild/linux-ia32": 0.20.2
+      "@esbuild/linux-loong64": 0.20.2
+      "@esbuild/linux-mips64el": 0.20.2
+      "@esbuild/linux-ppc64": 0.20.2
+      "@esbuild/linux-riscv64": 0.20.2
+      "@esbuild/linux-s390x": 0.20.2
+      "@esbuild/linux-x64": 0.20.2
+      "@esbuild/netbsd-x64": 0.20.2
+      "@esbuild/openbsd-x64": 0.20.2
+      "@esbuild/sunos-x64": 0.20.2
+      "@esbuild/win32-arm64": 0.20.2
+      "@esbuild/win32-ia32": 0.20.2
+      "@esbuild/win32-x64": 0.20.2
 
   esbuild@0.21.4:
     optionalDependencies:
-      '@esbuild/aix-ppc64': 0.21.4
-      '@esbuild/android-arm': 0.21.4
-      '@esbuild/android-arm64': 0.21.4
-      '@esbuild/android-x64': 0.21.4
-      '@esbuild/darwin-arm64': 0.21.4
-      '@esbuild/darwin-x64': 0.21.4
-      '@esbuild/freebsd-arm64': 0.21.4
-      '@esbuild/freebsd-x64': 0.21.4
-      '@esbuild/linux-arm': 0.21.4
-      '@esbuild/linux-arm64': 0.21.4
-      '@esbuild/linux-ia32': 0.21.4
-      '@esbuild/linux-loong64': 0.21.4
-      '@esbuild/linux-mips64el': 0.21.4
-      '@esbuild/linux-ppc64': 0.21.4
-      '@esbuild/linux-riscv64': 0.21.4
-      '@esbuild/linux-s390x': 0.21.4
-      '@esbuild/linux-x64': 0.21.4
-      '@esbuild/netbsd-x64': 0.21.4
-      '@esbuild/openbsd-x64': 0.21.4
-      '@esbuild/sunos-x64': 0.21.4
-      '@esbuild/win32-arm64': 0.21.4
-      '@esbuild/win32-ia32': 0.21.4
-      '@esbuild/win32-x64': 0.21.4
+      "@esbuild/aix-ppc64": 0.21.4
+      "@esbuild/android-arm": 0.21.4
+      "@esbuild/android-arm64": 0.21.4
+      "@esbuild/android-x64": 0.21.4
+      "@esbuild/darwin-arm64": 0.21.4
+      "@esbuild/darwin-x64": 0.21.4
+      "@esbuild/freebsd-arm64": 0.21.4
+      "@esbuild/freebsd-x64": 0.21.4
+      "@esbuild/linux-arm": 0.21.4
+      "@esbuild/linux-arm64": 0.21.4
+      "@esbuild/linux-ia32": 0.21.4
+      "@esbuild/linux-loong64": 0.21.4
+      "@esbuild/linux-mips64el": 0.21.4
+      "@esbuild/linux-ppc64": 0.21.4
+      "@esbuild/linux-riscv64": 0.21.4
+      "@esbuild/linux-s390x": 0.21.4
+      "@esbuild/linux-x64": 0.21.4
+      "@esbuild/netbsd-x64": 0.21.4
+      "@esbuild/openbsd-x64": 0.21.4
+      "@esbuild/sunos-x64": 0.21.4
+      "@esbuild/win32-arm64": 0.21.4
+      "@esbuild/win32-ia32": 0.21.4
+      "@esbuild/win32-x64": 0.21.4
 
   escalade@3.1.2: {}
 
@@ -5580,7 +8154,7 @@ snapshots:
 
   eslint-flat-config-utils@0.2.5:
     dependencies:
-      '@types/eslint': 8.56.10
+      "@types/eslint": 8.56.10
       pathe: 1.1.2
 
   eslint-formatting-reporter@0.0.0(eslint-ts-patch@9.4.0-0):
@@ -5604,7 +8178,7 @@ snapshots:
     dependencies:
       debug: 3.2.7
     optionalDependencies:
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       eslint-import-resolver-node: 0.3.9
     transitivePeerDependencies:
@@ -5614,7 +8188,7 @@ snapshots:
 
   eslint-plugin-antfu@2.3.3(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@antfu/utils': 0.7.8
+      "@antfu/utils": 0.7.8
       eslint: eslint-ts-patch@9.4.0-0
 
   eslint-plugin-array-func@5.0.1(eslint-ts-patch@9.4.0-0):
@@ -5623,9 +8197,9 @@ snapshots:
 
   eslint-plugin-astro@1.2.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@jridgewell/sourcemap-codec': 1.4.15
-      '@typescript-eslint/types': 7.12.0
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@jridgewell/sourcemap-codec": 1.4.15
+      "@typescript-eslint/types": 7.12.0
       astro-eslint-parser: 1.0.2(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       eslint-compat-utils: 0.5.1(eslint-ts-patch@9.4.0-0)
@@ -5642,13 +8216,13 @@ snapshots:
 
   eslint-plugin-command@0.2.3(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@es-joy/jsdoccomment': 0.43.1
+      "@es-joy/jsdoccomment": 0.43.1
       eslint: eslint-ts-patch@9.4.0-0
 
   eslint-plugin-es-x@7.7.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@eslint-community/regexpp': 4.10.1
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-community/regexpp": 4.10.1
       eslint: eslint-ts-patch@9.4.0-0
       eslint-compat-utils: 0.5.1(eslint-ts-patch@9.4.0-0)
 
@@ -5665,8 +8239,8 @@ snapshots:
 
   eslint-plugin-expect-type@0.4.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       fs-extra: 11.2.0
       typescript: 5.4.5
@@ -5683,9 +8257,9 @@ snapshots:
 
   eslint-plugin-format@0.1.1(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@dprint/formatter': 0.2.1
-      '@dprint/markdown': 0.16.4
-      '@dprint/toml': 0.6.2
+      "@dprint/formatter": 0.2.1
+      "@dprint/markdown": 0.16.4
+      "@dprint/toml": 0.6.2
       eslint: eslint-ts-patch@9.4.0-0
       eslint-formatting-reporter: 0.0.0(eslint-ts-patch@9.4.0-0)
       eslint-parser-plain: 0.1.0
@@ -5694,9 +8268,9 @@ snapshots:
 
   eslint-plugin-github@5.0.1(@types/eslint@8.56.10)(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@github/browserslist-config': 1.0.0
-      '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@github/browserslist-config": 1.0.0
+      "@typescript-eslint/eslint-plugin": 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       aria-query: 5.3.0
       eslint: eslint-ts-patch@9.4.0-0
       eslint-config-prettier: 9.1.0(eslint-ts-patch@9.4.0-0)
@@ -5713,7 +8287,7 @@ snapshots:
       prettier: 3.3.1
       svg-element-attributes: 1.3.1
     transitivePeerDependencies:
-      - '@types/eslint'
+      - "@types/eslint"
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
       - supports-color
@@ -5725,7 +8299,7 @@ snapshots:
 
   eslint-plugin-import-x@0.5.1(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       debug: 4.3.5
       doctrine: 3.0.0
       eslint: eslint-ts-patch@9.4.0-0
@@ -5760,7 +8334,7 @@ snapshots:
       semver: 6.3.1
       tsconfig-paths: 3.15.0
     optionalDependencies:
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
     transitivePeerDependencies:
       - eslint-import-resolver-typescript
       - eslint-import-resolver-webpack
@@ -5768,7 +8342,7 @@ snapshots:
 
   eslint-plugin-jsdoc@48.2.9(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@es-joy/jsdoccomment': 0.43.1
+      "@es-joy/jsdoccomment": 0.43.1
       are-docs-informative: 0.0.2
       comment-parser: 1.4.1
       debug: 4.3.5
@@ -5782,7 +8356,7 @@ snapshots:
 
   eslint-plugin-jsonc@2.16.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
       eslint: eslint-ts-patch@9.4.0-0
       eslint-compat-utils: 0.5.1(eslint-ts-patch@9.4.0-0)
       espree: 9.6.1
@@ -5793,7 +8367,7 @@ snapshots:
 
   eslint-plugin-jsx-a11y@6.8.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@babel/runtime': 7.24.7
+      "@babel/runtime": 7.24.7
       aria-query: 5.3.0
       array-includes: 3.1.8
       array.prototype.flatmap: 1.3.2
@@ -5820,7 +8394,7 @@ snapshots:
 
   eslint-plugin-n@17.8.1(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
       enhanced-resolve: 5.17.0
       eslint: eslint-ts-patch@9.4.0-0
       eslint-plugin-es-x: 7.7.0(eslint-ts-patch@9.4.0-0)
@@ -5846,7 +8420,7 @@ snapshots:
 
   eslint-plugin-perfectionist@2.10.0(astro-eslint-parser@1.0.2(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(svelte-eslint-parser@0.36.0(svelte@4.2.18))(svelte@4.2.18)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint-ts-patch@9.4.0-0)):
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       minimatch: 9.0.4
       natural-compare-lite: 1.4.0
@@ -5866,22 +8440,22 @@ snapshots:
       prettier-linter-helpers: 1.0.0
       synckit: 0.8.8
     optionalDependencies:
-      '@types/eslint': 8.56.10
+      "@types/eslint": 8.56.10
       eslint-config-prettier: 9.1.0(eslint-ts-patch@9.4.0-0)
 
   eslint-plugin-react-core@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/core': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/jsx': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/var': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/core": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/jsx": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/var": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       string-ts: 2.1.1
       ts-api-utils: 1.3.0(typescript@5.4.5)
@@ -5893,16 +8467,16 @@ snapshots:
 
   eslint-plugin-react-dom@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/core': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/jsx': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/var': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/core": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/jsx": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/var": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       string-ts: 2.1.1
       valibot: 0.31.0
@@ -5913,17 +8487,17 @@ snapshots:
 
   eslint-plugin-react-hooks-extra@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/core': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/jsx': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/var': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/core": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/jsx": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/var": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       string-ts: 2.1.1
       valibot: 0.31.0
@@ -5938,16 +8512,16 @@ snapshots:
 
   eslint-plugin-react-naming-convention@1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@eslint-react/ast': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/core': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/jsx': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/shared': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@eslint-react/tools': 1.5.15
-      '@eslint-react/types': 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/scope-manager': 7.12.0
-      '@typescript-eslint/type-utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/types': 7.12.0
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/ast": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/core": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/jsx": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/shared": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@eslint-react/tools": 1.5.15
+      "@eslint-react/types": 1.5.15(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.12.0
+      "@typescript-eslint/type-utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/types": 7.12.0
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       string-ts: 2.1.1
       valibot: 0.31.0
@@ -5984,8 +8558,8 @@ snapshots:
 
   eslint-plugin-regexp@2.6.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@eslint-community/regexpp': 4.10.1
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-community/regexpp": 4.10.1
       comment-parser: 1.4.1
       eslint: eslint-ts-patch@9.4.0-0
       jsdoc-type-pratt-parser: 4.0.0
@@ -5999,7 +8573,7 @@ snapshots:
 
   eslint-plugin-solid@0.14.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
       estraverse: 5.3.0
       is-html: 2.0.0
@@ -6021,8 +8595,8 @@ snapshots:
 
   eslint-plugin-svelte@2.39.0(eslint-ts-patch@9.4.0-0)(svelte@4.2.18):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@jridgewell/sourcemap-codec': 1.4.15
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@jridgewell/sourcemap-codec": 1.4.15
       debug: 4.3.5
       eslint: eslint-ts-patch@9.4.0-0
       eslint-compat-utils: 0.5.1(eslint-ts-patch@9.4.0-0)
@@ -6058,14 +8632,14 @@ snapshots:
 
   eslint-plugin-tsdoc@0.3.0:
     dependencies:
-      '@microsoft/tsdoc': 0.15.0
-      '@microsoft/tsdoc-config': 0.17.0
+      "@microsoft/tsdoc": 0.15.0
+      "@microsoft/tsdoc-config": 0.17.0
 
   eslint-plugin-unicorn@53.0.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@babel/helper-validator-identifier': 7.24.7
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
-      '@eslint/eslintrc': 3.1.0
+      "@babel/helper-validator-identifier": 7.24.7
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint/eslintrc": 3.1.0
       ci-info: 4.0.0
       clean-regexp: 1.0.0
       core-js-compat: 3.37.1
@@ -6088,14 +8662,14 @@ snapshots:
       eslint: eslint-ts-patch@9.4.0-0
       eslint-rule-composer: 0.3.0
     optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/eslint-plugin": 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
 
   eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)(vitest@1.6.0(@types/node@20.14.2)):
     dependencies:
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
     optionalDependencies:
-      '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/eslint-plugin": 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       vitest: 1.6.0(@types/node@20.14.2)
     transitivePeerDependencies:
       - supports-color
@@ -6103,7 +8677,7 @@ snapshots:
 
   eslint-plugin-vue@9.26.0(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@9.4.0-0)
+      "@eslint-community/eslint-utils": 4.4.0(eslint-ts-patch@9.4.0-0)
       eslint: eslint-ts-patch@9.4.0-0
       globals: 13.24.0
       natural-compare: 1.4.0
@@ -6132,7 +8706,7 @@ snapshots:
 
   eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.27)(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@vue/compiler-sfc': 3.4.27
+      "@vue/compiler-sfc": 3.4.27
       eslint: eslint-ts-patch@9.4.0-0
 
   eslint-rule-composer@0.3.0: {}
@@ -6159,7 +8733,7 @@ snapshots:
 
   eslint-typegen@0.2.4(eslint-ts-patch@9.4.0-0):
     dependencies:
-      '@types/eslint': 8.56.10
+      "@types/eslint": 8.56.10
       eslint: eslint-ts-patch@9.4.0-0
       json-schema-to-typescript-lite: 14.0.1
       ohash: 1.1.3
@@ -6170,14 +8744,14 @@ snapshots:
 
   eslint@9.4.0:
     dependencies:
-      '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
-      '@eslint-community/regexpp': 4.10.1
-      '@eslint/config-array': 0.15.1
-      '@eslint/eslintrc': 3.1.0
-      '@eslint/js': 9.4.0
-      '@humanwhocodes/module-importer': 1.0.1
-      '@humanwhocodes/retry': 0.3.0
-      '@nodelib/fs.walk': 1.2.8
+      "@eslint-community/eslint-utils": 4.4.0(eslint@9.4.0)
+      "@eslint-community/regexpp": 4.10.1
+      "@eslint/config-array": 0.15.1
+      "@eslint/eslintrc": 3.1.0
+      "@eslint/js": 9.4.0
+      "@humanwhocodes/module-importer": 1.0.1
+      "@humanwhocodes/retry": 0.3.0
+      "@nodelib/fs.walk": 1.2.8
       ajv: 6.12.6
       chalk: 4.1.2
       cross-spawn: 7.0.3
@@ -6237,7 +8811,7 @@ snapshots:
 
   estree-walker@3.0.3:
     dependencies:
-      '@types/estree': 1.0.5
+      "@types/estree": 1.0.5
 
   esutils@2.0.3: {}
 
@@ -6269,7 +8843,7 @@ snapshots:
 
   execa@9.2.0:
     dependencies:
-      '@sindresorhus/merge-streams': 4.0.0
+      "@sindresorhus/merge-streams": 4.0.0
       cross-spawn: 7.0.3
       figures: 6.1.0
       get-stream: 9.0.1
@@ -6288,8 +8862,8 @@ snapshots:
 
   fast-glob@3.3.2:
     dependencies:
-      '@nodelib/fs.stat': 2.0.5
-      '@nodelib/fs.walk': 1.2.8
+      "@nodelib/fs.stat": 2.0.5
+      "@nodelib/fs.walk": 1.2.8
       glob-parent: 5.1.2
       merge2: 1.4.1
       micromatch: 4.0.7
@@ -6402,7 +8976,7 @@ snapshots:
 
   get-stream@9.0.1:
     dependencies:
-      '@sec-ant/readable-stream': 0.4.1
+      "@sec-ant/readable-stream": 0.4.1
       is-stream: 4.0.1
 
   get-symbol-description@1.0.2:
@@ -6692,7 +9266,7 @@ snapshots:
 
   is-reference@3.0.2:
     dependencies:
-      '@types/estree': 1.0.5
+      "@types/estree": 1.0.5
 
   is-regex@1.1.4:
     dependencies:
@@ -6754,15 +9328,15 @@ snapshots:
 
   jackspeak@2.3.6:
     dependencies:
-      '@isaacs/cliui': 8.0.2
+      "@isaacs/cliui": 8.0.2
     optionalDependencies:
-      '@pkgjs/parseargs': 0.11.0
+      "@pkgjs/parseargs": 0.11.0
 
   jackspeak@3.4.0:
     dependencies:
-      '@isaacs/cliui': 8.0.2
+      "@isaacs/cliui": 8.0.2
     optionalDependencies:
-      '@pkgjs/parseargs': 0.11.0
+      "@pkgjs/parseargs": 0.11.0
 
   javascript-natural-sort@0.7.1: {}
 
@@ -6796,8 +9370,8 @@ snapshots:
 
   json-schema-to-typescript-lite@14.0.1:
     dependencies:
-      '@apidevtools/json-schema-ref-parser': 11.6.4
-      '@types/json-schema': 7.0.15
+      "@apidevtools/json-schema-ref-parser": 11.6.4
+      "@types/json-schema": 7.0.15
 
   json-schema-traverse@0.4.1: {}
 
@@ -6939,11 +9513,11 @@ snapshots:
 
   magic-string@0.30.10:
     dependencies:
-      '@jridgewell/sourcemap-codec': 1.4.15
+      "@jridgewell/sourcemap-codec": 1.4.15
 
   mdast-util-from-markdown@0.8.5:
     dependencies:
-      '@types/mdast': 3.0.15
+      "@types/mdast": 3.0.15
       mdast-util-to-string: 2.0.0
       micromark: 2.11.4
       parse-entities: 2.0.0
@@ -7185,7 +9759,7 @@ snapshots:
 
   parse-json@5.2.0:
     dependencies:
-      '@babel/code-frame': 7.24.7
+      "@babel/code-frame": 7.24.7
       error-ex: 1.3.2
       json-parse-even-better-errors: 2.3.1
       lines-and-columns: 1.2.4
@@ -7217,7 +9791,7 @@ snapshots:
 
   periscopic@3.1.0:
     dependencies:
-      '@types/estree': 1.0.5
+      "@types/estree": 1.0.5
       estree-walker: 3.0.3
       is-reference: 3.0.2
 
@@ -7303,7 +9877,7 @@ snapshots:
 
   prettier-plugin-astro@0.14.0:
     dependencies:
-      '@astrojs/compiler': 1.8.2
+      "@astrojs/compiler": 1.8.2
       prettier: 3.3.1
       sass-formatter: 0.7.9
 
@@ -7316,21 +9890,21 @@ snapshots:
 
   prettier-plugin-slidev@1.0.5(prettier@3.3.1):
     dependencies:
-      '@slidev/parser': 0.47.5
+      "@slidev/parser": 0.47.5
       prettier: 3.3.1
 
   prettier-plugin-tailwindcss@0.6.2(@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1))(prettier-plugin-astro@0.14.0)(prettier@3.3.1):
     dependencies:
       prettier: 3.3.1
     optionalDependencies:
-      '@trivago/prettier-plugin-sort-imports': 4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1)
+      "@trivago/prettier-plugin-sort-imports": 4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.1)
       prettier-plugin-astro: 0.14.0
 
   prettier@3.3.1: {}
 
   pretty-format@29.7.0:
     dependencies:
-      '@jest/schemas': 29.6.3
+      "@jest/schemas": 29.6.3
       ansi-styles: 5.2.0
       react-is: 18.3.1
 
@@ -7378,7 +9952,7 @@ snapshots:
 
   read-pkg@5.2.0:
     dependencies:
-      '@types/normalize-package-data': 2.4.4
+      "@types/normalize-package-data": 2.4.4
       normalize-package-data: 2.5.0
       parse-json: 5.2.0
       type-fest: 0.6.0
@@ -7389,7 +9963,7 @@ snapshots:
 
   refa@0.12.1:
     dependencies:
-      '@eslint-community/regexpp': 4.10.1
+      "@eslint-community/regexpp": 4.10.1
 
   reflect.getprototypeof@1.0.6:
     dependencies:
@@ -7405,7 +9979,7 @@ snapshots:
 
   regexp-ast-analysis@0.7.1:
     dependencies:
-      '@eslint-community/regexpp': 4.10.1
+      "@eslint-community/regexpp": 4.10.1
       refa: 0.12.1
 
   regexp-to-ast@0.5.0: {}
@@ -7462,24 +10036,24 @@ snapshots:
 
   rollup@4.18.0:
     dependencies:
-      '@types/estree': 1.0.5
+      "@types/estree": 1.0.5
     optionalDependencies:
-      '@rollup/rollup-android-arm-eabi': 4.18.0
-      '@rollup/rollup-android-arm64': 4.18.0
-      '@rollup/rollup-darwin-arm64': 4.18.0
-      '@rollup/rollup-darwin-x64': 4.18.0
-      '@rollup/rollup-linux-arm-gnueabihf': 4.18.0
-      '@rollup/rollup-linux-arm-musleabihf': 4.18.0
-      '@rollup/rollup-linux-arm64-gnu': 4.18.0
-      '@rollup/rollup-linux-arm64-musl': 4.18.0
-      '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
-      '@rollup/rollup-linux-riscv64-gnu': 4.18.0
-      '@rollup/rollup-linux-s390x-gnu': 4.18.0
-      '@rollup/rollup-linux-x64-gnu': 4.18.0
-      '@rollup/rollup-linux-x64-musl': 4.18.0
-      '@rollup/rollup-win32-arm64-msvc': 4.18.0
-      '@rollup/rollup-win32-ia32-msvc': 4.18.0
-      '@rollup/rollup-win32-x64-msvc': 4.18.0
+      "@rollup/rollup-android-arm-eabi": 4.18.0
+      "@rollup/rollup-android-arm64": 4.18.0
+      "@rollup/rollup-darwin-arm64": 4.18.0
+      "@rollup/rollup-darwin-x64": 4.18.0
+      "@rollup/rollup-linux-arm-gnueabihf": 4.18.0
+      "@rollup/rollup-linux-arm-musleabihf": 4.18.0
+      "@rollup/rollup-linux-arm64-gnu": 4.18.0
+      "@rollup/rollup-linux-arm64-musl": 4.18.0
+      "@rollup/rollup-linux-powerpc64le-gnu": 4.18.0
+      "@rollup/rollup-linux-riscv64-gnu": 4.18.0
+      "@rollup/rollup-linux-s390x-gnu": 4.18.0
+      "@rollup/rollup-linux-x64-gnu": 4.18.0
+      "@rollup/rollup-linux-x64-musl": 4.18.0
+      "@rollup/rollup-win32-arm64-msvc": 4.18.0
+      "@rollup/rollup-win32-ia32-msvc": 4.18.0
+      "@rollup/rollup-win32-x64-msvc": 4.18.0
       fsevents: 2.3.3
 
   run-applescript@7.0.0: {}
@@ -7513,7 +10087,7 @@ snapshots:
 
   scslre@0.3.0:
     dependencies:
-      '@eslint-community/regexpp': 4.10.1
+      "@eslint-community/regexpp": 4.10.1
       refa: 0.12.1
       regexp-ast-analysis: 0.7.1
 
@@ -7710,7 +10284,7 @@ snapshots:
 
   sucrase@3.35.0:
     dependencies:
-      '@jridgewell/gen-mapping': 0.3.5
+      "@jridgewell/gen-mapping": 0.3.5
       commander: 4.1.1
       glob: 10.4.1
       lines-and-columns: 1.2.4
@@ -7744,10 +10318,10 @@ snapshots:
 
   svelte@4.2.18:
     dependencies:
-      '@ampproject/remapping': 2.3.0
-      '@jridgewell/sourcemap-codec': 1.4.15
-      '@jridgewell/trace-mapping': 0.3.25
-      '@types/estree': 1.0.5
+      "@ampproject/remapping": 2.3.0
+      "@jridgewell/sourcemap-codec": 1.4.15
+      "@jridgewell/trace-mapping": 0.3.25
+      "@types/estree": 1.0.5
       acorn: 8.11.3
       aria-query: 5.3.0
       axobject-query: 4.0.0
@@ -7767,17 +10341,17 @@ snapshots:
 
   synckit@0.8.8:
     dependencies:
-      '@pkgr/core': 0.1.1
+      "@pkgr/core": 0.1.1
       tslib: 2.6.3
 
   synckit@0.9.0:
     dependencies:
-      '@pkgr/core': 0.1.1
+      "@pkgr/core": 0.1.1
       tslib: 2.6.3
 
   tailwindcss@3.4.4:
     dependencies:
-      '@alloc/quick-lru': 5.2.0
+      "@alloc/quick-lru": 5.2.0
       arg: 5.0.2
       chokidar: 3.6.0
       didyoumean: 1.2.2
@@ -7855,7 +10429,7 @@ snapshots:
 
   tsconfig-paths@3.15.0:
     dependencies:
-      '@types/json5': 0.0.29
+      "@types/json5": 0.0.29
       json5: 1.0.2
       minimist: 1.2.8
       strip-bom: 3.0.0
@@ -7938,9 +10512,9 @@ snapshots:
 
   typescript-eslint@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5):
     dependencies:
-      '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/parser': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
-      '@typescript-eslint/utils': 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/eslint-plugin": 7.12.0(@typescript-eslint/parser@7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5))(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/parser": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
+      "@typescript-eslint/utils": 7.12.0(eslint-ts-patch@9.4.0-0)(typescript@5.4.5)
       eslint: eslint-ts-patch@9.4.0-0
     optionalDependencies:
       typescript: 5.4.5
@@ -7960,7 +10534,7 @@ snapshots:
 
   unconfig@0.3.13:
     dependencies:
-      '@antfu/utils': 0.7.8
+      "@antfu/utils": 0.7.8
       defu: 6.1.4
       jiti: 1.21.3
 
@@ -7980,7 +10554,7 @@ snapshots:
 
   unist-util-stringify-position@2.0.3:
     dependencies:
-      '@types/unist': 2.0.10
+      "@types/unist": 2.0.10
 
   universalify@2.0.1: {}
 
@@ -8011,7 +10585,7 @@ snapshots:
       picocolors: 1.0.1
       vite: 5.2.13(@types/node@20.14.2)
     transitivePeerDependencies:
-      - '@types/node'
+      - "@types/node"
       - less
       - lightningcss
       - sass
@@ -8026,16 +10600,16 @@ snapshots:
       postcss: 8.4.38
       rollup: 4.18.0
     optionalDependencies:
-      '@types/node': 20.14.2
+      "@types/node": 20.14.2
       fsevents: 2.3.3
 
   vitest@1.6.0(@types/node@20.14.2):
     dependencies:
-      '@vitest/expect': 1.6.0
-      '@vitest/runner': 1.6.0
-      '@vitest/snapshot': 1.6.0
-      '@vitest/spy': 1.6.0
-      '@vitest/utils': 1.6.0
+      "@vitest/expect": 1.6.0
+      "@vitest/runner": 1.6.0
+      "@vitest/snapshot": 1.6.0
+      "@vitest/spy": 1.6.0
+      "@vitest/utils": 1.6.0
       acorn-walk: 8.3.2
       chai: 4.4.1
       debug: 4.3.5
@@ -8052,7 +10626,7 @@ snapshots:
       vite-node: 1.6.0(@types/node@20.14.2)
       why-is-node-running: 2.2.2
     optionalDependencies:
-      '@types/node': 20.14.2
+      "@types/node": 20.14.2
     transitivePeerDependencies:
       - less
       - lightningcss
@@ -8077,11 +10651,11 @@ snapshots:
 
   vue@3.4.27(typescript@5.4.5):
     dependencies:
-      '@vue/compiler-dom': 3.4.27
-      '@vue/compiler-sfc': 3.4.27
-      '@vue/runtime-dom': 3.4.27
-      '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.4.5))
-      '@vue/shared': 3.4.27
+      "@vue/compiler-dom": 3.4.27
+      "@vue/compiler-sfc": 3.4.27
+      "@vue/runtime-dom": 3.4.27
+      "@vue/server-renderer": 3.4.27(vue@3.4.27(typescript@5.4.5))
+      "@vue/shared": 3.4.27
     optionalDependencies:
       typescript: 5.4.5
 
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index c186cf572a..74be917ff9 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,2 +1,2 @@
 packages:
-  - 'fixtures/*'
+  - "fixtures/*"
diff --git a/scripts/typegen.ts b/scripts/typegen.ts
index e8e9209a1f..7bb1cd0dab 100644
--- a/scripts/typegen.ts
+++ b/scripts/typegen.ts
@@ -58,10 +58,10 @@ const configs = await combine(
   unicorn(),
   unocss(),
   vue(),
-  yaml(),
+  yaml()
 );
 
-const configNames = configs.map(i => i.name).filter(Boolean) as Array<string>;
+const configNames = configs.map((i) => i.name).filter(Boolean) as Array<string>;
 
 let dts = await flatConfigsToRulesDTS(configs, {
   includeAugmentation: false,
@@ -69,7 +69,7 @@ let dts = await flatConfigsToRulesDTS(configs, {
 
 dts += `
 // Names of all the configs
-export type ConfigNames = ${configNames.map(i => `'${i}'`).join(" | ")}
+export type ConfigNames = ${configNames.map((i) => `'${i}'`).join(" | ")}
 `;
 
 await fs.writeFile("src/typegen.d.ts", dts);
diff --git a/src/cli/constants.ts b/src/cli/constants.ts
index 3b92568b5e..5f0e284a6f 100644
--- a/src/cli/constants.ts
+++ b/src/cli/constants.ts
@@ -83,7 +83,9 @@ export const frameworkOptions: Array<PromItem<FrameworkOption>> = [
   },
 ];
 
-export const frameworks: Array<FrameworkOption> = frameworkOptions.map(({ value }) => (value));
+export const frameworks: Array<FrameworkOption> = frameworkOptions.map(
+  ({ value }) => value
+);
 
 export const extraOptions: Array<PromItem<ExtraLibrariesOption>> = [
   {
@@ -97,28 +99,20 @@ export const extraOptions: Array<PromItem<ExtraLibrariesOption>> = [
   },
 ];
 
-export const extra: Array<ExtraLibrariesOption> = extraOptions.map(({ value }) => (value));
+export const extra: Array<ExtraLibrariesOption> = extraOptions.map(
+  ({ value }) => value
+);
 
 export const dependenciesMap = {
-  astro: [
-    "eslint-plugin-astro",
-    "astro-eslint-parser",
-  ],
+  astro: ["eslint-plugin-astro", "astro-eslint-parser"],
   react: [
     "@eslint-react/eslint-plugin",
     "eslint-plugin-react-hooks",
     "eslint-plugin-react-refresh",
   ],
-  slidev: [
-    "prettier-plugin-slidev",
-  ],
-  solid: [
-    "eslint-plugin-solid",
-  ],
-  svelte: [
-    "eslint-plugin-svelte",
-    "svelte-eslint-parser",
-  ],
+  slidev: ["prettier-plugin-slidev"],
+  solid: ["eslint-plugin-solid"],
+  svelte: ["eslint-plugin-svelte", "svelte-eslint-parser"],
   vue: [],
 } as const;
 
diff --git a/src/cli/index.ts b/src/cli/index.ts
index db95916242..a8d03238f3 100644
--- a/src/cli/index.ts
+++ b/src/cli/index.ts
@@ -9,7 +9,9 @@ import { pkgJson } from "./constants";
 function header() {
   // eslint-disable-next-line no-console
   console.log("\n");
-  p.intro(`${c.green(`@nirtamir2/eslint-config `)}${c.dim(`v${pkgJson.version}`)}`);
+  p.intro(
+    `${c.green(`@nirtamir2/eslint-config `)}${c.dim(`v${pkgJson.version}`)}`
+  );
 }
 
 const instance = yargs(hideBin(process.argv))
@@ -18,41 +20,41 @@ const instance = yargs(hideBin(process.argv))
   .command(
     "*",
     "Run the initialization or migration",
-    args => args
-      .option("yes", {
-        alias: "y",
-        description: "Skip prompts and use default values",
-        type: "boolean",
-      })
-      .option("template", {
-        alias: "t",
-        description: "Use the framework template for optimal customization: vue / react / svelte / astro",
-        type: "string",
-      })
-      .option("extra", {
-        alias: "e",
-        array: true,
-        description: "Use the extra utils: formatter / perfectionist / unocss",
-        type: "string",
-      })
-      .help(),
+    (args) =>
+      args
+        .option("yes", {
+          alias: "y",
+          description: "Skip prompts and use default values",
+          type: "boolean",
+        })
+        .option("template", {
+          alias: "t",
+          description:
+            "Use the framework template for optimal customization: vue / react / svelte / astro",
+          type: "string",
+        })
+        .option("extra", {
+          alias: "e",
+          array: true,
+          description:
+            "Use the extra utils: formatter / perfectionist / unocss",
+          type: "string",
+        })
+        .help(),
     async (args) => {
       header();
       try {
         await run(args);
-      }
-      catch (error) {
+      } catch (error) {
         p.log.error(c.inverse(c.red(" Failed to migrate ")));
         p.log.error(c.red(`✘ ${String(error)}`));
         process.exit(1);
       }
-    },
+    }
   )
   .showHelpOnFail(false)
   .alias("h", "help")
   .version("version", pkgJson.version)
   .alias("v", "version");
 
-instance
-  .help()
-  .argv;
+instance.help().argv;
diff --git a/src/cli/run.ts b/src/cli/run.ts
index c62db05ce6..be844d707a 100644
--- a/src/cli/run.ts
+++ b/src/cli/run.ts
@@ -6,7 +6,12 @@ import * as p from "@clack/prompts";
 
 import { extra, extraOptions, frameworkOptions, frameworks } from "./constants";
 import { isGitClean } from "./utils";
-import type { ExtraLibrariesOption, FrameworkOption, PromItem, PromptResult } from "./types";
+import type {
+  ExtraLibrariesOption,
+  FrameworkOption,
+  PromItem,
+  PromptResult,
+} from "./types";
 import { updatePackageJson } from "./stages/update-package-json";
 import { updateEslintFiles } from "./stages/update-eslint-files";
 import { updateVscodeSettings } from "./stages/update-vscode-settings";
@@ -28,11 +33,17 @@ export interface CliRunOptions {
 
 export async function run(options: CliRunOptions = {}) {
   const argSkipPrompt = Boolean(process.env.SKIP_PROMPT) || options.yes;
-  const argTemplate = options.frameworks?.map(m => m.trim()) as Array<FrameworkOption>;
-  const argExtra = options.extra?.map(m => m.trim()) as Array<ExtraLibrariesOption>;
+  const argTemplate = options.frameworks?.map((m) =>
+    m.trim()
+  ) as Array<FrameworkOption>;
+  const argExtra = options.extra?.map((m) =>
+    m.trim()
+  ) as Array<ExtraLibrariesOption>;
 
   if (fs.existsSync(path.join(process.cwd(), "eslint.config.js"))) {
-    p.log.warn(c.yellow(`eslint.config.js already exists, migration wizard exited.`));
+    p.log.warn(
+      c.yellow(`eslint.config.js already exists, migration wizard exited.`)
+    );
     return process.exit(1);
   }
 
@@ -45,67 +56,81 @@ export async function run(options: CliRunOptions = {}) {
   };
 
   if (!argSkipPrompt) {
-    result = await p.group({
-      uncommittedConfirmed: () => {
-        if (argSkipPrompt || isGitClean())
-          return Promise.resolve(true);
-
-        return p.confirm({
-          initialValue: false,
-          message: "There are uncommitted changes in the current repository, are you sure to continue?",
-        });
+    result = (await p.group(
+      {
+        uncommittedConfirmed: () => {
+          if (argSkipPrompt || isGitClean()) return Promise.resolve(true);
+
+          return p.confirm({
+            initialValue: false,
+            message:
+              "There are uncommitted changes in the current repository, are you sure to continue?",
+          });
+        },
+        frameworks: ({ results }) => {
+          const isArgTemplateValid =
+            typeof argTemplate === "string" &&
+            Boolean(frameworks.includes(argTemplate as FrameworkOption));
+
+          if (!results.uncommittedConfirmed || isArgTemplateValid) return;
+
+          const message =
+            !isArgTemplateValid && argTemplate
+              ? `"${argTemplate}" isn't a valid template. Please choose from below: `
+              : "Select a framework:";
+
+          return p.multiselect<
+            Array<PromItem<FrameworkOption>>,
+            FrameworkOption
+          >({
+            message: c.reset(message),
+            options: frameworkOptions,
+            required: false,
+          });
+        },
+        extra: ({ results }) => {
+          const isArgExtraValid =
+            argExtra?.length &&
+            argExtra.filter(
+              (element) => !extra.includes(element as ExtraLibrariesOption)
+            ).length === 0;
+
+          if (!results.uncommittedConfirmed || isArgExtraValid) return;
+
+          const message =
+            !isArgExtraValid && argExtra
+              ? `"${argExtra}" isn't a valid extra util. Please choose from below: `
+              : "Select a extra utils:";
+
+          return p.multiselect<
+            Array<PromItem<ExtraLibrariesOption>>,
+            ExtraLibrariesOption
+          >({
+            message: c.reset(message),
+            options: extraOptions,
+            required: false,
+          });
+        },
+
+        updateVscodeSettings: ({ results }) => {
+          if (!results.uncommittedConfirmed) return;
+
+          return p.confirm({
+            initialValue: true,
+            message:
+              "Update .vscode/settings.json for better VS Code experience?",
+          });
+        },
       },
-      frameworks: ({ results }) => {
-        const isArgTemplateValid = typeof argTemplate === "string" && Boolean(frameworks.includes((argTemplate as FrameworkOption)));
-
-        if (!results.uncommittedConfirmed || isArgTemplateValid)
-          return;
-
-        const message = !isArgTemplateValid && argTemplate
-          ? `"${argTemplate}" isn't a valid template. Please choose from below: `
-          : "Select a framework:";
-
-        return p.multiselect<Array<PromItem<FrameworkOption>>, FrameworkOption>({
-          message: c.reset(message),
-          options: frameworkOptions,
-          required: false,
-        });
-      },
-      extra: ({ results }) => {
-        const isArgExtraValid = argExtra?.length && argExtra.filter(element => !extra.includes((element as ExtraLibrariesOption))).length === 0;
-
-        if (!results.uncommittedConfirmed || isArgExtraValid)
-          return;
-
-        const message = !isArgExtraValid && argExtra
-          ? `"${argExtra}" isn't a valid extra util. Please choose from below: `
-          : "Select a extra utils:";
-
-        return p.multiselect<Array<PromItem<ExtraLibrariesOption>>, ExtraLibrariesOption>({
-          message: c.reset(message),
-          options: extraOptions,
-          required: false,
-        });
-      },
-
-      updateVscodeSettings: ({ results }) => {
-        if (!results.uncommittedConfirmed)
-          return;
-
-        return p.confirm({
-          initialValue: true,
-          message: "Update .vscode/settings.json for better VS Code experience?",
-        });
-      },
-    }, {
-      onCancel: () => {
-        p.cancel("Operation cancelled.");
-        process.exit(0);
-      },
-    }) as PromptResult;
-
-    if (!result.uncommittedConfirmed)
-      return process.exit(1);
+      {
+        onCancel: () => {
+          p.cancel("Operation cancelled.");
+          process.exit(0);
+        },
+      }
+    )) as PromptResult;
+
+    if (!result.uncommittedConfirmed) return process.exit(1);
   }
 
   await updatePackageJson(result);
@@ -113,5 +138,7 @@ export async function run(options: CliRunOptions = {}) {
   await updateVscodeSettings(result);
 
   p.log.success(c.green(`Setup completed`));
-  p.outro(`Now you can update the dependencies and run ${c.blue("eslint . --fix")}\n`);
+  p.outro(
+    `Now you can update the dependencies and run ${c.blue("eslint . --fix")}\n`
+  );
 }
diff --git a/src/cli/stages/update-eslint-files.ts b/src/cli/stages/update-eslint-files.ts
index 095b1c91c3..78a4fafd70 100644
--- a/src/cli/stages/update-eslint-files.ts
+++ b/src/cli/stages/update-eslint-files.ts
@@ -18,7 +18,8 @@ export async function updateEslintFiles(result: PromptResult) {
   const pkgContent = await fsp.readFile(pathPackageJSON, "utf8");
   const pkg: Record<string, any> = JSON.parse(pkgContent);
 
-  const configFileName = pkg.type === "module" ? "eslint.config.js" : "eslint.config.mjs";
+  const configFileName =
+    pkg.type === "module" ? "eslint.config.js" : "eslint.config.mjs";
   const pathFlatConfig = path.join(cwd, configFileName);
 
   const eslintIgnores: Array<string> = [];
@@ -29,10 +30,11 @@ export async function updateEslintFiles(result: PromptResult) {
     const globs = parsed.globs();
 
     for (const glob of globs) {
-      if (glob.type === "ignore")
-        eslintIgnores.push(...glob.patterns);
+      if (glob.type === "ignore") eslintIgnores.push(...glob.patterns);
       else if (glob.type === "unignore")
-        eslintIgnores.push(...glob.patterns.map((pattern: string) => `!${pattern}`));
+        eslintIgnores.push(
+          ...glob.patterns.map((pattern: string) => `!${pattern}`)
+        );
     }
   }
 
@@ -41,19 +43,20 @@ export async function updateEslintFiles(result: PromptResult) {
   if (eslintIgnores.length > 0)
     configLines.push(`ignores: ${JSON.stringify(eslintIgnores)},`);
 
-  if (result.extra.includes("formatter"))
-    configLines.push(`formatters: true,`);
+  if (result.extra.includes("formatter")) configLines.push(`formatters: true,`);
 
-  if (result.extra.includes("unocss"))
-    configLines.push(`unocss: true,`);
+  if (result.extra.includes("unocss")) configLines.push(`unocss: true,`);
 
   for (const framework of result.frameworks)
     configLines.push(`${framework}: true,`);
 
-  const mainConfig = configLines.map(i => `  ${i}`).join("\n");
+  const mainConfig = configLines.map((i) => `  ${i}`).join("\n");
   const additionalConfig: Array<string> = [];
 
-  const eslintConfigContent: string = getEslintConfigContent(mainConfig, additionalConfig);
+  const eslintConfigContent: string = getEslintConfigContent(
+    mainConfig,
+    additionalConfig
+  );
 
   await fsp.writeFile(pathFlatConfig, eslintConfigContent);
   p.log.success(c.green(`Created ${configFileName}`));
@@ -66,5 +69,8 @@ export async function updateEslintFiles(result: PromptResult) {
   }
 
   if (legacyConfig.length > 0)
-    p.note(`${c.dim(legacyConfig.join(", "))}`, "You can now remove those files manually");
+    p.note(
+      `${c.dim(legacyConfig.join(", "))}`,
+      "You can now remove those files manually"
+    );
 }
diff --git a/src/cli/stages/update-package-json.ts b/src/cli/stages/update-package-json.ts
index a0d7c737b5..d8998a6399 100644
--- a/src/cli/stages/update-package-json.ts
+++ b/src/cli/stages/update-package-json.ts
@@ -29,21 +29,20 @@ export async function updatePackageJson(result: PromptResult) {
     result.extra.forEach((item: ExtraLibrariesOption) => {
       switch (item) {
         case "formatter": {
-          for (const f of ([
+          for (const f of [
             "eslint-plugin-format",
-            result.frameworks.includes("astro") ? "prettier-plugin-astro" : null,
-          ] as const)) {
-            if (!f)
-              continue;
+            result.frameworks.includes("astro")
+              ? "prettier-plugin-astro"
+              : null,
+          ] as const) {
+            if (!f) continue;
             pkg.devDependencies[f] = pkgJson.devDependencies[f];
             addedPackages.push(f);
           }
           break;
         }
         case "unocss": {
-          for (const f of ([
-            "@unocss/eslint-plugin",
-          ] as const)) {
+          for (const f of ["@unocss/eslint-plugin"] as const) {
             pkg.devDependencies[f] = pkgJson.devDependencies[f];
             addedPackages.push(f);
           }
diff --git a/src/cli/stages/update-vscode-settings.ts b/src/cli/stages/update-vscode-settings.ts
index 78eff515ec..ac9815578f 100644
--- a/src/cli/stages/update-vscode-settings.ts
+++ b/src/cli/stages/update-vscode-settings.ts
@@ -11,8 +11,7 @@ import type { PromptResult } from "../types";
 export async function updateVscodeSettings(result: PromptResult) {
   const cwd = process.cwd();
 
-  if (!result.updateVscodeSettings)
-    return;
+  if (!result.updateVscodeSettings) return;
 
   const dotVscodePath: string = path.join(cwd, ".vscode");
   const settingsPath: string = path.join(dotVscodePath, "settings.json");
@@ -24,13 +23,13 @@ export async function updateVscodeSettings(result: PromptResult) {
     let settingsContent = await fsp.readFile(settingsPath, "utf8");
 
     settingsContent = settingsContent.trim().replace(/\s*}$/, "");
-    settingsContent += settingsContent.endsWith(",") || settingsContent.endsWith("{") ? "" : ",";
+    settingsContent +=
+      settingsContent.endsWith(",") || settingsContent.endsWith("{") ? "" : ",";
     settingsContent += `${vscodeSettingsString}}\n`;
 
     await fsp.writeFile(settingsPath, settingsContent, "utf-8");
     p.log.success(c.green(`Updated .vscode/settings.json`));
-  }
-  else {
+  } else {
     await fsp.writeFile(settingsPath, `{${vscodeSettingsString}}\n`, "utf-8");
     p.log.success(c.green(`Created .vscode/settings.json`));
   }
diff --git a/src/cli/types.ts b/src/cli/types.ts
index 868f5539e0..b68bb20e4b 100644
--- a/src/cli/types.ts
+++ b/src/cli/types.ts
@@ -4,7 +4,13 @@ export interface PromItem<T> {
   hint?: string;
 }
 
-export type FrameworkOption = "vue" | "react" | "svelte" | "astro" | "solid" | "slidev";
+export type FrameworkOption =
+  | "vue"
+  | "react"
+  | "svelte"
+  | "astro"
+  | "solid"
+  | "slidev";
 
 export type ExtraLibrariesOption = "formatter" | "unocss";
 
diff --git a/src/cli/utils.ts b/src/cli/utils.ts
index 90a5b372c9..a57ec25847 100644
--- a/src/cli/utils.ts
+++ b/src/cli/utils.ts
@@ -4,21 +4,20 @@ export function isGitClean() {
   try {
     execSync("git diff-index --quiet HEAD --");
     return true;
-  }
-  catch {
+  } catch {
     return false;
   }
 }
 
 export function getEslintConfigContent(
   mainConfig: string,
-  additionalConfigs?: Array<string>,
+  additionalConfigs?: Array<string>
 ) {
   return `
 import nirtamir2 from '@nirtamir2/eslint-config'
 
 export default nirtamir2({
 ${mainConfig}
-}${additionalConfigs?.map(config => `,{\n${config}\n}`)})
+}${additionalConfigs?.map((config) => `,{\n${config}\n}`)})
 `.trimStart();
 }
diff --git a/src/configs/astro.ts b/src/configs/astro.ts
index b1ccffcd0b..834fdf452c 100644
--- a/src/configs/astro.ts
+++ b/src/configs/astro.ts
@@ -1,22 +1,23 @@
-import type { OptionsFiles, OptionsOverrides, OptionsStylistic, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsOverrides,
+  OptionsStylistic,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_ASTRO } from "../globs";
 import { interopDefault } from "../utils";
 
 export async function astro(
-  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {},
+  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     files = [GLOB_ASTRO],
     overrides = {},
 
-    stylistic = true,
+    stylistic = false,
   } = options;
 
-  const [
-    pluginAstro,
-    parserAstro,
-    parserTs,
-  ] = await Promise.all([
+  const [pluginAstro, parserAstro, parserTs] = await Promise.all([
     interopDefault(import("eslint-plugin-astro")),
     interopDefault(import("astro-eslint-parser")),
     interopDefault(import("@typescript-eslint/parser")),
@@ -55,7 +56,7 @@ export async function astro(
         "astro/semi": "off",
         "astro/valid-compile": "error",
 
-        ...stylistic
+        ...(stylistic
           ? {
               "@stylistic/indent": "off",
               "@stylistic/jsx-closing-tag-location": "off",
@@ -63,7 +64,7 @@ export async function astro(
               "@stylistic/jsx-one-expression-per-line": "off",
               "@stylistic/no-multiple-empty-lines": "off",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/configs/formatters.ts b/src/configs/formatters.ts
index 522a91c687..18faa772e3 100644
--- a/src/configs/formatters.ts
+++ b/src/configs/formatters.ts
@@ -1,13 +1,27 @@
 import { isPackageExists } from "local-pkg";
-import { GLOB_ASTRO, GLOB_CSS, GLOB_GRAPHQL, GLOB_HTML, GLOB_LESS, GLOB_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_XML } from "../globs";
+import {
+  GLOB_ASTRO,
+  GLOB_CSS,
+  GLOB_GRAPHQL,
+  GLOB_HTML,
+  GLOB_LESS,
+  GLOB_MARKDOWN,
+  GLOB_POSTCSS,
+  GLOB_SCSS,
+  GLOB_XML,
+} from "../globs";
 import type { VendoredPrettierOptions } from "../vender/prettier-types";
 import { ensurePackages, interopDefault, parserPlain } from "../utils";
-import type { OptionsFormatters, StylisticConfig, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFormatters,
+  StylisticConfig,
+  TypedFlatConfigItem,
+} from "../types";
 import { StylisticConfigDefaults } from "./stylistic";
 
 export async function formatters(
   options: OptionsFormatters | true = {},
-  stylistic: StylisticConfig = {},
+  stylistic: StylisticConfig = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   if (options === true) {
     options = {
@@ -32,14 +46,16 @@ export async function formatters(
     options.xml ? "@prettier/plugin-xml" : undefined,
   ]);
 
-  if (options.slidev && options.markdown !== true && options.markdown !== "prettier")
-    throw new Error("`slidev` option only works when `markdown` is enabled with `prettier`");
+  if (
+    options.slidev &&
+    options.markdown !== true &&
+    options.markdown !== "prettier"
+  )
+    throw new Error(
+      "`slidev` option only works when `markdown` is enabled with `prettier`"
+    );
 
-  const {
-    indent,
-    quotes,
-    semi,
-  } = {
+  const { indent, quotes, semi } = {
     ...StylisticConfigDefaults,
     ...stylistic,
   };
@@ -53,7 +69,7 @@ export async function formatters(
       trailingComma: "all",
       useTabs: indent === "tab",
     } satisfies VendoredPrettierOptions,
-    options.prettierOptions || {},
+    options.prettierOptions || {}
   );
 
   const prettierXmlOptions = {
@@ -69,7 +85,7 @@ export async function formatters(
       quoteStyle: quotes === "single" ? "preferSingle" : "preferDouble",
       useTabs: indent === "tab",
     },
-    options.dprintOptions || {},
+    options.dprintOptions || {}
   );
 
   const pluginFormat = await interopDefault(import("eslint-plugin-format"));
@@ -132,7 +148,7 @@ export async function formatters(
             },
           ],
         },
-      },
+      }
     );
   }
 
@@ -169,9 +185,7 @@ export async function formatters(
             ...prettierXmlOptions,
             ...prettierOptions,
             parser: "xml",
-            plugins: [
-              "@prettier/plugin-xml",
-            ],
+            plugins: ["@prettier/plugin-xml"],
           },
         ],
       },
@@ -179,9 +193,7 @@ export async function formatters(
   }
 
   if (options.markdown) {
-    const formater = options.markdown === true
-      ? "prettier"
-      : options.markdown;
+    const formater = options.markdown === true ? "prettier" : options.markdown;
 
     const GLOB_SLIDEV = options.slidev
       ? options.slidev === true
@@ -229,9 +241,7 @@ export async function formatters(
               ...prettierOptions,
               embeddedLanguageFormatting: "off",
               parser: "slidev",
-              plugins: [
-                "prettier-plugin-slidev",
-              ],
+              plugins: ["prettier-plugin-slidev"],
             },
           ],
         },
@@ -252,9 +262,7 @@ export async function formatters(
           {
             ...prettierOptions,
             parser: "astro",
-            plugins: [
-              "prettier-plugin-astro",
-            ],
+            plugins: ["prettier-plugin-astro"],
           },
         ],
       },
diff --git a/src/configs/i18n.ts b/src/configs/i18n.ts
index c28d38163a..ed666e2861 100644
--- a/src/configs/i18n.ts
+++ b/src/configs/i18n.ts
@@ -66,7 +66,7 @@ export async function i18n(): Promise<Array<TypedFlatConfigItem>> {
               },
             },
           ],
-        }),
+        })
       ),
     },
   ];
diff --git a/src/configs/i18next-syntax-validator.mjs b/src/configs/i18next-syntax-validator.mjs
index 7516af2f9f..51204c782a 100644
--- a/src/configs/i18next-syntax-validator.mjs
+++ b/src/configs/i18next-syntax-validator.mjs
@@ -10,16 +10,16 @@ export default function validate(message = "") {
     throw new TypeError("Message must be a String.");
   }
   if (
-    (message.includes("{") || message.includes("}"))
-    && !/{{ ?(?:- |\w+)(?:, ?\w+)? ?}}/.test(message)
+    (message.includes("{") || message.includes("}")) &&
+    !/{{ ?(?:- |\w+)(?:, ?\w+)? ?}}/.test(message)
   ) {
     throw new SyntaxError(
-      "Interpolation error. See: https://www.i18next.com/misc/json-format",
+      "Interpolation error. See: https://www.i18next.com/misc/json-format"
     );
   }
   if (message.includes("$t(") && !/\$t\(\w+:\w+(?:\.\w+)*\)/.test(message)) {
     throw new SyntaxError(
-      "Nesting error. See: https://www.i18next.com/misc/json-format",
+      "Nesting error. See: https://www.i18next.com/misc/json-format"
     );
   }
 }
diff --git a/src/configs/imports.ts b/src/configs/imports.ts
index 4b0cbf8755..6f207d9faf 100644
--- a/src/configs/imports.ts
+++ b/src/configs/imports.ts
@@ -2,16 +2,16 @@ import type { OptionsStylistic, TypedFlatConfigItem } from "../types";
 import { pluginAntfu, pluginImport } from "../plugins";
 import { GLOB_SRC_EXT } from "../globs";
 
-export async function imports(options: OptionsStylistic = {}): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    stylistic = true,
-  } = options;
+export async function imports(
+  options: OptionsStylistic = {}
+): Promise<Array<TypedFlatConfigItem>> {
+  const { stylistic = false } = options;
 
   return [
     {
       name: "antfu/imports/rules",
       plugins: {
-        "antfu": pluginAntfu,
+        antfu: pluginAntfu,
         "import-x": pluginImport,
       },
       rules: {
@@ -27,11 +27,11 @@ export async function imports(options: OptionsStylistic = {}): Promise<Array<Typ
         "import-x/no-webpack-loader-syntax": "error",
         "import-x/order": "off", // use prettier for it
 
-        ...stylistic
+        ...(stylistic
           ? {
               "import-x/newline-after-import": ["error", { count: 1 }],
             }
-          : {},
+          : {}),
       },
     },
     {
diff --git a/src/configs/javascript.ts b/src/configs/javascript.ts
index 07f8eeed0c..fd77a62d9d 100644
--- a/src/configs/javascript.ts
+++ b/src/configs/javascript.ts
@@ -1,5 +1,9 @@
 import globals from "globals";
-import type { OptionsIsInEditor, OptionsOverrides, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsIsInEditor,
+  OptionsOverrides,
+  TypedFlatConfigItem,
+} from "../types";
 import {
   arrayFunc,
   confusingBrowserGlobals,
@@ -14,12 +18,9 @@ import sonarjs from "eslint-plugin-sonarjs";
 import { compat } from "../compat";
 
 export async function javascript(
-  options: OptionsIsInEditor & OptionsOverrides = {},
+  options: OptionsIsInEditor & OptionsOverrides = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    isInEditor = false,
-    overrides = {},
-  } = options;
+  const { isInEditor = false, overrides = {} } = options;
 
   return [
     js.configs.recommended,
@@ -40,7 +41,7 @@ export async function javascript(
         // Based on https://github.com/antfu/eslint-config/blob/master/packages/basic/index.js
         // Common
         "no-param-reassign": "off",
-        "camelcase": "off",
+        camelcase: "off",
         "no-constant-condition": "warn",
         "no-debugger": "error",
         "no-console": ["error", { allow: ["warn", "error"] }],
@@ -86,8 +87,8 @@ export async function javascript(
         "array-callback-return": "error",
         "block-scoped-var": "error",
         "consistent-return": "off",
-        "complexity": ["off", 11],
-        "eqeqeq": ["error", "always", { null: "ignore" }],
+        complexity: ["off", 11],
+        eqeqeq: ["error", "always", { null: "ignore" }],
         "no-alert": "warn",
         "no-case-declarations": "error",
         "no-multi-str": "error",
@@ -129,7 +130,7 @@ export async function javascript(
           "github/require-passive-events": 2,
           "github/unescaped-html-literal": 2,
         },
-      }),
+      })
     ),
     {
       languageOptions: {
@@ -156,19 +157,25 @@ export async function javascript(
       },
       name: "antfu/javascript/rules",
       plugins: {
-        "antfu": pluginAntfu,
+        antfu: pluginAntfu,
         "unused-imports": pluginUnusedImports,
       },
       rules: {
-        "accessor-pairs": ["error", { enforceForClassMembers: true, setWithoutGet: true }],
+        "accessor-pairs": [
+          "error",
+          { enforceForClassMembers: true, setWithoutGet: true },
+        ],
 
         "array-callback-return": "error",
         "block-scoped-var": "error",
         "constructor-super": "error",
         "default-case-last": "error",
         "dot-notation": ["error", { allowKeywords: true }],
-        "eqeqeq": ["error", "smart"],
-        "new-cap": ["error", { capIsNew: false, newIsCap: true, properties: true }],
+        eqeqeq: ["error", "smart"],
+        "new-cap": [
+          "error",
+          { capIsNew: false, newIsCap: true, properties: true },
+        ],
         "no-alert": "error",
         "no-array-constructor": "error",
         "no-async-promise-executor": "error",
@@ -225,11 +232,27 @@ export async function javascript(
         ],
         "no-restricted-properties": [
           "error",
-          { message: "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.", property: "__proto__" },
-          { message: "Use `Object.defineProperty` instead.", property: "__defineGetter__" },
-          { message: "Use `Object.defineProperty` instead.", property: "__defineSetter__" },
-          { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupGetter__" },
-          { message: "Use `Object.getOwnPropertyDescriptor` instead.", property: "__lookupSetter__" },
+          {
+            message:
+              "Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",
+            property: "__proto__",
+          },
+          {
+            message: "Use `Object.defineProperty` instead.",
+            property: "__defineGetter__",
+          },
+          {
+            message: "Use `Object.defineProperty` instead.",
+            property: "__defineSetter__",
+          },
+          {
+            message: "Use `Object.getOwnPropertyDescriptor` instead.",
+            property: "__lookupGetter__",
+          },
+          {
+            message: "Use `Object.getOwnPropertyDescriptor` instead.",
+            property: "__lookupSetter__",
+          },
         ],
         "no-restricted-syntax": [
           "error",
@@ -256,18 +279,27 @@ export async function javascript(
         "no-unreachable-loop": "error",
         "no-unsafe-finally": "error",
         "no-unsafe-negation": "error",
-        "no-unused-expressions": ["error", {
-          allowShortCircuit: true,
-          allowTaggedTemplates: true,
-          allowTernary: true,
-        }],
-        "no-unused-vars": ["error", {
-          args: "none",
-          caughtErrors: "none",
-          ignoreRestSiblings: true,
-          vars: "all",
-        }],
-        "no-use-before-define": ["error", { classes: false, functions: false, variables: true }],
+        "no-unused-expressions": [
+          "error",
+          {
+            allowShortCircuit: true,
+            allowTaggedTemplates: true,
+            allowTernary: true,
+          },
+        ],
+        "no-unused-vars": [
+          "error",
+          {
+            args: "none",
+            caughtErrors: "none",
+            ignoreRestSiblings: true,
+            vars: "all",
+          },
+        ],
+        "no-use-before-define": [
+          "error",
+          { classes: false, functions: false, variables: true },
+        ],
         "no-useless-backreference": "error",
         "no-useless-call": "error",
         "no-useless-catch": "error",
@@ -330,10 +362,13 @@ export async function javascript(
             varsIgnorePattern: "^_",
           },
         ],
-        "use-isnan": ["error", { enforceForIndexOf: true, enforceForSwitchCase: true }],
+        "use-isnan": [
+          "error",
+          { enforceForIndexOf: true, enforceForSwitchCase: true },
+        ],
         "valid-typeof": ["error", { requireStringLiterals: true }],
         "vars-on-top": "error",
-        "yoda": ["error", "never"],
+        yoda: ["error", "never"],
 
         ...overrides,
       },
@@ -354,12 +389,12 @@ export async function javascript(
     ...fixupConfigRules(
       compat.config({
         extends: ["plugin:optimize-regex/recommended"],
-      }),
+      })
     ),
     ...fixupConfigRules(
       compat.config({
         extends: ["plugin:workspaces/recommended"],
-      }),
+      })
     ),
     ...compat.config({
       extends: ["plugin:eslint-comments/recommended"],
diff --git a/src/configs/jsdoc.ts b/src/configs/jsdoc.ts
index 8cd7cf19bd..601662b656 100644
--- a/src/configs/jsdoc.ts
+++ b/src/configs/jsdoc.ts
@@ -2,10 +2,10 @@ import { interopDefault } from "../utils";
 import type { OptionsStylistic, TypedFlatConfigItem } from "../types";
 import jsdocPlugin from "eslint-plugin-jsdoc";
 
-export async function jsdoc(options: OptionsStylistic = {}): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    stylistic = true,
-  } = options;
+export async function jsdoc(
+  options: OptionsStylistic = {}
+): Promise<Array<TypedFlatConfigItem>> {
+  const { stylistic = false } = options;
 
   return [
     {
@@ -30,12 +30,12 @@ export async function jsdoc(options: OptionsStylistic = {}): Promise<Array<Typed
         "jsdoc/require-returns-description": "warn",
         "jsdoc/require-yields-check": "warn",
 
-        ...stylistic
+        ...(stylistic
           ? {
               "jsdoc/check-alignment": "warn",
               "jsdoc/multiline-blocks": "warn",
             }
-          : {},
+          : {}),
       },
     },
     jsdocPlugin.configs["flat/recommended-typescript-flavor"],
diff --git a/src/configs/jsonc.ts b/src/configs/jsonc.ts
index dd883b1976..bf286d3fb6 100644
--- a/src/configs/jsonc.ts
+++ b/src/configs/jsonc.ts
@@ -1,24 +1,24 @@
-import type { OptionsFiles, OptionsOverrides, OptionsStylistic, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsOverrides,
+  OptionsStylistic,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_JSON, GLOB_JSON5, GLOB_JSONC } from "../globs";
 import { interopDefault } from "../utils";
 
 export async function jsonc(
-  options: OptionsFiles & OptionsStylistic & OptionsOverrides = {},
+  options: OptionsFiles & OptionsStylistic & OptionsOverrides = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     files = [GLOB_JSON, GLOB_JSON5, GLOB_JSONC],
     overrides = {},
-    stylistic = true,
+    stylistic = false,
   } = options;
 
-  const {
-    indent = 2,
-  } = typeof stylistic === "boolean" ? {} : stylistic;
+  const { indent = 2 } = typeof stylistic === "boolean" ? {} : stylistic;
 
-  const [
-    pluginJsonc,
-    parserJsonc,
-  ] = await Promise.all([
+  const [pluginJsonc, parserJsonc] = await Promise.all([
     interopDefault(import("eslint-plugin-jsonc")),
     interopDefault(import("jsonc-eslint-parser")),
   ] as const);
@@ -64,20 +64,29 @@ export async function jsonc(
         "jsonc/valid-json-number": "error",
         "jsonc/vue-custom-block/no-parsing-error": "error",
 
-        ...stylistic
+        ...(stylistic
           ? {
               "jsonc/array-bracket-spacing": ["error", "never"],
               "jsonc/comma-dangle": ["error", "never"],
               "jsonc/comma-style": ["error", "last"],
               "jsonc/indent": ["error", indent],
-              "jsonc/key-spacing": ["error", { afterColon: true, beforeColon: false }],
-              "jsonc/object-curly-newline": ["error", { consistent: true, multiline: true }],
+              "jsonc/key-spacing": [
+                "error",
+                { afterColon: true, beforeColon: false },
+              ],
+              "jsonc/object-curly-newline": [
+                "error",
+                { consistent: true, multiline: true },
+              ],
               "jsonc/object-curly-spacing": ["error", "always"],
-              "jsonc/object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
+              "jsonc/object-property-newline": [
+                "error",
+                { allowMultiplePropertiesPerLine: true },
+              ],
               "jsonc/quote-props": "error",
               "jsonc/quotes": "error",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/configs/markdown.ts b/src/configs/markdown.ts
index 0562972427..4075668eea 100644
--- a/src/configs/markdown.ts
+++ b/src/configs/markdown.ts
@@ -1,10 +1,19 @@
 import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
-import type { OptionsComponentExts, OptionsFiles, OptionsOverrides, TypedFlatConfigItem } from "../types";
-import { GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN } from "../globs";
+import type {
+  OptionsComponentExts,
+  OptionsFiles,
+  OptionsOverrides,
+  TypedFlatConfigItem,
+} from "../types";
+import {
+  GLOB_MARKDOWN,
+  GLOB_MARKDOWN_CODE,
+  GLOB_MARKDOWN_IN_MARKDOWN,
+} from "../globs";
 import { interopDefault, parserPlain } from "../utils";
 
 export async function markdown(
-  options: OptionsFiles & OptionsComponentExts & OptionsOverrides = {},
+  options: OptionsFiles & OptionsComponentExts & OptionsOverrides = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     componentExts = [],
@@ -44,7 +53,7 @@ export async function markdown(
     {
       files: [
         GLOB_MARKDOWN_CODE,
-        ...componentExts.map(ext => `${GLOB_MARKDOWN}/**/*.${ext}`),
+        ...componentExts.map((ext) => `${GLOB_MARKDOWN}/**/*.${ext}`),
       ],
       languageOptions: {
         parserOptions: {
diff --git a/src/configs/react.ts b/src/configs/react.ts
index 17e31b5304..1fe18d30ec 100644
--- a/src/configs/react.ts
+++ b/src/configs/react.ts
@@ -1,32 +1,31 @@
 import { isPackageExists } from "local-pkg";
 import { ensurePackages, interopDefault, toArray } from "../utils";
-import type { OptionsFiles, OptionsOverrides, OptionsTypeScriptWithTypes, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsOverrides,
+  OptionsTypeScriptWithTypes,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_JS, GLOB_JSX, GLOB_TS, GLOB_TSX } from "../globs";
 import { fixupConfigRules } from "@eslint/compat";
 import { a11y } from "./a11y";
 import { compat } from "../compat";
 
 // react refresh
-const ReactRefreshAllowConstantExportPackages = [
-  "vite",
-];
+const ReactRefreshAllowConstantExportPackages = ["vite"];
 const RemixPackages = [
   "@remix-run/node",
   "@remix-run/react",
   "@remix-run/serve",
   "@remix-run/dev",
 ];
-const NextJsPackages = [
-  "next",
-];
+const NextJsPackages = ["next"];
 
 export async function react(
-  options: OptionsTypeScriptWithTypes & OptionsOverrides & OptionsFiles = {},
+  options: OptionsTypeScriptWithTypes & OptionsOverrides & OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    files = [GLOB_JS, GLOB_JSX, GLOB_TS, GLOB_TSX],
-    overrides = {},
-  } = options;
+  const { files = [GLOB_JS, GLOB_JSX, GLOB_TS, GLOB_TSX], overrides = {} } =
+    options;
 
   await ensurePackages([
     "@eslint-react/eslint-plugin",
@@ -35,12 +34,10 @@ export async function react(
     "eslint-plugin-react",
   ]);
 
-  const isUsingNext = NextJsPackages.some(i => isPackageExists(i));
+  const isUsingNext = NextJsPackages.some((i) => isPackageExists(i));
 
   if (isUsingNext) {
-    await ensurePackages(
-      ["@next/eslint-plugin-next"],
-    );
+    await ensurePackages(["@next/eslint-plugin-next"]);
   }
 
   const tsconfigPath = options?.tsconfigPath
@@ -48,20 +45,18 @@ export async function react(
     : undefined;
   const isTypeAware = Boolean(tsconfigPath);
 
-  const [
-    pluginReact,
-    pluginReactHooks,
-    pluginReactRefresh,
-    parserTs,
-  ] = await Promise.all([
-    interopDefault(import("@eslint-react/eslint-plugin")),
-    interopDefault(import("eslint-plugin-react-hooks")),
-    interopDefault(import("eslint-plugin-react-refresh")),
-    interopDefault(import("@typescript-eslint/parser")),
-  ] as const);
+  const [pluginReact, pluginReactHooks, pluginReactRefresh, parserTs] =
+    await Promise.all([
+      interopDefault(import("@eslint-react/eslint-plugin")),
+      interopDefault(import("eslint-plugin-react-hooks")),
+      interopDefault(import("eslint-plugin-react-refresh")),
+      interopDefault(import("@typescript-eslint/parser")),
+    ] as const);
 
-  const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(i => isPackageExists(i));
-  const isUsingRemix = RemixPackages.some(i => isPackageExists(i));
+  const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
+    (i) => isPackageExists(i)
+  );
+  const isUsingRemix = RemixPackages.some((i) => isPackageExists(i));
 
   const { plugins } = pluginReact.configs.all;
 
@@ -73,7 +68,8 @@ export async function react(
         "@eslint-react/dom": plugins["@eslint-react/dom"],
         "react-hooks": pluginReactHooks,
         "@eslint-react/hooks-extra": plugins["@eslint-react/hooks-extra"],
-        "@eslint-react/naming-convention": plugins["@eslint-react/naming-convention"],
+        "@eslint-react/naming-convention":
+          plugins["@eslint-react/naming-convention"],
         "react-refresh": pluginReactRefresh,
       },
     },
@@ -85,7 +81,7 @@ export async function react(
           ecmaFeatures: {
             jsx: true,
           },
-          ...isTypeAware ? { project: tsconfigPath } : {},
+          ...(isTypeAware ? { project: tsconfigPath } : {}),
         },
         sourceType: "module",
       },
@@ -125,13 +121,7 @@ export async function react(
                   ]
                 : []),
               ...(isUsingRemix
-                ? [
-                    "meta",
-                    "links",
-                    "headers",
-                    "loader",
-                    "action",
-                  ]
+                ? ["meta", "links", "headers", "loader", "action"]
                 : []),
             ],
           },
@@ -175,11 +165,11 @@ export async function react(
         "@eslint-react/prefer-shorthand-boolean": "warn",
         "@eslint-react/prefer-shorthand-fragment": "warn",
 
-        ...isTypeAware
+        ...(isTypeAware
           ? {
               "@eslint-react/no-leaked-conditional-rendering": "warn",
             }
-          : {},
+          : {}),
 
         // overrides
         ...overrides,
@@ -191,7 +181,7 @@ export async function react(
         rules: {
           "ssr-friendly/no-dom-globals-in-react-cc-render": "off", // I don't use class components
         },
-      }),
+      })
     ),
     ...compat.config({
       extends: "plugin:react/recommended",
@@ -245,14 +235,14 @@ export async function react(
       },
     }),
     ...compat.extends("plugin:react/jsx-runtime"),
-    ...isUsingNext
+    ...(isUsingNext
       ? fixupConfigRules(
-        compat.extends(
-          "plugin:@next/next/recommended",
-          "plugin:@next/next/core-web-vitals",
-        ),
-      )
-      : [],
+          compat.extends(
+            "plugin:@next/next/recommended",
+            "plugin:@next/next/core-web-vitals"
+          )
+        )
+      : []),
     ...a11y(),
   ];
 }
diff --git a/src/configs/regexp.ts b/src/configs/regexp.ts
index dd0ef1606e..2855b7e821 100644
--- a/src/configs/regexp.ts
+++ b/src/configs/regexp.ts
@@ -1,5 +1,9 @@
 import { configs } from "eslint-plugin-regexp";
-import type { OptionsOverrides, OptionsRegExp, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsOverrides,
+  OptionsRegExp,
+  TypedFlatConfigItem,
+} from "../types";
 
 const nirOverridesConfig: TypedFlatConfigItem["rules"] = {
   // Nir's override
@@ -7,7 +11,7 @@ const nirOverridesConfig: TypedFlatConfigItem["rules"] = {
 };
 
 export async function regexp(
-  options: OptionsRegExp & OptionsOverrides = {},
+  options: OptionsRegExp & OptionsOverrides = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const config = configs["flat/recommended"] as TypedFlatConfigItem;
   const rules = {
@@ -17,8 +21,7 @@ export async function regexp(
 
   if (options.level === "warn") {
     for (const key in rules) {
-      if (rules[key] === "error")
-        rules[key] = "warn";
+      if (rules[key] === "error") rules[key] = "warn";
     }
   }
 
diff --git a/src/configs/security.ts b/src/configs/security.ts
index fd4b5d5aa7..2677c116a0 100644
--- a/src/configs/security.ts
+++ b/src/configs/security.ts
@@ -1,15 +1,10 @@
 import { ensurePackages, interopDefault } from "../utils";
 import type { TypedFlatConfigItem } from "../types";
 
-export async function security(
-): Promise<Array<TypedFlatConfigItem>> {
-  await ensurePackages([
-    "eslint-plugin-security",
-  ]);
+export async function security(): Promise<Array<TypedFlatConfigItem>> {
+  await ensurePackages(["eslint-plugin-security"]);
   // @ts-expect-error missing types
   const pluginSecurity = await interopDefault(import("eslint-plugin-security"));
 
-  return [
-    pluginSecurity.configs.recommended,
-  ];
+  return [pluginSecurity.configs.recommended];
 }
diff --git a/src/configs/solid.ts b/src/configs/solid.ts
index b523497602..e6d3ccf151 100644
--- a/src/configs/solid.ts
+++ b/src/configs/solid.ts
@@ -1,10 +1,19 @@
 import { ensurePackages, interopDefault, toArray } from "../utils";
-import type { OptionsFiles, OptionsHasTypeScript, OptionsOverrides, OptionsTypeScriptWithTypes, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsHasTypeScript,
+  OptionsOverrides,
+  OptionsTypeScriptWithTypes,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_JSX, GLOB_TSX } from "../globs";
 import { a11y } from "./a11y";
 
 export async function solid(
-  options: OptionsHasTypeScript & OptionsOverrides & OptionsFiles & OptionsTypeScriptWithTypes = {},
+  options: OptionsHasTypeScript &
+    OptionsOverrides &
+    OptionsFiles &
+    OptionsTypeScriptWithTypes = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     files = [GLOB_JSX, GLOB_TSX],
@@ -12,19 +21,14 @@ export async function solid(
     typescript = true,
   } = options;
 
-  await ensurePackages([
-    "eslint-plugin-solid",
-  ]);
+  await ensurePackages(["eslint-plugin-solid"]);
 
   const tsconfigPath = options?.tsconfigPath
     ? toArray(options.tsconfigPath)
     : undefined;
   const isTypeAware = Boolean(tsconfigPath);
 
-  const [
-    pluginSolid,
-    parserTs,
-  ] = await Promise.all([
+  const [pluginSolid, parserTs] = await Promise.all([
     interopDefault(import("eslint-plugin-solid")),
     interopDefault(import("@typescript-eslint/parser")),
   ] as const);
@@ -44,7 +48,7 @@ export async function solid(
           ecmaFeatures: {
             jsx: true,
           },
-          ...isTypeAware ? { project: tsconfigPath } : {},
+          ...(isTypeAware ? { project: tsconfigPath } : {}),
         },
         sourceType: "module",
       },
@@ -52,12 +56,15 @@ export async function solid(
       rules: {
         // reactivity
         "solid/components-return-once": "warn",
-        "solid/event-handlers": ["error", {
-          // if true, don't warn on ambiguously named event handlers like `onclick` or `onchange`
-          ignoreCase: false,
-          // if true, warn when spreading event handlers onto JSX. Enable for Solid < v1.6.
-          warnOnSpread: false,
-        }],
+        "solid/event-handlers": [
+          "error",
+          {
+            // if true, don't warn on ambiguously named event handlers like `onclick` or `onchange`
+            ignoreCase: false,
+            // if true, warn when spreading event handlers onto JSX. Enable for Solid < v1.6.
+            warnOnSpread: false,
+          },
+        ],
         // these rules are mostly style suggestions
         "solid/imports": "error",
         // identifier usage is important
@@ -75,12 +82,12 @@ export async function solid(
         "solid/reactivity": "warn",
         "solid/self-closing-comp": "error",
         "solid/style-prop": ["error", { styleProps: ["style", "css"] }],
-        ...typescript
+        ...(typescript
           ? {
               "solid/jsx-no-undef": ["error", { typescriptEnabled: true }],
               "solid/no-unknown-namespaces": "off",
             }
-          : {},
+          : {}),
         // overrides
         ...overrides,
       },
diff --git a/src/configs/sort.ts b/src/configs/sort.ts
index 782ac61afa..b62708f059 100644
--- a/src/configs/sort.ts
+++ b/src/configs/sort.ts
@@ -70,19 +70,15 @@ export async function sortPackageJson(): Promise<Array<TypedFlatConfigItem>> {
           },
           {
             order: { type: "asc" },
-            pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$",
+            pathPattern:
+              "^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$",
           },
           {
             order: { type: "asc" },
             pathPattern: "^(?:resolutions|overrides|pnpm.overrides)$",
           },
           {
-            order: [
-              "types",
-              "import",
-              "require",
-              "default",
-            ],
+            order: ["types", "import", "require", "default"],
             pathPattern: "^exports.*$",
           },
           {
diff --git a/src/configs/storybook.ts b/src/configs/storybook.ts
index 09a7ebe287..9daa5247e5 100644
--- a/src/configs/storybook.ts
+++ b/src/configs/storybook.ts
@@ -3,30 +3,30 @@ import type { TypedFlatConfigItem } from "../types";
 import { fixupConfigRules } from "@eslint/compat";
 import { compat } from "../compat";
 
-export async function storybook(
-): Promise<Array<TypedFlatConfigItem>> {
-  await ensurePackages([
-    "eslint-plugin-storybook",
-  ]);
+export async function storybook(): Promise<Array<TypedFlatConfigItem>> {
+  await ensurePackages(["eslint-plugin-storybook"]);
 
-  return [{
-    name: "nirtamir2/storybook",
-    ...fixupConfigRules(
-      compat.config({
-        extends: [
-          "plugin:storybook/recommended",
-          "plugin:storybook/csf-strict",
-          "plugin:storybook/addon-interactions",
-        ],
-        // .eslintignore is not supported with flat config, make sure to ignore also other build and test folders
-        ignorePatterns: ["!.storybook", "storybook-static"],
-      }),
-    ),
-  }, {
-    name: "nirtamir2/storybook/i18n",
-    files: ["**.stories.tsx"],
-    rules: {
-      "i18next/no-string-literal": "off",
+  return [
+    {
+      name: "nirtamir2/storybook",
+      ...fixupConfigRules(
+        compat.config({
+          extends: [
+            "plugin:storybook/recommended",
+            "plugin:storybook/csf-strict",
+            "plugin:storybook/addon-interactions",
+          ],
+          // .eslintignore is not supported with flat config, make sure to ignore also other build and test folders
+          ignorePatterns: ["!.storybook", "storybook-static"],
+        })
+      ),
     },
-  }];
+    {
+      name: "nirtamir2/storybook/i18n",
+      files: ["**.stories.tsx"],
+      rules: {
+        "i18next/no-string-literal": "off",
+      },
+    },
+  ];
 }
diff --git a/src/configs/stylistic.ts b/src/configs/stylistic.ts
index 4a19082e56..5b1d6b1ece 100644
--- a/src/configs/stylistic.ts
+++ b/src/configs/stylistic.ts
@@ -1,5 +1,9 @@
 import { interopDefault } from "../utils";
-import type { OptionsOverrides, StylisticConfig, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsOverrides,
+  StylisticConfig,
+  TypedFlatConfigItem,
+} from "../types";
 import { pluginAntfu } from "../plugins";
 
 export const StylisticConfigDefaults: StylisticConfig = {
@@ -14,7 +18,7 @@ export interface StylisticOptions extends StylisticConfig, OptionsOverrides {
 }
 
 export async function stylistic(
-  options: StylisticOptions = {},
+  options: StylisticOptions = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     indent,
@@ -28,7 +32,9 @@ export async function stylistic(
     ...options,
   };
 
-  const pluginStylistic = await interopDefault(import("@stylistic/eslint-plugin"));
+  const pluginStylistic = await interopDefault(
+    import("@stylistic/eslint-plugin")
+  );
 
   const config = pluginStylistic.configs.customize({
     flat: true,
@@ -59,8 +65,7 @@ export async function stylistic(
               "antfu/curly": "error",
               "antfu/if-newline": "error",
               "antfu/top-level-function": "error",
-            }
-        ),
+            }),
 
         ...overrides,
       },
diff --git a/src/configs/svelte.ts b/src/configs/svelte.ts
index 832eeb9b9e..6665970b87 100644
--- a/src/configs/svelte.ts
+++ b/src/configs/svelte.ts
@@ -1,29 +1,27 @@
 import { ensurePackages, interopDefault } from "../utils";
-import type { OptionsFiles, OptionsHasTypeScript, OptionsOverrides, OptionsStylistic, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsHasTypeScript,
+  OptionsOverrides,
+  OptionsStylistic,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_SVELTE } from "../globs";
 
 export async function svelte(
-  options: OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsFiles = {},
+  options: OptionsHasTypeScript &
+    OptionsOverrides &
+    OptionsStylistic &
+    OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    files = [GLOB_SVELTE],
-    overrides = {},
-    stylistic = true,
-  } = options;
+  const { files = [GLOB_SVELTE], overrides = {}, stylistic = false } = options;
 
-  const {
-    indent = 2,
-    quotes = "single",
-  } = typeof stylistic === "boolean" ? {} : stylistic;
+  const { indent = 2, quotes = "single" } =
+    typeof stylistic === "boolean" ? {} : stylistic;
 
-  await ensurePackages([
-    "eslint-plugin-svelte",
-  ]);
+  await ensurePackages(["eslint-plugin-svelte"]);
 
-  const [
-    pluginSvelte,
-    parserSvelte,
-  ] = await Promise.all([
+  const [pluginSvelte, parserSvelte] = await Promise.all([
     interopDefault(import("eslint-plugin-svelte")),
     interopDefault(import("svelte-eslint-parser")),
   ] as const);
@@ -42,7 +40,9 @@ export async function svelte(
         parserOptions: {
           extraFileExtensions: [".svelte"],
           parser: options.typescript
-            ? await interopDefault(import("@typescript-eslint/parser")) as any
+            ? ((await interopDefault(
+                import("@typescript-eslint/parser")
+              )) as any)
             : null,
         },
       },
@@ -51,13 +51,16 @@ export async function svelte(
       rules: {
         "import/no-mutable-exports": "off",
         "no-undef": "off", // incompatible with most recent (attribute-form) generic types RFC
-        "no-unused-vars": ["error", {
-          args: "none",
-          caughtErrors: "none",
-          ignoreRestSiblings: true,
-          vars: "all",
-          varsIgnorePattern: String.raw`^(\$\$Props$|\$\$Events$|\$\$Slots$)`,
-        }],
+        "no-unused-vars": [
+          "error",
+          {
+            args: "none",
+            caughtErrors: "none",
+            ignoreRestSiblings: true,
+            vars: "all",
+            varsIgnorePattern: String.raw`^(\$\$Props$|\$\$Events$|\$\$Slots$)`,
+          },
+        ],
 
         "svelte/comment-directive": "error",
         "svelte/no-at-debug-tags": "warn",
@@ -83,23 +86,31 @@ export async function svelte(
 
         "unused-imports/no-unused-vars": [
           "error",
-          { args: "after-used", argsIgnorePattern: "^_", vars: "all", varsIgnorePattern: String.raw`^(_|\$\$Props$|\$\$Events$|\$\$Slots$)` },
+          {
+            args: "after-used",
+            argsIgnorePattern: "^_",
+            vars: "all",
+            varsIgnorePattern: String.raw`^(_|\$\$Props$|\$\$Events$|\$\$Slots$)`,
+          },
         ],
 
-        ...stylistic
+        ...(stylistic
           ? {
               "@stylistic/indent": "off", // superseded by svelte/indent
               "@stylistic/no-trailing-spaces": "off", // superseded by svelte/no-trailing-spaces
               "svelte/derived-has-same-inputs-outputs": "error",
               "svelte/html-closing-bracket-spacing": "error",
               "svelte/html-quotes": ["error", { prefer: quotes }],
-              "svelte/indent": ["error", { alignAttributesVertically: true, indent }],
+              "svelte/indent": [
+                "error",
+                { alignAttributesVertically: true, indent },
+              ],
               "svelte/mustache-spacing": "error",
               "svelte/no-spaces-around-equal-signs-in-attribute": "error",
               "svelte/no-trailing-spaces": "error",
               "svelte/spaced-html-comment": "error",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/configs/tailwindcss.ts b/src/configs/tailwindcss.ts
index 8854a2c5ad..4fbce69ae1 100644
--- a/src/configs/tailwindcss.ts
+++ b/src/configs/tailwindcss.ts
@@ -1,13 +1,12 @@
 import { ensurePackages, interopDefault } from "../utils";
 import type { TypedFlatConfigItem } from "../types";
 
-export async function tailwindcss(
-): Promise<Array<TypedFlatConfigItem>> {
-  await ensurePackages([
-    "eslint-plugin-tailwindcss",
-  ]);
+export async function tailwindcss(): Promise<Array<TypedFlatConfigItem>> {
+  await ensurePackages(["eslint-plugin-tailwindcss"]);
 
-  const pluginTailwindCSS = await interopDefault(import("eslint-plugin-tailwindcss"));
+  const pluginTailwindCSS = await interopDefault(
+    import("eslint-plugin-tailwindcss")
+  );
 
   return pluginTailwindCSS.configs["flat/recommended"];
 }
diff --git a/src/configs/test.ts b/src/configs/test.ts
index 314f1ff6b9..419a0d503c 100644
--- a/src/configs/test.ts
+++ b/src/configs/test.ts
@@ -1,23 +1,21 @@
 import { interopDefault } from "../utils";
-import type { OptionsFiles, OptionsIsInEditor, OptionsOverrides, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsIsInEditor,
+  OptionsOverrides,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_TESTS } from "../globs";
 
 // Hold the reference so we don't redeclare the plugin on each call
 let _pluginTest: any;
 
 export async function test(
-  options: OptionsFiles & OptionsIsInEditor & OptionsOverrides = {},
+  options: OptionsFiles & OptionsIsInEditor & OptionsOverrides = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    files = GLOB_TESTS,
-    isInEditor = false,
-    overrides = {},
-  } = options;
+  const { files = GLOB_TESTS, isInEditor = false, overrides = {} } = options;
 
-  const [
-    pluginVitest,
-    pluginNoOnlyTests,
-  ] = await Promise.all([
+  const [pluginVitest, pluginNoOnlyTests] = await Promise.all([
     interopDefault(import("eslint-plugin-vitest")),
     // @ts-expect-error missing types
     interopDefault(import("eslint-plugin-no-only-tests")),
@@ -45,7 +43,10 @@ export async function test(
       rules: {
         "n/prefer-global/process": "off",
 
-        "vitest/consistent-test-it": ["error", { fn: "it", withinDescribe: "it" }],
+        "vitest/consistent-test-it": [
+          "error",
+          { fn: "it", withinDescribe: "it" },
+        ],
         "vitest/no-identical-title": "error",
         "vitest/no-import-node-test": "error",
         "vitest/no-only-tests": isInEditor ? "off" : "error",
diff --git a/src/configs/toml.ts b/src/configs/toml.ts
index f27fe935d4..599b48f7c3 100644
--- a/src/configs/toml.ts
+++ b/src/configs/toml.ts
@@ -1,24 +1,20 @@
-import type { OptionsFiles, OptionsOverrides, OptionsStylistic, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsOverrides,
+  OptionsStylistic,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_TOML } from "../globs";
 import { interopDefault } from "../utils";
 
 export async function toml(
-  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {},
+  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    files = [GLOB_TOML],
-    overrides = {},
-    stylistic = true,
-  } = options;
+  const { files = [GLOB_TOML], overrides = {}, stylistic = false } = options;
 
-  const {
-    indent = 2,
-  } = typeof stylistic === "boolean" ? {} : stylistic;
+  const { indent = 2 } = typeof stylistic === "boolean" ? {} : stylistic;
 
-  const [
-    pluginToml,
-    parserToml,
-  ] = await Promise.all([
+  const [pluginToml, parserToml] = await Promise.all([
     interopDefault(import("eslint-plugin-toml")),
     interopDefault(import("toml-eslint-parser")),
   ] as const);
@@ -49,7 +45,7 @@ export async function toml(
 
         "toml/vue-custom-block/no-parsing-error": "error",
 
-        ...stylistic
+        ...(stylistic
           ? {
               "toml/array-bracket-newline": "error",
               "toml/array-bracket-spacing": "error",
@@ -63,7 +59,7 @@ export async function toml(
               "toml/spaced-comment": "error",
               "toml/table-bracket-spacing": "error",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/configs/typescript.ts b/src/configs/typescript.ts
index edf2ecff68..166f92a13d 100644
--- a/src/configs/typescript.ts
+++ b/src/configs/typescript.ts
@@ -15,17 +15,17 @@ import tseslint from "typescript-eslint";
 import { compat } from "../compat";
 
 export async function typescript(
-  options: OptionsFiles & OptionsComponentExts & OptionsOverrides & OptionsTypeScriptWithTypes & OptionsTypeScriptParserOptions = {},
+  options: OptionsFiles &
+    OptionsComponentExts &
+    OptionsOverrides &
+    OptionsTypeScriptWithTypes &
+    OptionsTypeScriptParserOptions = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    componentExts = [],
-    overrides = {},
-    parserOptions = {},
-  } = options;
+  const { componentExts = [], overrides = {}, parserOptions = {} } = options;
 
   const files = options.files ?? [
     GLOB_SRC,
-    ...componentExts.map(ext => `**/*.${ext}`),
+    ...componentExts.map((ext) => `**/*.${ext}`),
   ];
 
   const filesTypeAware = options.filesTypeAware ?? [GLOB_TS, GLOB_TSX];
@@ -57,30 +57,31 @@ export async function typescript(
     "@typescript-eslint/unbound-method": "error",
   };
 
-  const [
-    pluginTs,
-    parserTs,
-  ] = await Promise.all([
+  const [pluginTs, parserTs] = await Promise.all([
     interopDefault(import("@typescript-eslint/eslint-plugin")),
     interopDefault(import("@typescript-eslint/parser")),
   ] as const);
 
-  function makeParser(typeAware: boolean, files: Array<string>, ignores?: Array<string>): TypedFlatConfigItem {
+  function makeParser(
+    typeAware: boolean,
+    files: Array<string>,
+    ignores?: Array<string>
+  ): TypedFlatConfigItem {
     return {
       files,
-      ...ignores ? { ignores } : {},
+      ...(ignores ? { ignores } : {}),
       languageOptions: {
         parser: parserTs,
         parserOptions: {
-          extraFileExtensions: componentExts.map(ext => `.${ext}`),
+          extraFileExtensions: componentExts.map((ext) => `.${ext}`),
           sourceType: "module",
-          ...typeAware
+          ...(typeAware
             ? {
                 project: tsconfigPath,
                 tsconfigRootDir: process.cwd(),
               }
-            : {},
-          ...parserOptions as any,
+            : {}),
+          ...(parserOptions as any),
         },
       },
       name: `antfu/typescript/${typeAware ? "type-aware-parser" : "parser"}`,
@@ -97,14 +98,14 @@ export async function typescript(
       },
     },
     // assign type-aware parser for type-aware files and type-unaware parser for the rest
-    ...isTypeAware
+    ...(isTypeAware
       ? [
           makeParser(true, filesTypeAware),
           makeParser(false, files, filesTypeAware),
         ]
-      : [makeParser(false, files)],
+      : [makeParser(false, files)]),
     ...tseslint.configs.strict,
-    ...isTypeAware ? tseslint.configs.strictTypeChecked : [],
+    ...(isTypeAware ? tseslint.configs.strictTypeChecked : []),
     {
       files,
       name: "antfu/typescript/rules",
@@ -116,10 +117,22 @@ export async function typescript(
         "no-redeclare": "off",
         "no-use-before-define": "off",
         "no-useless-constructor": "off",
-        "@typescript-eslint/ban-ts-comment": ["error", { "ts-ignore": "allow-with-description" }],
-        "@typescript-eslint/ban-types": ["error", { types: { Function: false } }],
-        "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
-        "@typescript-eslint/consistent-type-imports": ["error", { disallowTypeAnnotations: false, prefer: "type-imports" }],
+        "@typescript-eslint/ban-ts-comment": [
+          "error",
+          { "ts-ignore": "allow-with-description" },
+        ],
+        "@typescript-eslint/ban-types": [
+          "error",
+          { types: { Function: false } },
+        ],
+        "@typescript-eslint/consistent-type-definitions": [
+          "error",
+          "interface",
+        ],
+        "@typescript-eslint/consistent-type-imports": [
+          "error",
+          { disallowTypeAnnotations: false, prefer: "type-imports" },
+        ],
         "@typescript-eslint/method-signature-style": ["error", "property"], // https://www.totaltypescript.com/method-shorthand-syntax-considered-harmful
         "@typescript-eslint/no-dupe-class-members": "error",
         "@typescript-eslint/no-dynamic-delete": "off",
@@ -132,7 +145,10 @@ export async function typescript(
         "@typescript-eslint/no-redeclare": "error",
         "@typescript-eslint/no-require-imports": "error",
         "@typescript-eslint/no-unused-vars": "off",
-        "@typescript-eslint/no-use-before-define": ["error", { classes: false, functions: false, variables: true }],
+        "@typescript-eslint/no-use-before-define": [
+          "error",
+          { classes: false, functions: false, variables: true },
+        ],
         "@typescript-eslint/no-useless-constructor": "off",
         "@typescript-eslint/prefer-ts-expect-error": "error",
         "@typescript-eslint/triple-slash-reference": "off",
@@ -140,16 +156,18 @@ export async function typescript(
         ...overrides,
       },
     },
-    ...isTypeAware
-      ? [{
-          files: filesTypeAware,
-          name: "antfu/typescript/rules-type-aware",
-          rules: {
-            ...tsconfigPath ? typeAwareRules : {},
-            ...overrides,
+    ...(isTypeAware
+      ? [
+          {
+            files: filesTypeAware,
+            name: "antfu/typescript/rules-type-aware",
+            rules: {
+              ...(tsconfigPath ? typeAwareRules : {}),
+              ...overrides,
+            },
           },
-        }]
-      : [],
+        ]
+      : []),
     {
       files: ["**/*.d.ts"],
       name: "antfu/typescript/disables/dts",
@@ -294,15 +312,15 @@ export async function typescript(
         "@typescript-eslint/comma-spacing": "off",
         "func-call-spacing": "off",
         "@typescript-eslint/func-call-spacing": "off",
-        "indent": "off",
+        indent: "off",
         "@typescript-eslint/indent": "off",
         "keyword-spacing": "off",
         "@typescript-eslint/keyword-spacing": "off",
         "@typescript-eslint/lines-between-class-members": "off",
         "@typescript-eslint/member-delimiter-style": "off",
-        "quotes": "off",
+        quotes: "off",
         "@typescript-eslint/quotes": "off",
-        "semi": "off",
+        semi: "off",
         "@typescript-eslint/semi": "off",
         "space-before-function-paren": "off",
         "@typescript-eslint/space-before-function-paren": "off",
@@ -339,39 +357,39 @@ export async function typescript(
           "error",
           {
             types: {
-              "String": {
+              String: {
                 message: "Use `string` instead.",
                 fixWith: "string",
               },
-              "Number": {
+              Number: {
                 message: "Use `number` instead.",
                 fixWith: "number",
               },
-              "Boolean": {
+              Boolean: {
                 message: "Use `boolean` instead.",
                 fixWith: "boolean",
               },
-              "Symbol": {
+              Symbol: {
                 message: "Use `symbol` instead.",
                 fixWith: "symbol",
               },
-              "Object": {
+              Object: {
                 message:
-                    "The `Object` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848",
+                  "The `Object` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848",
                 fixWith: "Record<string, unknown>",
               },
               "{}": {
                 message:
-                    "The `{}` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead.",
+                  "The `{}` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead.",
                 fixWith: "Record<string, unknown>",
               },
-              "object": {
+              object: {
                 message:
-                    "The `object` type is hard to use. Use `Record<string, unknown>` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848",
+                  "The `object` type is hard to use. Use `Record<string, unknown>` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848",
                 fixWith: "Record<string, unknown>",
               },
-              "Function":
-                  "Use a specific function type instead, like `() => void`.",
+              Function:
+                "Use a specific function type instead, like `() => void`.",
             },
           },
         ],
diff --git a/src/configs/unocss.ts b/src/configs/unocss.ts
index 70a145088b..8642112a4f 100644
--- a/src/configs/unocss.ts
+++ b/src/configs/unocss.ts
@@ -2,20 +2,13 @@ import { ensurePackages, interopDefault } from "../utils";
 import type { OptionsUnoCSS, TypedFlatConfigItem } from "../types";
 
 export async function unocss(
-  options: OptionsUnoCSS = {},
+  options: OptionsUnoCSS = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    attributify = true,
-    strict = false,
-  } = options;
+  const { attributify = true, strict = false } = options;
 
-  await ensurePackages([
-    "@unocss/eslint-plugin",
-  ]);
+  await ensurePackages(["@unocss/eslint-plugin"]);
 
-  const [
-    pluginUnoCSS,
-  ] = await Promise.all([
+  const [pluginUnoCSS] = await Promise.all([
     interopDefault(import("@unocss/eslint-plugin")),
   ] as const);
 
@@ -27,16 +20,16 @@ export async function unocss(
       },
       rules: {
         "unocss/order": "warn",
-        ...attributify
+        ...(attributify
           ? {
               "unocss/order-attributify": "warn",
             }
-          : {},
-        ...strict
+          : {}),
+        ...(strict
           ? {
               "unocss/blocklist": "error",
             }
-          : {},
+          : {}),
       },
     },
   ];
diff --git a/src/configs/vue.ts b/src/configs/vue.ts
index e6921934ad..6975226fe8 100644
--- a/src/configs/vue.ts
+++ b/src/configs/vue.ts
@@ -1,31 +1,34 @@
 import { mergeProcessors } from "eslint-merge-processors";
 import { interopDefault } from "../utils";
-import type { OptionsFiles, OptionsHasTypeScript, OptionsOverrides, OptionsStylistic, OptionsVue, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsHasTypeScript,
+  OptionsOverrides,
+  OptionsStylistic,
+  OptionsVue,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_VUE } from "../globs";
 
 export async function vue(
-  options: OptionsVue & OptionsHasTypeScript & OptionsOverrides & OptionsStylistic & OptionsFiles = {},
+  options: OptionsVue &
+    OptionsHasTypeScript &
+    OptionsOverrides &
+    OptionsStylistic &
+    OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
   const {
     files = [GLOB_VUE],
     overrides = {},
-    stylistic = true,
+    stylistic = false,
     vueVersion = 3,
   } = options;
 
-  const sfcBlocks = options.sfcBlocks === true
-    ? {}
-    : options.sfcBlocks ?? {};
+  const sfcBlocks = options.sfcBlocks === true ? {} : options.sfcBlocks ?? {};
 
-  const {
-    indent = 2,
-  } = typeof stylistic === "boolean" ? {} : stylistic;
+  const { indent = 2 } = typeof stylistic === "boolean" ? {} : stylistic;
 
-  const [
-    pluginVue,
-    parserVue,
-    processorVueBlocks,
-  ] = await Promise.all([
+  const [pluginVue, parserVue, processorVueBlocks] = await Promise.all([
     // @ts-expect-error missing types
     interopDefault(import("eslint-plugin-vue")),
     interopDefault(import("vue-eslint-parser")),
@@ -69,52 +72,66 @@ export async function vue(
           },
           extraFileExtensions: [".vue"],
           parser: options.typescript
-            ? await interopDefault(import("@typescript-eslint/parser")) as any
+            ? ((await interopDefault(
+                import("@typescript-eslint/parser")
+              )) as any)
             : null,
           sourceType: "module",
         },
       },
       name: "antfu/vue/rules",
-      processor: sfcBlocks === false
-        ? pluginVue.processors[".vue"]
-        : mergeProcessors([
-          pluginVue.processors[".vue"],
-          processorVueBlocks({
-            ...sfcBlocks,
-            blocks: {
-              styles: true,
-              ...sfcBlocks.blocks,
-            },
-          }),
-        ]),
+      processor:
+        sfcBlocks === false
+          ? pluginVue.processors[".vue"]
+          : mergeProcessors([
+              pluginVue.processors[".vue"],
+              processorVueBlocks({
+                ...sfcBlocks,
+                blocks: {
+                  styles: true,
+                  ...sfcBlocks.blocks,
+                },
+              }),
+            ]),
       rules: {
-        ...pluginVue.configs.base.rules as any,
+        ...(pluginVue.configs.base.rules as any),
 
-        ...vueVersion === 2
+        ...(vueVersion === 2
           ? {
-              ...pluginVue.configs.essential.rules as any,
-              ...pluginVue.configs["strongly-recommended"].rules as any,
-              ...pluginVue.configs.recommended.rules as any,
+              ...(pluginVue.configs.essential.rules as any),
+              ...(pluginVue.configs["strongly-recommended"].rules as any),
+              ...(pluginVue.configs.recommended.rules as any),
             }
           : {
-              ...pluginVue.configs["vue3-essential"].rules as any,
-              ...pluginVue.configs["vue3-strongly-recommended"].rules as any,
-              ...pluginVue.configs["vue3-recommended"].rules as any,
-            },
+              ...(pluginVue.configs["vue3-essential"].rules as any),
+              ...(pluginVue.configs["vue3-strongly-recommended"].rules as any),
+              ...(pluginVue.configs["vue3-recommended"].rules as any),
+            }),
 
         "n/prefer-global/process": "off",
-        "vue/block-order": ["error", {
-          order: ["script", "template", "style"],
-        }],
+        "vue/block-order": [
+          "error",
+          {
+            order: ["script", "template", "style"],
+          },
+        ],
 
         "vue/component-name-in-template-casing": ["error", "PascalCase"],
         "vue/component-options-name-casing": ["error", "PascalCase"],
         // this is deprecated
         "vue/component-tags-order": "off",
         "vue/custom-event-name-casing": ["error", "camelCase"],
-        "vue/define-macros-order": ["error", {
-          order: ["defineOptions", "defineProps", "defineEmits", "defineSlots"],
-        }],
+        "vue/define-macros-order": [
+          "error",
+          {
+            order: [
+              "defineOptions",
+              "defineProps",
+              "defineEmits",
+              "defineSlots",
+            ],
+          },
+        ],
         "vue/dot-location": ["error", "property"],
         "vue/dot-notation": ["error", { allowKeywords: true }],
         "vue/eqeqeq": ["error", "smart"],
@@ -154,34 +171,51 @@ export async function vue(
         "vue/space-infix-ops": "error",
         "vue/space-unary-ops": ["error", { nonwords: false, words: true }],
 
-        ...stylistic
+        ...(stylistic
           ? {
               "vue/array-bracket-spacing": ["error", "never"],
               "vue/arrow-spacing": ["error", { after: true, before: true }],
               "vue/block-spacing": ["error", "always"],
-              "vue/block-tag-newline": ["error", {
-                multiline: "always",
-                singleline: "always",
-              }],
-              "vue/brace-style": ["error", "stroustrup", { allowSingleLine: true }],
+              "vue/block-tag-newline": [
+                "error",
+                {
+                  multiline: "always",
+                  singleline: "always",
+                },
+              ],
+              "vue/brace-style": [
+                "error",
+                "stroustrup",
+                { allowSingleLine: true },
+              ],
               "vue/comma-dangle": ["error", "always-multiline"],
               "vue/comma-spacing": ["error", { after: true, before: false }],
               "vue/comma-style": ["error", "last"],
-              "vue/html-comment-content-spacing": ["error", "always", {
-                exceptions: ["-"],
-              }],
-              "vue/key-spacing": ["error", { afterColon: true, beforeColon: false }],
+              "vue/html-comment-content-spacing": [
+                "error",
+                "always",
+                {
+                  exceptions: ["-"],
+                },
+              ],
+              "vue/key-spacing": [
+                "error",
+                { afterColon: true, beforeColon: false },
+              ],
               "vue/keyword-spacing": ["error", { after: true, before: true }],
               "vue/object-curly-newline": "off",
               "vue/object-curly-spacing": ["error", "always"],
-              "vue/object-property-newline": ["error", { allowMultiplePropertiesPerLine: true }],
+              "vue/object-property-newline": [
+                "error",
+                { allowMultiplePropertiesPerLine: true },
+              ],
               "vue/operator-linebreak": ["error", "before"],
               "vue/padding-line-between-blocks": ["error", "always"],
               "vue/quote-props": ["error", "consistent-as-needed"],
               "vue/space-in-parens": ["error", "never"],
               "vue/template-curly-spacing": "error",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/configs/yaml.ts b/src/configs/yaml.ts
index 877b416610..ffa8f90d46 100644
--- a/src/configs/yaml.ts
+++ b/src/configs/yaml.ts
@@ -1,25 +1,21 @@
-import type { OptionsFiles, OptionsOverrides, OptionsStylistic, TypedFlatConfigItem } from "../types";
+import type {
+  OptionsFiles,
+  OptionsOverrides,
+  OptionsStylistic,
+  TypedFlatConfigItem,
+} from "../types";
 import { GLOB_YAML } from "../globs";
 import { interopDefault } from "../utils";
 
 export async function yaml(
-  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {},
+  options: OptionsOverrides & OptionsStylistic & OptionsFiles = {}
 ): Promise<Array<TypedFlatConfigItem>> {
-  const {
-    files = [GLOB_YAML],
-    overrides = {},
-    stylistic = true,
-  } = options;
+  const { files = [GLOB_YAML], overrides = {}, stylistic = false } = options;
 
-  const {
-    indent = 2,
-    quotes = "single",
-  } = typeof stylistic === "boolean" ? {} : stylistic;
+  const { indent = 2, quotes = "single" } =
+    typeof stylistic === "boolean" ? {} : stylistic;
 
-  const [
-    pluginYaml,
-    parserYaml,
-  ] = await Promise.all([
+  const [pluginYaml, parserYaml] = await Promise.all([
     interopDefault(import("eslint-plugin-yml")),
     interopDefault(import("yaml-eslint-parser")),
   ] as const);
@@ -49,7 +45,7 @@ export async function yaml(
 
         "yml/vue-custom-block/no-parsing-error": "error",
 
-        ...stylistic
+        ...(stylistic
           ? {
               "yml/block-mapping-question-indicator-newline": "error",
               "yml/block-sequence-hyphen-indicator-newline": "error",
@@ -63,7 +59,7 @@ export async function yaml(
               "yml/quotes": ["error", { avoidEscape: false, prefer: quotes }],
               "yml/spaced-comment": "error",
             }
-          : {},
+          : {}),
 
         ...overrides,
       },
diff --git a/src/factory.ts b/src/factory.ts
index 355b5782e7..40a7faae0e 100644
--- a/src/factory.ts
+++ b/src/factory.ts
@@ -3,7 +3,12 @@ import fs from "node:fs";
 import { isPackageExists } from "local-pkg";
 import { FlatConfigComposer } from "eslint-flat-config-utils";
 import type { Linter } from "eslint";
-import type { Awaitable, ConfigNames, OptionsConfig, TypedFlatConfigItem } from "./types";
+import type {
+  Awaitable,
+  ConfigNames,
+  OptionsConfig,
+  TypedFlatConfigItem,
+} from "./types";
 import {
   astro,
   command,
@@ -51,12 +56,7 @@ const flatConfigProps: Array<keyof TypedFlatConfigItem> = [
   "settings",
 ];
 
-const VuePackages = [
-  "vue",
-  "nuxt",
-  "vitepress",
-  "@slidev/cli",
-];
+const VuePackages = ["vue", "nuxt", "vitepress", "@slidev/cli"];
 const StorybookPackages = [
   "@storybook/addon-a11y",
   "@storybook/addon-essentials",
@@ -78,9 +78,9 @@ export const defaultPluginRenaming = {
   "@stylistic": "style",
   "@typescript-eslint": "ts",
   "import-x": "import",
-  "n": "node",
-  "vitest": "test",
-  "yml": "yaml",
+  n: "node",
+  vitest: "test",
+  yml: "yaml",
 };
 
 /**
@@ -94,14 +94,27 @@ export const defaultPluginRenaming = {
  */
 export function nirtamir2(
   options: OptionsConfig & TypedFlatConfigItem = {},
-  ...userConfigs: Array<Awaitable<TypedFlatConfigItem | Array<TypedFlatConfigItem> | FlatConfigComposer<any, any> | Array<Linter.FlatConfig>>>
+  ...userConfigs: Array<
+    Awaitable<
+      | TypedFlatConfigItem
+      | Array<TypedFlatConfigItem>
+      | FlatConfigComposer<any, any>
+      | Array<Linter.FlatConfig>
+    >
+  >
 ): FlatConfigComposer<TypedFlatConfigItem, ConfigNames> {
   const {
     astro: enableAstro = false,
     // autoRenamePlugins = true,
     componentExts = [],
     gitignore: enableGitignore = true,
-    isInEditor = Boolean((process.env.VSCODE_PID || process.env.VSCODE_CWD || process.env.JETBRAINS_IDE || process.env.VIM) && !process.env.CI),
+    isInEditor = Boolean(
+      (process.env.VSCODE_PID ||
+        process.env.VSCODE_CWD ||
+        process.env.JETBRAINS_IDE ||
+        process.env.VIM) &&
+        !process.env.CI
+    ),
     react: enableReact = false,
     regexp: enableRegexp = true,
     solid: enableSolid = false,
@@ -109,15 +122,18 @@ export function nirtamir2(
     tailwindcss: enableTailwindCSS = isPackageExists("tailwindcss"),
     typescript: enableTypeScript = isPackageExists("typescript"),
     unocss: enableUnoCSS = false,
-    vue: enableVue = VuePackages.some(i => isPackageExists(i)),
-    storybook: enableStorybook = StorybookPackages.some(i => isPackageExists(i)),
+    vue: enableVue = VuePackages.some((i) => isPackageExists(i)),
+    storybook: enableStorybook = StorybookPackages.some((i) =>
+      isPackageExists(i)
+    ),
     i18n: enableI18n = false,
     security: enableSecurity = false,
   } = options;
 
-  const stylisticOptions = options.stylistic === false
-    ? false
-    : typeof options.stylistic === "object"
+  const stylisticOptions =
+    options.stylistic === false
+      ? false
+      : typeof options.stylistic === "object"
       ? options.stylistic
       : {};
 
@@ -129,15 +145,25 @@ export function nirtamir2(
   if (enableGitignore) {
     if (typeof enableGitignore === "boolean") {
       if (fs.existsSync(".gitignore"))
-        configs.push(interopDefault(import("eslint-config-flat-gitignore")).then(r => [r()]));
-    }
-    else {
-      configs.push(interopDefault(import("eslint-config-flat-gitignore")).then(r => [r(enableGitignore)]));
+        configs.push(
+          interopDefault(import("eslint-config-flat-gitignore")).then((r) => [
+            r(),
+          ])
+        );
+    } else {
+      configs.push(
+        interopDefault(import("eslint-config-flat-gitignore")).then((r) => [
+          r(enableGitignore),
+        ])
+      );
     }
   }
 
   const typescriptOptions = resolveSubOptions(options, "typescript");
-  const tsconfigPath = "tsconfigPath" in typescriptOptions ? typescriptOptions.tsconfigPath : undefined;
+  const tsconfigPath =
+    "tsconfigPath" in typescriptOptions
+      ? typescriptOptions.tsconfigPath
+      : undefined;
 
   // Base configs
   configs.push(
@@ -158,7 +184,7 @@ export function nirtamir2(
     command(),
 
     // Optional plugins (installed but not enabled by default)
-    perfectionist(),
+    perfectionist()
   );
 
   if (enableVue) {
@@ -166,19 +192,23 @@ export function nirtamir2(
   }
 
   if (enableTypeScript) {
-    configs.push(typescript({
-      ...typescriptOptions,
-      componentExts,
-      overrides: getOverrides(options, "typescript"),
-    }));
+    configs.push(
+      typescript({
+        ...typescriptOptions,
+        componentExts,
+        overrides: getOverrides(options, "typescript"),
+      })
+    );
   }
 
   if (stylisticOptions) {
-    configs.push(stylistic({
-      ...stylisticOptions,
-      lessOpinionated: options.lessOpinionated,
-      overrides: getOverrides(options, "stylistic"),
-    }));
+    configs.push(
+      stylistic({
+        ...stylisticOptions,
+        lessOpinionated: options.lessOpinionated,
+        overrides: getOverrides(options, "stylistic"),
+      })
+    );
   }
 
   if (enableRegexp) {
@@ -186,49 +216,61 @@ export function nirtamir2(
   }
 
   if (options.test ?? true) {
-    configs.push(test({
-      isInEditor,
-      overrides: getOverrides(options, "test"),
-    }));
+    configs.push(
+      test({
+        isInEditor,
+        overrides: getOverrides(options, "test"),
+      })
+    );
   }
 
   if (enableVue) {
-    configs.push(vue({
-      ...resolveSubOptions(options, "vue"),
-      overrides: getOverrides(options, "vue"),
-      stylistic: stylisticOptions,
-      typescript: Boolean(enableTypeScript),
-    }));
+    configs.push(
+      vue({
+        ...resolveSubOptions(options, "vue"),
+        overrides: getOverrides(options, "vue"),
+        stylistic: stylisticOptions,
+        typescript: Boolean(enableTypeScript),
+      })
+    );
   }
 
   if (enableReact) {
-    configs.push(react({
-      overrides: getOverrides(options, "react"),
-      tsconfigPath,
-    }));
+    configs.push(
+      react({
+        overrides: getOverrides(options, "react"),
+        tsconfigPath,
+      })
+    );
   }
 
   if (enableSolid) {
-    configs.push(solid({
-      overrides: getOverrides(options, "solid"),
-      tsconfigPath,
-      typescript: Boolean(enableTypeScript),
-    }));
+    configs.push(
+      solid({
+        overrides: getOverrides(options, "solid"),
+        tsconfigPath,
+        typescript: Boolean(enableTypeScript),
+      })
+    );
   }
 
   if (enableSvelte) {
-    configs.push(svelte({
-      overrides: getOverrides(options, "svelte"),
-      stylistic: stylisticOptions,
-      typescript: Boolean(enableTypeScript),
-    }));
+    configs.push(
+      svelte({
+        overrides: getOverrides(options, "svelte"),
+        stylistic: stylisticOptions,
+        typescript: Boolean(enableTypeScript),
+      })
+    );
   }
 
   if (enableUnoCSS) {
-    configs.push(unocss({
-      ...resolveSubOptions(options, "unocss"),
-      overrides: getOverrides(options, "unocss"),
-    }));
+    configs.push(
+      unocss({
+        ...resolveSubOptions(options, "unocss"),
+        overrides: getOverrides(options, "unocss"),
+      })
+    );
   }
 
   if (enableI18n) {
@@ -244,10 +286,12 @@ export function nirtamir2(
   }
 
   if (enableAstro) {
-    configs.push(astro({
-      overrides: getOverrides(options, "astro"),
-      stylistic: stylisticOptions,
-    }));
+    configs.push(
+      astro({
+        overrides: getOverrides(options, "astro"),
+        stylistic: stylisticOptions,
+      })
+    );
   }
 
   if (enableStorybook) {
@@ -261,40 +305,44 @@ export function nirtamir2(
         stylistic: stylisticOptions,
       }),
       sortPackageJson(),
-      sortTsconfig(),
+      sortTsconfig()
     );
   }
 
   if (options.yaml ?? true) {
-    configs.push(yaml({
-      overrides: getOverrides(options, "yaml"),
-      stylistic: stylisticOptions,
-    }));
+    configs.push(
+      yaml({
+        overrides: getOverrides(options, "yaml"),
+        stylistic: stylisticOptions,
+      })
+    );
   }
 
   if (options.toml ?? true) {
-    configs.push(toml({
-      overrides: getOverrides(options, "toml"),
-      stylistic: stylisticOptions,
-    }));
+    configs.push(
+      toml({
+        overrides: getOverrides(options, "toml"),
+        stylistic: stylisticOptions,
+      })
+    );
   }
 
   if (options.markdown ?? true) {
     configs.push(
-      markdown(
-        {
-          componentExts,
-          overrides: getOverrides(options, "markdown"),
-        },
-      ),
+      markdown({
+        componentExts,
+        overrides: getOverrides(options, "markdown"),
+      })
     );
   }
 
   if (options.formatters) {
-    configs.push(formatters(
-      options.formatters,
-      typeof stylisticOptions === "boolean" ? {} : stylisticOptions,
-    ));
+    configs.push(
+      formatters(
+        options.formatters,
+        typeof stylisticOptions === "boolean" ? {} : stylisticOptions
+      )
+    );
   }
 
   configs.push(prettier());
@@ -302,20 +350,14 @@ export function nirtamir2(
   // User can optionally pass a flat config item to the first argument
   // We pick the known keys as ESLint would do schema validation
   const fusedConfig = flatConfigProps.reduce((acc, key) => {
-    if (key in options)
-      acc[key] = options[key] as any;
+    if (key in options) acc[key] = options[key] as any;
     return acc;
   }, {} as TypedFlatConfigItem);
-  if (Object.keys(fusedConfig).length > 0)
-    configs.push([fusedConfig]);
+  if (Object.keys(fusedConfig).length > 0) configs.push([fusedConfig]);
 
   let composer = new FlatConfigComposer<TypedFlatConfigItem, ConfigNames>();
 
-  composer = composer
-    .append(
-      ...configs,
-      ...userConfigs as any,
-    );
+  composer = composer.append(...configs, ...(userConfigs as any));
 
   // if (autoRenamePlugins) {
   //   composer = composer
@@ -325,28 +367,22 @@ export function nirtamir2(
   return composer;
 }
 
-export type ResolvedOptions<T> = T extends boolean
-  ? never
-  : NonNullable<T>;
+export type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
 
 export function resolveSubOptions<K extends keyof OptionsConfig>(
   options: OptionsConfig,
-  key: K,
+  key: K
 ): ResolvedOptions<OptionsConfig[K]> {
-  return typeof options[key] === "boolean"
-    ? {} as any
-    : options[key] || {};
+  return typeof options[key] === "boolean" ? ({} as any) : options[key] || {};
 }
 
 export function getOverrides<K extends keyof OptionsConfig>(
   options: OptionsConfig,
-  key: K,
+  key: K
 ) {
   const sub = resolveSubOptions(options, key);
   return {
     ...(options.overrides as any)?.[key],
-    ..."overrides" in sub
-      ? sub.overrides
-      : {},
+    ...("overrides" in sub ? sub.overrides : {}),
   };
 }
diff --git a/src/stub.d.ts b/src/stub.d.ts
index b1538213d7..735e2df5b4 100644
--- a/src/stub.d.ts
+++ b/src/stub.d.ts
@@ -1,2 +1,2 @@
-declare module "eslint-plugin-react-hooks"
-declare module "eslint-plugin-react-refresh"
+declare module "eslint-plugin-react-hooks";
+declare module "eslint-plugin-react-refresh";
diff --git a/src/types.ts b/src/types.ts
index 839f78f492..31311b1bbb 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -10,7 +10,10 @@ export type Awaitable<T> = T | Promise<T>;
 
 export type Rules = RuleOptions;
 
-export type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, "plugins"> & {
+export type TypedFlatConfigItem = Omit<
+  Linter.FlatConfig<Linter.RulesRecord & Rules>,
+  "plugins"
+> & {
   // Relax plugins type limitation, as most of the plugins did not have correct type info yet.
   /**
    * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
@@ -42,7 +45,7 @@ export interface OptionsVue extends OptionsOverrides {
 }
 
 export type OptionsTypescript =
-  (OptionsTypeScriptWithTypes & OptionsOverrides)
+  | (OptionsTypeScriptWithTypes & OptionsOverrides)
   | (OptionsTypeScriptParserOptions & OptionsOverrides);
 
 export interface OptionsFormatters {
@@ -102,9 +105,11 @@ export interface OptionsFormatters {
    *
    * Only works when `markdown` is enabled with `prettier`.
    */
-  slidev?: boolean | {
-    files?: Array<string>;
-  };
+  slidev?:
+    | boolean
+    | {
+        files?: Array<string>;
+      };
 
   /**
    * Enable formatting support for Astro.
@@ -152,7 +157,10 @@ export interface OptionsStylistic {
   stylistic?: boolean | StylisticConfig;
 }
 
-export type StylisticConfig = Pick<StylisticCustomizeOptions, "indent" | "quotes" | "jsx" | "semi">;
+export type StylisticConfig = Pick<
+  StylisticCustomizeOptions,
+  "indent" | "quotes" | "jsx" | "semi"
+>;
 
 export interface OptionsOverrides {
   overrides?: TypedFlatConfigItem["rules"];
diff --git a/src/utils.ts b/src/utils.ts
index e9001dc0b2..d1002c99b2 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -27,7 +27,9 @@ export const parserPlain = {
  * Combine array and non-array configs into a single array.
  * @param {...any} configs
  */
-export async function combine(...configs: Array<Awaitable<TypedFlatConfigItem | Array<TypedFlatConfigItem>>>): Promise<Array<TypedFlatConfigItem>> {
+export async function combine(
+  ...configs: Array<Awaitable<TypedFlatConfigItem | Array<TypedFlatConfigItem>>>
+): Promise<Array<TypedFlatConfigItem>> {
   const resolved = await Promise.all(configs);
   return resolved.flat();
 }
@@ -51,16 +53,18 @@ export async function combine(...configs: Array<Awaitable<TypedFlatConfigItem |
  * }]
  * ```
  */
-export function renameRules(rules: Record<string, any>, map: Record<string, string>) {
+export function renameRules(
+  rules: Record<string, any>,
+  map: Record<string, string>
+) {
   return Object.fromEntries(
-    Object.entries(rules)
-      .map(([key, value]) => {
-        for (const [from, to] of Object.entries(map)) {
-          if (key.startsWith(`${from}/`))
-            return [to + key.slice(from.length), value];
-        }
-        return [key, value];
-      }),
+    Object.entries(rules).map(([key, value]) => {
+      for (const [from, to] of Object.entries(map)) {
+        if (key.startsWith(`${from}/`))
+          return [to + key.slice(from.length), value];
+      }
+      return [key, value];
+    })
   );
 }
 
@@ -79,19 +83,19 @@ export function renameRules(rules: Record<string, any>, map: Record<string, stri
  * })
  * ```
  */
-export function renamePluginInConfigs(configs: Array<TypedFlatConfigItem>, map: Record<string, string>): Array<TypedFlatConfigItem> {
+export function renamePluginInConfigs(
+  configs: Array<TypedFlatConfigItem>,
+  map: Record<string, string>
+): Array<TypedFlatConfigItem> {
   return configs.map((i) => {
     const clone = { ...i };
-    if (clone.rules)
-      clone.rules = renameRules(clone.rules, map);
+    if (clone.rules) clone.rules = renameRules(clone.rules, map);
     if (clone.plugins) {
       clone.plugins = Object.fromEntries(
-        Object.entries(clone.plugins)
-          .map(([key, value]) => {
-            if (key in map)
-              return [map[key], value];
-            return [key, value];
-          }),
+        Object.entries(clone.plugins).map(([key, value]) => {
+          if (key in map) return [map[key], value];
+          return [key, value];
+        })
       );
     }
     return clone;
@@ -102,23 +106,31 @@ export function toArray<T>(value: T | Array<T>): Array<T> {
   return Array.isArray(value) ? value : [value];
 }
 
-export async function interopDefault<T>(m: Awaitable<T>): Promise<T extends { default: infer U } ? U : T> {
+export async function interopDefault<T>(
+  m: Awaitable<T>
+): Promise<T extends { default: infer U } ? U : T> {
   const resolved = await m;
   return (resolved as any).default || resolved;
 }
 
 export async function ensurePackages(packages: Array<string | undefined>) {
-  if (process.env.CI || process.stdout.isTTY === false)
-    return;
+  if (process.env.CI || process.stdout.isTTY === false) return;
 
-  const nonExistingPackages = packages.filter(i => i && !isPackageExists(i)) as Array<string>;
-  if (nonExistingPackages.length === 0)
-    return;
+  const nonExistingPackages = packages.filter(
+    (i) => i && !isPackageExists(i)
+  ) as Array<string>;
+  if (nonExistingPackages.length === 0) return;
 
   const p = await import("@clack/prompts");
   const result = await p.confirm({
-    message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?`,
+    message: `${
+      nonExistingPackages.length === 1 ? "Package is" : "Packages are"
+    } required for this config: ${nonExistingPackages.join(
+      ", "
+    )}. Do you want to install them?`,
   });
   if (result)
-    await import("@antfu/install-pkg").then(i => i.installPackage(nonExistingPackages, { dev: true }));
+    await import("@antfu/install-pkg").then((i) =>
+      i.installPackage(nonExistingPackages, { dev: true })
+    );
 }
diff --git a/test/cli.spec.ts b/test/cli.spec.ts
index 1d515c31eb..6e3edec9fd 100644
--- a/test/cli.spec.ts
+++ b/test/cli.spec.ts
@@ -11,10 +11,13 @@ function randomStr() {
   return Math.random().toString(36).slice(2);
 }
 
-async function run(params: Array<string> = [], env = {
-  SKIP_PROMPT: "1",
-  NO_COLOR: "1",
-}) {
+async function run(
+  params: Array<string> = [],
+  env = {
+    SKIP_PROMPT: "1",
+    NO_COLOR: "1",
+  }
+) {
   return execa("node", [CLI_PATH, ...params], {
     cwd: genPath,
     env: {
@@ -22,7 +25,7 @@ async function run(params: Array<string> = [], env = {
       ...env,
     },
   });
-};
+}
 
 async function createMockDir() {
   await fs.rm(genPath, { recursive: true, force: true });
@@ -35,7 +38,7 @@ async function createMockDir() {
     fs.writeFile(join(genPath, ".prettierc"), ""),
     fs.writeFile(join(genPath, ".prettierignore"), "some-path\nsome-file"),
   ]);
-};
+}
 
 beforeEach(async () => await createMockDir());
 afterAll(async () => await fs.rm(genPath, { recursive: true, force: true }));
@@ -43,19 +46,29 @@ afterAll(async () => await fs.rm(genPath, { recursive: true, force: true }));
 it("package.json updated", async () => {
   const { stdout } = await run();
 
-  const pkgContent: Record<string, any> = await fs.readJSON(join(genPath, "package.json"));
+  const pkgContent: Record<string, any> = await fs.readJSON(
+    join(genPath, "package.json")
+  );
 
-  expect(JSON.stringify(pkgContent.devDependencies)).toContain("@nirtamir2/eslint-config");
+  expect(JSON.stringify(pkgContent.devDependencies)).toContain(
+    "@nirtamir2/eslint-config"
+  );
   expect(stdout).toContain("Changes wrote to package.json");
 });
 
 it("esm eslint.config.js", async () => {
   const pkgContent = await fs.readFile("package.json", "utf8");
-  await fs.writeFile(join(genPath, "package.json"), JSON.stringify({ ...JSON.parse(pkgContent), type: "module" }, null, 2));
+  await fs.writeFile(
+    join(genPath, "package.json"),
+    JSON.stringify({ ...JSON.parse(pkgContent), type: "module" }, null, 2)
+  );
 
   const { stdout } = await run();
 
-  const eslintConfigContent = await fs.readFile(join(genPath, "eslint.config.js"), "utf8");
+  const eslintConfigContent = await fs.readFile(
+    join(genPath, "eslint.config.js"),
+    "utf8"
+  );
   expect(eslintConfigContent.includes("export default")).toBeTruthy();
   expect(stdout).toContain("Created eslint.config.js");
 });
@@ -63,7 +76,10 @@ it("esm eslint.config.js", async () => {
 it("cjs eslint.config.mjs", async () => {
   const { stdout } = await run();
 
-  const eslintConfigContent = await fs.readFile(join(genPath, "eslint.config.mjs"), "utf8");
+  const eslintConfigContent = await fs.readFile(
+    join(genPath, "eslint.config.mjs"),
+    "utf8"
+  );
   expect(eslintConfigContent.includes("export default")).toBeTruthy();
   expect(stdout).toContain("Created eslint.config.mjs");
 });
@@ -71,11 +87,12 @@ it("cjs eslint.config.mjs", async () => {
 it("ignores files added in eslint.config.js", async () => {
   const { stdout } = await run();
 
-  const eslintConfigContent = (await fs.readFile(join(genPath, "eslint.config.mjs"), "utf8")).replaceAll("\\", "/");
+  const eslintConfigContent = (
+    await fs.readFile(join(genPath, "eslint.config.mjs"), "utf8")
+  ).replaceAll("\\", "/");
 
   expect(stdout).toContain("Created eslint.config.mjs");
-  expect(eslintConfigContent)
-    .toMatchInlineSnapshot(`
+  expect(eslintConfigContent).toMatchInlineSnapshot(`
       "import nirtamir2 from '@nirtamir2/eslint-config'
 
       export default nirtamir2({
@@ -89,5 +106,7 @@ it("suggest remove unnecessary files", async () => {
   const { stdout } = await run();
 
   expect(stdout).toContain("You can now remove those files manually");
-  expect(stdout).toContain(".eslintignore, .eslintrc.yaml, .prettierc, .prettierignore");
+  expect(stdout).toContain(
+    ".eslintignore, .eslintrc.yaml, .prettierc, .prettierignore"
+  );
 });
diff --git a/test/fixtures.test.ts b/test/fixtures.test.ts
index 053a83c96e..8b82c7314b 100644
--- a/test/fixtures.test.ts
+++ b/test/fixtures.test.ts
@@ -41,7 +41,7 @@ runWithConfig(
     rules: {
       "@stylistic/no-mixed-spaces-and-tabs": "off",
     },
-  },
+  }
 );
 
 // https://github.com/nirtamir2/eslint-config/issues/255
@@ -54,43 +54,45 @@ runWithConfig(
     rules: {
       "@typescript-eslint/consistent-type-definitions": ["error", "type"],
     },
-  },
+  }
 );
 
-runWithConfig(
-  "with-formatters",
-  {
-    typescript: true,
-    vue: true,
-    astro: true,
-    formatters: true,
-  },
-);
+runWithConfig("with-formatters", {
+  typescript: true,
+  vue: true,
+  astro: true,
+  formatters: true,
+});
 
-runWithConfig(
-  "no-markdown-with-formatters",
-  {
-    jsx: false,
-    vue: false,
-    markdown: false,
-    formatters: {
-      markdown: true,
-    },
+runWithConfig("no-markdown-with-formatters", {
+  jsx: false,
+  vue: false,
+  markdown: false,
+  formatters: {
+    markdown: true,
   },
-);
+});
 
-function runWithConfig(name: string, configs: OptionsConfig, ...items: Array<TypedFlatConfigItem>) {
-  it.concurrent(name, async ({ expect }) => {
-    const from = resolve("fixtures/input");
-    const output = resolve("fixtures/output", name);
-    const target = resolve("_fixtures", name);
+function runWithConfig(
+  name: string,
+  configs: OptionsConfig,
+  ...items: Array<TypedFlatConfigItem>
+) {
+  it.concurrent(
+    name,
+    async ({ expect }) => {
+      const from = resolve("fixtures/input");
+      const output = resolve("fixtures/output", name);
+      const target = resolve("_fixtures", name);
 
-    await fs.copy(from, target, {
-      filter: (src) => {
-        return !src.includes("node_modules");
-      },
-    });
-    await fs.writeFile(join(target, "eslint.config.js"), `
+      await fs.copy(from, target, {
+        filter: (src) => {
+          return !src.includes("node_modules");
+        },
+      });
+      await fs.writeFile(
+        join(target, "eslint.config.js"),
+        `
 // @eslint-disable
 import nirtamir2 from '@nirtamir2/eslint-config'
 
@@ -98,31 +100,32 @@ export default nirtamir2(
   ${JSON.stringify(configs)},
   ...${JSON.stringify(items) ?? []},
 )
-  `);
+  `
+      );
 
-    await execa("npx", ["eslint", ".", "--fix"], {
-      cwd: target,
-      stdio: "pipe",
-    });
+      await execa("npx", ["eslint", ".", "--fix"], {
+        cwd: target,
+        stdio: "pipe",
+      });
 
-    const files = await fg("**/*", {
-      ignore: [
-        "node_modules",
-        "eslint.config.js",
-      ],
-      cwd: target,
-    });
+      const files = await fg("**/*", {
+        ignore: ["node_modules", "eslint.config.js"],
+        cwd: target,
+      });
 
-    await Promise.all(files.map(async (file) => {
-      const content = await fs.readFile(join(target, file), "utf8");
-      const source = await fs.readFile(join(from, file), "utf8");
-      const outputPath = join(output, file);
-      if (content === source) {
-        if (fs.existsSync(outputPath))
-          fs.remove(outputPath);
-        return;
-      }
-      await expect.soft(content).toMatchFileSnapshot(join(output, file));
-    }));
-  }, 30_000);
+      await Promise.all(
+        files.map(async (file) => {
+          const content = await fs.readFile(join(target, file), "utf8");
+          const source = await fs.readFile(join(from, file), "utf8");
+          const outputPath = join(output, file);
+          if (content === source) {
+            if (fs.existsSync(outputPath)) fs.remove(outputPath);
+            return;
+          }
+          await expect.soft(content).toMatchFileSnapshot(join(output, file));
+        })
+      );
+    },
+    30_000
+  );
 }
diff --git a/test/types.ts b/test/types.ts
index a98d295e46..00347f03b7 100644
--- a/test/types.ts
+++ b/test/types.ts
@@ -3,8 +3,8 @@ import type { TypedFlatConfigItem } from "../src";
 
 // Make sure they are compatible
 ((): Linter.FlatConfig => {
-  return ({} as TypedFlatConfigItem);
+  return {} as TypedFlatConfigItem;
 })();
 ((): TypedFlatConfigItem => {
-  return ({} as Linter.FlatConfig);
+  return {} as Linter.FlatConfig;
 })();
diff --git a/tsconfig.json b/tsconfig.json
index 6df4b41dc4..8d6be52cd2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,11 +8,6 @@
     "esModuleInterop": true,
     "skipLibCheck": true
   },
-  "include": [
-    "**/*.ts"
-  ],
-  "exclude": [
-    "./fixtures/**/*.*",
-    "./_fixtures/**/*.*"
-  ]
+  "include": ["**/*.ts"],
+  "exclude": ["./fixtures/**/*.*", "./_fixtures/**/*.*"]
 }
diff --git a/tsup.config.ts b/tsup.config.ts
index 5fa78828d0..1f363413d3 100644
--- a/tsup.config.ts
+++ b/tsup.config.ts
@@ -1,9 +1,6 @@
 import { defineConfig } from "tsup";
 
 export default defineConfig({
-  entry: [
-    "src/index.ts",
-    "src/cli.ts",
-  ],
+  entry: ["src/index.ts", "src/cli.ts"],
   shims: true,
 });