From f98d8d573340f9b0c988172f9b0a98d35787a48c Mon Sep 17 00:00:00 2001 From: Olek Date: Fri, 10 Jul 2026 13:22:38 +0200 Subject: [PATCH 01/20] feat: Add spike-react-native package with GdButton integration and core token resolvers --- libs/design-core/README.md | 86 + libs/design-core/eslint.config.mjs | 20 + libs/design-core/package.json | 27 + libs/design-core/project.json | 37 + libs/design-core/src/index.ts | 3 + .../src/stores/createCheckboxStore.spec.ts | 71 + .../src/stores/createCheckboxStore.ts | 68 + .../src/stores/createInputStore.spec.ts | 62 + .../src/stores/createInputStore.ts | 53 + .../src/stores/createSelectStore.spec.ts | 117 + .../src/stores/createSelectStore.ts | 110 + libs/design-core/src/stores/index.ts | 21 + .../src/tokenResolvers/button.spec.ts | 60 + libs/design-core/src/tokenResolvers/button.ts | 102 + .../src/tokenResolvers/checkbox.spec.ts | 37 + .../src/tokenResolvers/checkbox.ts | 50 + libs/design-core/src/tokenResolvers/index.ts | 14 + .../src/tokenResolvers/input.spec.ts | 36 + libs/design-core/src/tokenResolvers/input.ts | 41 + .../src/tokenResolvers/select.spec.ts | 33 + libs/design-core/src/tokenResolvers/select.ts | 38 + .../src/tokenResolvers/typography.spec.ts | 52 + .../src/tokenResolvers/typography.ts | 112 + libs/design-core/src/types.ts | 15 + libs/design-core/src/utils/get.spec.ts | 27 + libs/design-core/src/utils/get.ts | 18 + libs/design-core/tsconfig.json | 22 + libs/design-core/tsconfig.lib.json | 12 + libs/design-core/tsconfig.spec.json | 8 + libs/design-core/vite.config.ts | 46 + libs/design-core/vitest.config.ts | 15 + libs/spike-web-components/README.md | 20 + libs/spike-web-components/eslint.config.mjs | 20 + .../harness/GdButtonReact.tsx | 14 + libs/spike-web-components/package.json | 17 + libs/spike-web-components/project.json | 24 + .../src/components/gd-button/gd-button.ts | 80 + libs/spike-web-components/src/index.ts | 1 + .../tsconfig.harness.json | 9 + libs/spike-web-components/tsconfig.json | 15 + libs/spike-web-components/tsconfig.lib.json | 10 + libs/spike-web-components/vite.config.ts | 27 + package-lock.json | 95 +- package.json | 7 + spike-react-native/App.tsx | 29 + spike-react-native/README.md | 37 + spike-react-native/app.json | 17 + spike-react-native/babel.config.js | 6 + spike-react-native/package-lock.json | 14250 ++++++++++++++++ spike-react-native/package.json | 24 + .../src/components/GdButton/GdButton.tsx | 83 + spike-react-native/tsconfig.json | 13 + tsconfig.base.json | 4 +- 53 files changed, 16212 insertions(+), 3 deletions(-) create mode 100644 libs/design-core/README.md create mode 100644 libs/design-core/eslint.config.mjs create mode 100644 libs/design-core/package.json create mode 100644 libs/design-core/project.json create mode 100644 libs/design-core/src/index.ts create mode 100644 libs/design-core/src/stores/createCheckboxStore.spec.ts create mode 100644 libs/design-core/src/stores/createCheckboxStore.ts create mode 100644 libs/design-core/src/stores/createInputStore.spec.ts create mode 100644 libs/design-core/src/stores/createInputStore.ts create mode 100644 libs/design-core/src/stores/createSelectStore.spec.ts create mode 100644 libs/design-core/src/stores/createSelectStore.ts create mode 100644 libs/design-core/src/stores/index.ts create mode 100644 libs/design-core/src/tokenResolvers/button.spec.ts create mode 100644 libs/design-core/src/tokenResolvers/button.ts create mode 100644 libs/design-core/src/tokenResolvers/checkbox.spec.ts create mode 100644 libs/design-core/src/tokenResolvers/checkbox.ts create mode 100644 libs/design-core/src/tokenResolvers/index.ts create mode 100644 libs/design-core/src/tokenResolvers/input.spec.ts create mode 100644 libs/design-core/src/tokenResolvers/input.ts create mode 100644 libs/design-core/src/tokenResolvers/select.spec.ts create mode 100644 libs/design-core/src/tokenResolvers/select.ts create mode 100644 libs/design-core/src/tokenResolvers/typography.spec.ts create mode 100644 libs/design-core/src/tokenResolvers/typography.ts create mode 100644 libs/design-core/src/types.ts create mode 100644 libs/design-core/src/utils/get.spec.ts create mode 100644 libs/design-core/src/utils/get.ts create mode 100644 libs/design-core/tsconfig.json create mode 100644 libs/design-core/tsconfig.lib.json create mode 100644 libs/design-core/tsconfig.spec.json create mode 100644 libs/design-core/vite.config.ts create mode 100644 libs/design-core/vitest.config.ts create mode 100644 libs/spike-web-components/README.md create mode 100644 libs/spike-web-components/eslint.config.mjs create mode 100644 libs/spike-web-components/harness/GdButtonReact.tsx create mode 100644 libs/spike-web-components/package.json create mode 100644 libs/spike-web-components/project.json create mode 100644 libs/spike-web-components/src/components/gd-button/gd-button.ts create mode 100644 libs/spike-web-components/src/index.ts create mode 100644 libs/spike-web-components/tsconfig.harness.json create mode 100644 libs/spike-web-components/tsconfig.json create mode 100644 libs/spike-web-components/tsconfig.lib.json create mode 100644 libs/spike-web-components/vite.config.ts create mode 100644 spike-react-native/App.tsx create mode 100644 spike-react-native/README.md create mode 100644 spike-react-native/app.json create mode 100644 spike-react-native/babel.config.js create mode 100644 spike-react-native/package-lock.json create mode 100644 spike-react-native/package.json create mode 100644 spike-react-native/src/components/GdButton/GdButton.tsx create mode 100644 spike-react-native/tsconfig.json diff --git a/libs/design-core/README.md b/libs/design-core/README.md new file mode 100644 index 0000000..f42953b --- /dev/null +++ b/libs/design-core/README.md @@ -0,0 +1,86 @@ +# gd-design-core + +Framework-agnostic core for GridKit's cross-platform architecture strategy +(`plans/ctorndsd-580-cross-platform-architecture-strategy.md`, Option 2: "Framework-Agnostic Core + Thin +Per-Platform Adapters"). This package holds each of the 5 atom-tier components' actual behavior — token +resolution, controlled/uncontrolled state, debounce timers, open/close/selection state — with **zero +React-DOM, Emotion, Shadow-DOM, or React Native assumptions**. + +It is the base platform intended to be consumed by: + +- **CTORNDSD-581** (`plans/ctorndsd-581-lit-webcomponents-spike.md`) — a Lit component subscribes via + `store.subscribe()` / `store.getState()` inside `connectedCallback()`. No hook, no adapter package + required on the Lit side beyond the subscription call itself. +- **CTORNDSD-590** (`plans/ctorndsd-590-react-native-integration-spike.md`) — React and React Native + consume identically via `useStore(vanillaStore, selector)` (from `zustand`), since RN is still React, + just a different renderer. +- The existing React web implementation (`libs/ui`) — not modified by this package; adopting it there is a + separate, later decision (see the Decision Points in the strategy doc). Nothing here changes `libs/ui`'s + shipped behavior today. + +## Scope + +Covers the same 5 atoms both spikes port: `Button`, `Checkbox`, `Typography`, `Input`, `Select`. + +- **`tokenResolvers/`** — pure functions, one per atom, that resolve a theme object plus a variant/size into + plain, platform-neutral style values (no CSS strings, no Emotion pseudo-selector objects). Every atom gets + one, since token resolution is the one thing all 5 can share regardless of how much behavior they have. +- **`stores/`** — per-atom state factories built on `zustand/vanilla`'s `createStore`, for the 3 atoms with + real behavior to extract: `Checkbox` (controlled/uncontrolled resolution + indeterminate), `Input` + (debounce + mouse/keyboard interaction tracking), `Select` (open/close, single/multi selection, search + filtering). `Button` and `Typography` have no store — per the strategy doc's comparison table, they are + purely presentational. + +Deliberately **out of scope** here (kept in each platform's own adapter, since it's genuinely +platform-specific): DOM/viewport positioning (`Select`'s dropdown placement), portal/outside-click +detection, keyboard-arrow DOM focus traversal, and any CSS/StyleSheet/Shadow-DOM rendering itself. The +strategy doc's per-atom table calls this out explicitly: shared-core feasibility rises with how much of a +component's complexity is state/behavior rather than presentation or rendering. + +## Usage + +### React / React Native + +```ts +import { useStore } from 'zustand'; +import { createCheckboxStore } from 'gd-design-core/stores'; + +const store = createCheckboxStore({ checked, onValueChange }); +const isChecked = useStore(store, (s) => s.checked); +``` + +### Lit / any vanilla consumer + +```ts +import { createCheckboxStore } from 'gd-design-core/stores'; + +const store = createCheckboxStore({ onValueChange: (checked) => this.dispatchEvent(/* ... */) }); + +connectedCallback() { + super.connectedCallback(); + this._unsubscribe = store.subscribe((state) => this.requestUpdate()); +} +``` + +### Token resolution (any adapter) + +```ts +import { resolveButtonVariantStyle } from 'gd-design-core/tokenResolvers'; + +const style = resolveButtonVariantStyle(theme, 'primary'); +// { container, containerHover, containerActive, containerDisabled, textColor, label } +``` + +## Theme parameter + +Resolvers accept a loosely-typed `DesignCoreTheme` (see `src/types.ts`) — a structural subset of +`gd-design-library`'s theme shape covering only the token paths these 5 atoms' resolvers read +(`colors.*`, `font.*`, `spacing.*`, `radius.*`, `values.*`). This package does not import +`gd-design-library` at runtime, so it stays buildable and testable independently of `libs/ui`; any +object shaped like `gd-design-library`'s `defaultTheme` (or a per-platform equivalent) satisfies it. + +## Status + +Additive, non-breaking scaffolding only. Neither CTORNDSD-581 nor CTORNDSD-590 has started spike code yet +(both still "Not started" per their plans) — this package exists so that when either spike starts, the +shared core is already in place rather than something each spike would otherwise reinvent independently. diff --git a/libs/design-core/eslint.config.mjs b/libs/design-core/eslint.config.mjs new file mode 100644 index 0000000..52f4d79 --- /dev/null +++ b/libs/design-core/eslint.config.mjs @@ -0,0 +1,20 @@ +import baseConfig from '../../eslint.config.mjs'; + +export default [ + ...baseConfig, + { + files: ['**/*.json'], + rules: { + '@nx/dependency-checks': [ + 'error', + { + ignoredFiles: ['{projectRoot}/eslint.config.{js,cjs,mjs}', '{projectRoot}/vite.config.{js,ts,mjs,mts}'], + ignoredDependencies: ['zustand'], + }, + ], + }, + languageOptions: { + parser: await import('jsonc-eslint-parser'), + }, + }, +]; diff --git a/libs/design-core/package.json b/libs/design-core/package.json new file mode 100644 index 0000000..c18fd85 --- /dev/null +++ b/libs/design-core/package.json @@ -0,0 +1,27 @@ +{ + "name": "gd-design-core", + "version": "0.0.1", + "description": "Framework-agnostic core for GridKit: pure token-resolution functions and zustand/vanilla state stores shared by every rendering adapter (React web, Lit/web-components, React Native). See plans/ctorndsd-580-cross-platform-architecture-strategy.md.", + "license": "MIT", + "type": "module", + "main": "./index.js", + "types": "./index.d.ts", + "exports": { + ".": { + "types": "./index.d.ts", + "import": "./index.js" + }, + "./tokenResolvers": { + "types": "./tokenResolvers/index.d.ts", + "import": "./tokenResolvers/index.js" + }, + "./stores": { + "types": "./stores/index.d.ts", + "import": "./stores/index.js" + } + }, + "files": ["**/*"], + "dependencies": { + "zustand": "^5.0.6" + } +} diff --git a/libs/design-core/project.json b/libs/design-core/project.json new file mode 100644 index 0000000..f4326f3 --- /dev/null +++ b/libs/design-core/project.json @@ -0,0 +1,37 @@ +{ + "name": "design-core", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/design-core/src", + "projectType": "library", + "release": { + "version": { + "generatorOptions": { + "packageRoot": "dist/{projectRoot}", + "currentVersionResolver": "git-tag" + } + } + }, + "tags": [], + "targets": { + "build": { + "executor": "@nx/vite:build", + "outputs": ["{options.outputPath}"], + "defaultConfiguration": "production", + "options": { + "outputPath": "dist/libs/design-core" + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/design-core/**/*.ts"] + } + }, + "nx-release-publish": { + "options": { + "packageRoot": "dist/{projectRoot}" + } + } + } +} diff --git a/libs/design-core/src/index.ts b/libs/design-core/src/index.ts new file mode 100644 index 0000000..d9a65d4 --- /dev/null +++ b/libs/design-core/src/index.ts @@ -0,0 +1,3 @@ +export * from './tokenResolvers'; +export * from './stores'; +export type { DesignCoreTheme } from './types'; diff --git a/libs/design-core/src/stores/createCheckboxStore.spec.ts b/libs/design-core/src/stores/createCheckboxStore.spec.ts new file mode 100644 index 0000000..1954cb2 --- /dev/null +++ b/libs/design-core/src/stores/createCheckboxStore.spec.ts @@ -0,0 +1,71 @@ +import { describe, expect, it, vi } from 'vitest'; +import { createCheckboxStore } from './createCheckboxStore'; + +describe('createCheckboxStore', () => { + it('starts uncontrolled and unchecked by default', () => { + const store = createCheckboxStore(); + expect(store.getState().checked).toBe(false); + expect(store.getState().isControlled).toBe(false); + }); + + it('starts controlled when an initial checked value is provided', () => { + const store = createCheckboxStore({ checked: true }); + expect(store.getState().isControlled).toBe(true); + expect(store.getState().checked).toBe(true); + }); + + it('uncontrolled: handleChange updates internal checked state', () => { + const onValueChange = vi.fn(); + const store = createCheckboxStore({ onValueChange }); + store.getState().handleChange(true); + expect(store.getState().checked).toBe(true); + expect(onValueChange).toHaveBeenCalledWith(true); + }); + + it('controlled: handleChange calls back but does not mutate internal checked state', () => { + const onValueChange = vi.fn(); + const store = createCheckboxStore({ checked: false, onValueChange }); + store.getState().handleChange(true); + expect(store.getState().checked).toBe(false); + expect(onValueChange).toHaveBeenCalledWith(true); + }); + + it('syncControlledValue transitions uncontrolled -> controlled and applies the new value', () => { + const store = createCheckboxStore(); + store.getState().syncControlledValue(true); + expect(store.getState().isControlled).toBe(true); + expect(store.getState().checked).toBe(true); + }); + + it('syncControlledValue transitions controlled -> uncontrolled without forcing a value', () => { + const store = createCheckboxStore({ checked: true }); + store.getState().syncControlledValue(undefined); + expect(store.getState().isControlled).toBe(false); + expect(store.getState().checked).toBe(true); // last known value persists + }); + + it('disabled blocks handleChange and toggle', () => { + const onValueChange = vi.fn(); + const store = createCheckboxStore({ disabled: true, onValueChange }); + store.getState().handleChange(true); + store.getState().toggle(); + expect(store.getState().checked).toBe(false); + expect(onValueChange).not.toHaveBeenCalled(); + }); + + it('toggle flips the current checked value', () => { + const store = createCheckboxStore(); + store.getState().toggle(); + expect(store.getState().checked).toBe(true); + store.getState().toggle(); + expect(store.getState().checked).toBe(false); + }); + + it('setIndeterminate and setDisabled update their respective fields', () => { + const store = createCheckboxStore(); + store.getState().setIndeterminate(true); + expect(store.getState().indeterminate).toBe(true); + store.getState().setDisabled(true); + expect(store.getState().disabled).toBe(true); + }); +}); diff --git a/libs/design-core/src/stores/createCheckboxStore.ts b/libs/design-core/src/stores/createCheckboxStore.ts new file mode 100644 index 0000000..50d442f --- /dev/null +++ b/libs/design-core/src/stores/createCheckboxStore.ts @@ -0,0 +1,68 @@ +import { createStore } from 'zustand/vanilla'; + +export interface CheckboxStoreState { + checked: boolean; + indeterminate: boolean; + disabled: boolean; + /** Recomputed on every `syncControlledValue` call, mirroring `Checkbox.tsx`'s `checked !== undefined` check. */ + isControlled: boolean; +} + +export interface CheckboxStoreActions { + /** Call whenever the consumer's `checked` prop changes (including from undefined to defined, or back). */ + syncControlledValue: (checked: boolean | undefined) => void; + setIndeterminate: (indeterminate: boolean) => void; + setDisabled: (disabled: boolean) => void; + /** The adapter's native change event handler funnels into this — see `Checkbox.tsx`'s `onChange`. */ + handleChange: (nextChecked: boolean) => void; + toggle: () => void; +} + +export type CheckboxStore = CheckboxStoreState & CheckboxStoreActions; + +export interface CreateCheckboxStoreOptions { + checked?: boolean; + indeterminate?: boolean; + disabled?: boolean; + onValueChange?: (checked: boolean) => void; +} + +/** + * Extracted from `libs/ui/src/components/atoms/Checkbox/Checkbox.tsx`'s controlled/uncontrolled + * resolution — the one piece of Checkbox's behavior CTORNDSD-580 calls out as cleanly portable. + * `inputRef.current.indeterminate = ...` (a direct DOM-API write) stays in each adapter, since it's + * inherently a rendering concern; this store only tracks the `indeterminate` value itself. + */ +export function createCheckboxStore(options: CreateCheckboxStoreOptions = {}) { + const { checked, indeterminate = false, disabled = false, onValueChange } = options; + + return createStore((set, get) => ({ + checked: checked ?? false, + indeterminate, + disabled, + isControlled: checked !== undefined, + + syncControlledValue: (nextChecked) => { + const isControlled = nextChecked !== undefined; + set(isControlled ? { isControlled, checked: nextChecked } : { isControlled }); + }, + + setIndeterminate: (next) => set({ indeterminate: next }), + setDisabled: (next) => set({ disabled: next }), + + handleChange: (nextChecked) => { + const state = get(); + if (state.disabled) return; + if (!state.isControlled) { + set({ checked: nextChecked }); + } + onValueChange?.(nextChecked); + }, + + toggle: () => { + const state = get(); + if (state.disabled) return; + state.handleChange(!state.checked); + }, + })); +} diff --git a/libs/design-core/src/stores/createInputStore.spec.ts b/libs/design-core/src/stores/createInputStore.spec.ts new file mode 100644 index 0000000..2dce2bc --- /dev/null +++ b/libs/design-core/src/stores/createInputStore.spec.ts @@ -0,0 +1,62 @@ +import { describe, expect, it, vi } from 'vitest'; +import { createInputStore, debounce } from './createInputStore'; + +describe('createInputStore', () => { + it('starts with isMouseInteraction false', () => { + const store = createInputStore(); + expect(store.getState().isMouseInteraction).toBe(false); + }); + + it('registerMouseDown sets isMouseInteraction true', () => { + const store = createInputStore(); + store.getState().registerMouseDown(); + expect(store.getState().isMouseInteraction).toBe(true); + }); + + it('registerKeyDown with TAB resets isMouseInteraction to false', () => { + const store = createInputStore(); + store.getState().registerMouseDown(); + store.getState().registerKeyDown(true); + expect(store.getState().isMouseInteraction).toBe(false); + }); + + it('registerKeyDown with a non-TAB key leaves isMouseInteraction unchanged', () => { + const store = createInputStore(); + store.getState().registerMouseDown(); + store.getState().registerKeyDown(false); + expect(store.getState().isMouseInteraction).toBe(true); + }); + + it('registerBlur resets isMouseInteraction to false', () => { + const store = createInputStore(); + store.getState().registerMouseDown(); + store.getState().registerBlur(); + expect(store.getState().isMouseInteraction).toBe(false); + }); + + it('setDebounceCallbackTime updates the stored value', () => { + const store = createInputStore({ debounceCallbackTime: 100 }); + expect(store.getState().debounceCallbackTime).toBe(100); + store.getState().setDebounceCallbackTime(300); + expect(store.getState().debounceCallbackTime).toBe(300); + }); +}); + +describe('debounce', () => { + it('delays invocation and coalesces rapid calls into one', () => { + vi.useFakeTimers(); + const fn = vi.fn(); + const debounced = debounce(fn, 100); + + debounced('a'); + debounced('b'); + debounced('c'); + expect(fn).not.toHaveBeenCalled(); + + vi.advanceTimersByTime(100); + expect(fn).toHaveBeenCalledTimes(1); + expect(fn).toHaveBeenCalledWith('c'); + + vi.useRealTimers(); + }); +}); diff --git a/libs/design-core/src/stores/createInputStore.ts b/libs/design-core/src/stores/createInputStore.ts new file mode 100644 index 0000000..dd0bc24 --- /dev/null +++ b/libs/design-core/src/stores/createInputStore.ts @@ -0,0 +1,53 @@ +import { createStore } from 'zustand/vanilla'; + +export interface InputStoreState { + /** Tracks whether the last interaction was a mouse click vs. keyboard TAB, for focus-outline styling. */ + isMouseInteraction: boolean; + debounceCallbackTime?: number; +} + +export interface InputStoreActions { + registerMouseDown: () => void; + /** Pass whether the key pressed was TAB — mirrors `useInputHandlers.tsx`'s `KEYBOARD_KEYS.TAB` check. */ + registerKeyDown: (isTabKey: boolean) => void; + registerBlur: () => void; + setDebounceCallbackTime: (ms: number | undefined) => void; +} + +export type InputStore = InputStoreState & InputStoreActions; + +export interface CreateInputStoreOptions { + debounceCallbackTime?: number; +} + +/** + * Extracted from `libs/ui/src/components/atoms/Input/useInputHandlers.tsx`'s + * `isMouseInteraction` tracking. Deliberately does not wrap `onChange`/`onKeyDown` + * callbacks itself (the real hook's `debounce(handleKeyDown, ...)` / `debounce(onChange, ...)` + * calls) since those callback *shapes* are the one confirmed permanent per-platform fork + * (web's `onChange(event)` vs. RN's `onChangeText(text: string)`, per CTORNDSD-590) — + * each adapter wraps its own callback with the `debounce` utility below. + */ +export function createInputStore(options: CreateInputStoreOptions = {}) { + return createStore((set) => ({ + isMouseInteraction: false, + debounceCallbackTime: options.debounceCallbackTime, + + registerMouseDown: () => set({ isMouseInteraction: true }), + registerKeyDown: (isTabKey) => { + if (isTabKey) set({ isMouseInteraction: false }); + }, + registerBlur: () => set({ isMouseInteraction: false }), + setDebounceCallbackTime: (ms) => set({ debounceCallbackTime: ms }), + })); +} + +/** Generic debounce, platform/event-shape agnostic — wraps whatever callback the adapter owns. */ +export function debounce(fn: (...args: Args) => void, waitMs: number) { + let timeoutId: ReturnType | undefined; + + return (...args: Args) => { + if (timeoutId !== undefined) clearTimeout(timeoutId); + timeoutId = setTimeout(() => fn(...args), waitMs); + }; +} diff --git a/libs/design-core/src/stores/createSelectStore.spec.ts b/libs/design-core/src/stores/createSelectStore.spec.ts new file mode 100644 index 0000000..6630fb3 --- /dev/null +++ b/libs/design-core/src/stores/createSelectStore.spec.ts @@ -0,0 +1,117 @@ +import { describe, expect, it } from 'vitest'; +import { createSelectStore, filterSelectOptions, type SelectOption } from './createSelectStore'; + +const apple: SelectOption = { name: 'Apple', value: 'apple' }; +const banana: SelectOption = { name: 'Banana', value: 'banana' }; +const cherry: SelectOption = { name: 'Cherry', value: 'cherry' }; + +describe('createSelectStore', () => { + it('starts closed with no selection by default', () => { + const store = createSelectStore(); + expect(store.getState().isOpen).toBe(false); + expect(store.getState().internalValue).toBeNull(); + }); + + it('open/close/toggle manage isOpen', () => { + const store = createSelectStore(); + store.getState().open(); + expect(store.getState().isOpen).toBe(true); + store.getState().close(); + expect(store.getState().isOpen).toBe(false); + store.getState().toggle(); + expect(store.getState().isOpen).toBe(true); + }); + + it('disabled blocks open and toggle', () => { + const store = createSelectStore({ disabled: true }); + store.getState().open(); + store.getState().toggle(); + expect(store.getState().isOpen).toBe(false); + }); + + it('close resets searchText', () => { + const store = createSelectStore(); + store.getState().setSearchText('app'); + store.getState().close(); + expect(store.getState().searchText).toBe(''); + }); + + describe('single-select', () => { + it('select replaces the value and closes the dropdown', () => { + const store = createSelectStore(); + store.getState().open(); + store.getState().select(apple); + expect(store.getState().internalValue).toEqual(apple); + expect(store.getState().isOpen).toBe(false); + }); + + it('syncExternalValue normalizes a non-array value', () => { + const store = createSelectStore(); + store.getState().syncExternalValue(banana); + expect(store.getState().internalValue).toEqual(banana); + }); + + it('syncExternalValue coerces an array value to null in single mode', () => { + const store = createSelectStore(); + store.getState().syncExternalValue([apple, banana]); + expect(store.getState().internalValue).toBeNull(); + }); + }); + + describe('multi-select', () => { + it('starts with an empty array by default', () => { + const store = createSelectStore({ multiple: true }); + expect(store.getState().internalValue).toEqual([]); + }); + + it('normalizes a single initial value into an array', () => { + const store = createSelectStore({ multiple: true, value: apple }); + expect(store.getState().internalValue).toEqual([apple]); + }); + + it('select adds an unselected option and keeps the dropdown open', () => { + const store = createSelectStore({ multiple: true }); + store.getState().open(); + store.getState().select(apple); + store.getState().select(banana); + expect(store.getState().internalValue).toEqual([apple, banana]); + expect(store.getState().isOpen).toBe(true); + }); + + it('select removes an already-selected option', () => { + const store = createSelectStore({ multiple: true, value: [apple, banana] }); + store.getState().select(apple); + expect(store.getState().internalValue).toEqual([banana]); + }); + + it('respects a custom itemIdentifier', () => { + const store = createSelectStore({ multiple: true, value: [apple] }); + const byName = (selected: SelectOption | null, current: SelectOption) => selected?.name === current.name; + store.getState().select({ name: 'Apple', value: 'a-different-ref' }, byName); + expect(store.getState().internalValue).toEqual([]); + }); + + it('disabled blocks select and returns the unchanged value', () => { + const store = createSelectStore({ multiple: true, disabled: true, value: [apple] }); + const result = store.getState().select(banana); + expect(result).toEqual([apple]); + expect(store.getState().internalValue).toEqual([apple]); + }); + }); +}); + +describe('filterSelectOptions', () => { + const items = [apple, banana, cherry]; + + it('returns all items when searchText is empty', () => { + expect(filterSelectOptions(items, '')).toEqual(items); + }); + + it('filters case-insensitively by the stringifier', () => { + expect(filterSelectOptions(items, 'an')).toEqual([banana]); + }); + + it('returns undefined when items is undefined', () => { + expect(filterSelectOptions(undefined, 'a')).toBeUndefined(); + }); +}); diff --git a/libs/design-core/src/stores/createSelectStore.ts b/libs/design-core/src/stores/createSelectStore.ts new file mode 100644 index 0000000..af2cdb4 --- /dev/null +++ b/libs/design-core/src/stores/createSelectStore.ts @@ -0,0 +1,110 @@ +import { createStore } from 'zustand/vanilla'; + +export interface SelectOption { + name: string; + value?: V; +} + +export type SelectValue = SelectOption | SelectOption[] | null; + +export type SelectItemIdentifier = (selected: SelectOption | null, current: SelectOption) => boolean; + +const defaultItemIdentifier: SelectItemIdentifier = (selected, current) => selected?.value === current.value; + +export interface SelectStoreState { + isOpen: boolean; + internalValue: SelectValue; + searchText: string; + multiple: boolean; + disabled: boolean; +} + +export interface SelectStoreActions { + open: () => void; + close: () => void; + toggle: () => void; + setSearchText: (text: string) => void; + setDisabled: (disabled: boolean) => void; + /** Call when the consumer's external `value` prop changes — mirrors `Select.tsx`'s value-sync effect. */ + syncExternalValue: (value: SelectValue) => void; + /** Mirrors `Select.tsx`'s `_onSelect`: single-select replaces + closes, multi-select toggles membership. */ + select: (option: SelectOption, itemIdentifier?: SelectItemIdentifier) => SelectValue; +} + +export type SelectStore = SelectStoreState & SelectStoreActions; + +export interface CreateSelectStoreOptions { + multiple?: boolean; + disabled?: boolean; + value?: SelectValue; +} + +function normalizeValue(value: SelectValue | undefined, multiple: boolean): SelectValue { + if (multiple) { + return Array.isArray(value) ? value : value ? [value] : []; + } + return Array.isArray(value) ? null : (value ?? null); +} + +/** + * Extracted from `libs/ui/src/components/atoms/Select/Select.tsx`'s open/close, single/multi + * selection, and search-filter state — the highest shared-core-feasibility atom per + * CTORNDSD-580's comparison table. Deliberately excludes dropdown viewport positioning + * (`computePlacement`), portal/outside-click DOM listeners, and keyboard-arrow focus + * traversal (`getClosestFocusable`) — those differ per platform (web overlay positioning + * vs. RN `Modal` chrome) and stay in each adapter. + */ +export function createSelectStore(options: CreateSelectStoreOptions = {}) { + const { multiple = false, disabled = false, value } = options; + + return createStore((set, get) => ({ + isOpen: false, + internalValue: normalizeValue(value, multiple), + searchText: '', + multiple, + disabled, + + open: () => { + if (!get().disabled) set({ isOpen: true }); + }, + close: () => set({ isOpen: false, searchText: '' }), + toggle: () => { + const state = get(); + if (!state.disabled) set({ isOpen: !state.isOpen }); + }, + setSearchText: (text) => set({ searchText: text }), + setDisabled: (next) => set({ disabled: next }), + + syncExternalValue: (nextValue) => { + const state = get(); + set({ internalValue: normalizeValue(nextValue, state.multiple) }); + }, + + select: (option, itemIdentifier = defaultItemIdentifier) => { + const state = get(); + if (state.disabled) return state.internalValue; + + if (state.multiple) { + const current = Array.isArray(state.internalValue) ? state.internalValue : []; + const isSelected = current.some((item) => itemIdentifier(item, option)); + const next = isSelected ? current.filter((item) => !itemIdentifier(item, option)) : [...current, option]; + set({ internalValue: next }); + return next; + } + + set({ internalValue: option, isOpen: false, searchText: '' }); + return option; + }, + })); +} + +/** Mirrors `Select.tsx`'s `filteredItems` derivation for the `searchable` prop. */ +export function filterSelectOptions( + items: T[] | undefined, + searchText: string, + stringifier: (item: T) => string = (item) => item.name +): T[] | undefined { + if (!searchText) return items; + const needle = searchText.toLowerCase(); + return items?.filter((item) => stringifier(item).toLowerCase().includes(needle)); +} diff --git a/libs/design-core/src/stores/index.ts b/libs/design-core/src/stores/index.ts new file mode 100644 index 0000000..bd18989 --- /dev/null +++ b/libs/design-core/src/stores/index.ts @@ -0,0 +1,21 @@ +export { createCheckboxStore } from './createCheckboxStore'; +export type { + CheckboxStore, + CheckboxStoreState, + CheckboxStoreActions, + CreateCheckboxStoreOptions, +} from './createCheckboxStore'; + +export { createInputStore, debounce } from './createInputStore'; +export type { InputStore, InputStoreState, InputStoreActions, CreateInputStoreOptions } from './createInputStore'; + +export { createSelectStore, filterSelectOptions } from './createSelectStore'; +export type { + SelectStore, + SelectStoreState, + SelectStoreActions, + CreateSelectStoreOptions, + SelectOption, + SelectValue, + SelectItemIdentifier, +} from './createSelectStore'; diff --git a/libs/design-core/src/tokenResolvers/button.spec.ts b/libs/design-core/src/tokenResolvers/button.spec.ts new file mode 100644 index 0000000..d6d314c --- /dev/null +++ b/libs/design-core/src/tokenResolvers/button.spec.ts @@ -0,0 +1,60 @@ +import { describe, expect, it } from 'vitest'; +import { resolveButtonVariantStyle } from './button'; +import type { DesignCoreTheme } from '../types'; + +const theme: DesignCoreTheme = { + colors: { + text: { default: '#171717', black: '#000000', primary: '#0a5', secondary: '#05a', disabled: '#a3a3a3' }, + bg: { + fill: { + primary: '#000000', + secondary: '#1a1a1a', + hover: '#f5f5f5', + disabled: '#e0e0e0', + warning: { primary: { default: '#ffb020' } }, + }, + }, + border: { black: '#000000', disabled: '#cccccc' }, + }, + font: { weight: { medium: 500 } }, +}; + +describe('resolveButtonVariantStyle', () => { + it('resolves the primary variant from theme values', () => { + const style = resolveButtonVariantStyle(theme, 'primary'); + expect(style.container).toEqual({ backgroundColor: '#000000', color: '#000000' }); + expect(style.containerHover).toEqual({ backgroundColor: '#1a1a1a' }); + expect(style.containerActive).toEqual({ backgroundColor: '#ffb020' }); + expect(style.containerDisabled).toEqual({ backgroundColor: '#e0e0e0' }); + expect(style.label.fontWeight).toBe(500); + }); + + it('resolves the outlined variant with a border', () => { + const style = resolveButtonVariantStyle(theme, 'outlined'); + expect(style.container.borderColor).toBe('#000000'); + expect(style.container.borderWidth).toBe(1); + expect(style.containerDisabled.borderColor).toBe('#cccccc'); + }); + + it('falls back to primary for an unknown variant', () => { + // @ts-expect-error deliberately passing an invalid variant to exercise the fallback + const style = resolveButtonVariantStyle(theme, 'not-a-real-variant'); + expect(style).toEqual(resolveButtonVariantStyle(theme, 'primary')); + }); + + it('defaults to primary when no variant is passed', () => { + expect(resolveButtonVariantStyle(theme)).toEqual(resolveButtonVariantStyle(theme, 'primary')); + }); + + it('resolves inherit with literal "inherit" values, not theme lookups', () => { + const style = resolveButtonVariantStyle(theme, 'inherit'); + expect(style.textColor).toBe('inherit'); + expect(style.label).toEqual({ color: 'inherit', fontWeight: 'inherit' }); + }); + + it('falls back to hardcoded defaults when theme values are missing', () => { + const style = resolveButtonVariantStyle({}, 'primary'); + expect(style.container.backgroundColor).toBe('#000000'); + expect(style.textColor).toBe('#000000'); + }); +}); diff --git a/libs/design-core/src/tokenResolvers/button.ts b/libs/design-core/src/tokenResolvers/button.ts new file mode 100644 index 0000000..ffe7d91 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/button.ts @@ -0,0 +1,102 @@ +import { get } from '../utils/get'; +import type { DesignCoreTheme } from '../types'; + +/** Mirrors gd-design-library's `ButtonVariant` enum values (libs/ui/src/components/atoms/types). */ +export type ButtonVariantName = 'primary' | 'secondary' | 'tertiary' | 'outlined' | 'text' | 'inherit'; + +export interface ButtonVariantStateStyle { + backgroundColor?: string; + color?: string; + borderColor?: string; +} + +export interface ResolvedButtonStyle { + container: ButtonVariantStateStyle & { borderWidth?: number }; + containerHover: ButtonVariantStateStyle; + containerActive: ButtonVariantStateStyle; + containerDisabled: ButtonVariantStateStyle; + textColor: string; + label: { color: string; fontWeight: string | number }; +} + +const TRANSPARENT = 'transparent'; + +/** + * Pure, platform-neutral resolution of gd-design-library's `button.ts` token file + * (libs/ui/src/tokens/button.ts) into plain state-keyed style objects — no CSS strings, + * no Emotion pseudo-selector keys (`&:hover`), since neither Lit's `css` bridge nor React + * Native's `Pressable`/`StyleSheet` model can consume a pseudo-selector directly. Each + * adapter maps `containerHover`/`containerActive`/`containerDisabled` to its own state + * mechanism (CSS `:hover`/`:active`/`[disabled]` for Lit, `pressed`/`disabled` state + * functions for RN's `Pressable`). + */ +export function resolveButtonVariantStyle( + theme: DesignCoreTheme, + variant: ButtonVariantName = 'primary' +): ResolvedButtonStyle { + const textDefault = get(theme, 'colors.text.default', '#171717'); + const textBlack = get(theme, 'colors.text.black', '#000000'); + const textPrimary = get(theme, 'colors.text.primary', textDefault); + const textSecondary = get(theme, 'colors.text.secondary', textDefault); + const fillPrimary = get(theme, 'colors.bg.fill.primary', '#000000'); + const fillSecondary = get(theme, 'colors.bg.fill.secondary', '#171717'); + const fillHover = get(theme, 'colors.bg.fill.hover', '#f5f5f5'); + const fillDisabled = get(theme, 'colors.bg.fill.disabled', '#e0e0e0'); + const fillWarningPrimary = get(theme, 'colors.bg.fill.warning.primary.default', fillSecondary); + const borderBlack = get(theme, 'colors.border.black', '#000000'); + const borderDisabled = get(theme, 'colors.border.disabled', '#cccccc'); + const fontWeightMedium = get(theme, 'font.weight.medium', 500); + + const variants: Record = { + primary: { + container: { backgroundColor: fillPrimary, color: textBlack }, + containerHover: { backgroundColor: fillSecondary }, + containerActive: { backgroundColor: fillWarningPrimary }, + containerDisabled: { backgroundColor: fillDisabled }, + textColor: textBlack, + label: { color: textBlack, fontWeight: fontWeightMedium }, + }, + secondary: { + container: { backgroundColor: fillHover, color: textDefault }, + containerHover: { backgroundColor: fillPrimary, color: textBlack }, + containerActive: { backgroundColor: fillSecondary, color: textBlack }, + containerDisabled: { backgroundColor: fillDisabled }, + textColor: textDefault, + label: { color: textDefault, fontWeight: fontWeightMedium }, + }, + tertiary: { + container: { backgroundColor: TRANSPARENT, color: textDefault }, + containerHover: { backgroundColor: fillHover }, + containerActive: { backgroundColor: fillPrimary }, + containerDisabled: { backgroundColor: TRANSPARENT }, + textColor: textDefault, + label: { color: textDefault, fontWeight: fontWeightMedium }, + }, + outlined: { + container: { backgroundColor: TRANSPARENT, color: textDefault, borderColor: borderBlack, borderWidth: 1 }, + containerHover: { backgroundColor: fillHover }, + containerActive: { backgroundColor: fillPrimary, color: textBlack }, + containerDisabled: { backgroundColor: TRANSPARENT, borderColor: borderDisabled }, + textColor: textDefault, + label: { color: textDefault, fontWeight: fontWeightMedium }, + }, + text: { + container: { backgroundColor: TRANSPARENT, color: textDefault }, + containerHover: { color: textPrimary }, + containerActive: { color: textSecondary }, + containerDisabled: {}, + textColor: textDefault, + label: { color: textDefault, fontWeight: fontWeightMedium }, + }, + inherit: { + container: { backgroundColor: TRANSPARENT, color: 'inherit' }, + containerHover: {}, + containerActive: {}, + containerDisabled: {}, + textColor: 'inherit', + label: { color: 'inherit', fontWeight: 'inherit' }, + }, + }; + + return variants[variant] ?? variants.primary; +} diff --git a/libs/design-core/src/tokenResolvers/checkbox.spec.ts b/libs/design-core/src/tokenResolvers/checkbox.spec.ts new file mode 100644 index 0000000..925d106 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/checkbox.spec.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from 'vitest'; +import { resolveCheckboxStyle } from './checkbox'; +import type { DesignCoreTheme } from '../types'; + +const theme: DesignCoreTheme = { + colors: { bg: { fill: { primary: '#000000' } }, border: { default: '#cccccc' }, text: { default: '#171717' } }, + values: { borderMedium: '2px' }, + radius: { xs: '2px' }, +}; + +describe('resolveCheckboxStyle', () => { + it('resolves size-specific dimensions for sm', () => { + const style = resolveCheckboxStyle(theme, 'sm'); + expect(style.indicatorSize).toBe(16); + expect(style.iconSize).toBe(10); + }); + + it('resolves size-specific dimensions for md (default)', () => { + const style = resolveCheckboxStyle(theme); + expect(style.indicatorSize).toBe(18); + expect(style.iconSize).toBe(12); + }); + + it('resolves checked and indeterminate to the same fill color', () => { + const style = resolveCheckboxStyle(theme, 'md'); + expect(style.indicatorChecked).toEqual({ backgroundColor: '#000000', borderColor: '#000000' }); + expect(style.indicatorIndeterminate).toEqual({ backgroundColor: '#000000', borderColor: '#000000' }); + }); + + it('resolves the default (unchecked) indicator border/radius from theme', () => { + const style = resolveCheckboxStyle(theme, 'md'); + expect(style.indicatorDefault.borderColor).toBe('#cccccc'); + expect(style.indicatorDefault.borderWidth).toBe('2px'); + expect(style.indicatorDefault.borderRadius).toBe('2px'); + expect(style.indicatorDefault.backgroundColor).toBe('transparent'); + }); +}); diff --git a/libs/design-core/src/tokenResolvers/checkbox.ts b/libs/design-core/src/tokenResolvers/checkbox.ts new file mode 100644 index 0000000..4e8c87d --- /dev/null +++ b/libs/design-core/src/tokenResolvers/checkbox.ts @@ -0,0 +1,50 @@ +import { get } from '../utils/get'; +import type { DesignCoreTheme } from '../types'; + +/** Mirrors gd-design-library's `CheckboxSize` (libs/ui/src/components/atoms/Checkbox/Checkbox.types.ts). */ +export type CheckboxSizeName = 'sm' | 'md'; + +export interface ResolvedCheckboxStyle { + indicatorSize: number; + iconSize: number; + indicatorDefault: { + borderWidth: string | number; + borderColor: string; + backgroundColor: string; + borderRadius: string | number; + }; + indicatorChecked: { backgroundColor: string; borderColor: string }; + indicatorIndeterminate: { backgroundColor: string; borderColor: string }; + labelColor: string; +} + +/** Matches libs/ui/src/tokens/checkbox.ts `size` scale (px box size + icon size). */ +const SIZE_PX: Record = { + sm: { box: 16, icon: 10 }, + md: { box: 18, icon: 12 }, +}; + +export function resolveCheckboxStyle(theme: DesignCoreTheme, size: CheckboxSizeName = 'md'): ResolvedCheckboxStyle { + const { box, icon } = SIZE_PX[size] ?? SIZE_PX.md; + const fillPrimary = get(theme, 'colors.bg.fill.primary', '#000000'); + + return { + indicatorSize: box, + iconSize: icon, + indicatorDefault: { + borderWidth: get(theme, 'values.borderMedium', 2), + borderColor: get(theme, 'colors.border.default', '#cccccc'), + backgroundColor: 'transparent', + borderRadius: get(theme, 'radius.xs', 2), + }, + indicatorChecked: { + backgroundColor: fillPrimary, + borderColor: fillPrimary, + }, + indicatorIndeterminate: { + backgroundColor: fillPrimary, + borderColor: fillPrimary, + }, + labelColor: get(theme, 'colors.text.default', '#171717'), + }; +} diff --git a/libs/design-core/src/tokenResolvers/index.ts b/libs/design-core/src/tokenResolvers/index.ts new file mode 100644 index 0000000..89ba485 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/index.ts @@ -0,0 +1,14 @@ +export { resolveButtonVariantStyle } from './button'; +export type { ButtonVariantName, ResolvedButtonStyle, ButtonVariantStateStyle } from './button'; + +export { resolveTypographyStyle } from './typography'; +export type { TypographyVariantName, TypographyStyleVariantName, ResolvedTypographyStyle } from './typography'; + +export { resolveCheckboxStyle } from './checkbox'; +export type { CheckboxSizeName, ResolvedCheckboxStyle } from './checkbox'; + +export { resolveInputStyle, COLOR_VARIANT_BORDER_PATH } from './input'; +export type { InputColorVariantName, ResolvedInputStyle } from './input'; + +export { resolveSelectStyle } from './select'; +export type { ResolvedSelectStyle } from './select'; diff --git a/libs/design-core/src/tokenResolvers/input.spec.ts b/libs/design-core/src/tokenResolvers/input.spec.ts new file mode 100644 index 0000000..2a16bd8 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/input.spec.ts @@ -0,0 +1,36 @@ +import { describe, expect, it } from 'vitest'; +import { resolveInputStyle } from './input'; +import type { DesignCoreTheme } from '../types'; + +const theme: DesignCoreTheme = { + font: { family: 'Fira Sans', size: { p: '16px' } }, + colors: { + text: { default: '#171717', disabled: '#a3a3a3' }, + border: { default: '#cccccc', success: '#0a5', primary: '#000000', error: '#d33' }, + }, + values: { borderThin: '1px' }, +}; + +describe('resolveInputStyle', () => { + it('resolves the default color variant', () => { + const style = resolveInputStyle(theme); + expect(style.borderColor).toBe('#cccccc'); + }); + + it.each([ + ['success', '#0a5'], + ['primary', '#000000'], + ['error', '#d33'], + ] as const)('resolves the %s color variant border', (color, expected) => { + expect(resolveInputStyle(theme, color).borderColor).toBe(expected); + }); + + it('resolves shared typography/border values regardless of color', () => { + const style = resolveInputStyle(theme, 'error'); + expect(style.fontFamily).toBe('Fira Sans'); + expect(style.fontSize).toBe('16px'); + expect(style.borderWidth).toBe('1px'); + expect(style.color).toBe('#171717'); + expect(style.disabledColor).toBe('#a3a3a3'); + }); +}); diff --git a/libs/design-core/src/tokenResolvers/input.ts b/libs/design-core/src/tokenResolvers/input.ts new file mode 100644 index 0000000..307e552 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/input.ts @@ -0,0 +1,41 @@ +import { get } from '../utils/get'; +import type { DesignCoreTheme } from '../types'; + +/** Mirrors gd-design-library's `InputColorVariant` (colors.border.{default,success,primary,error}). */ +export type InputColorVariantName = 'default' | 'success' | 'primary' | 'error'; + +export interface ResolvedInputStyle { + fontFamily: string | number; + fontSize: string | number; + color: string; + disabledColor: string; + borderWidth: string | number; + borderColor: string; +} + +export const COLOR_VARIANT_BORDER_PATH: Record = { + default: 'colors.border.default', + success: 'colors.border.success', + primary: 'colors.border.primary', + error: 'colors.border.error', +}; + +/** + * Resolves libs/ui/src/tokens/input.ts's color-variant border + base typography values. + * The debounce/interaction-tracking behavior that gives Input its real portability value + * lives in `stores/createInputStore.ts`, not here — this resolver only covers the static + * style values every adapter needs regardless of interaction state. + */ +export function resolveInputStyle( + theme: DesignCoreTheme, + color: InputColorVariantName = 'default' +): ResolvedInputStyle { + return { + fontFamily: get(theme, 'font.family', 'inherit'), + fontSize: get(theme, 'font.size.p', 'inherit'), + color: get(theme, 'colors.text.default', '#171717'), + disabledColor: get(theme, 'colors.text.disabled', '#a3a3a3'), + borderWidth: get(theme, 'values.borderThin', 1), + borderColor: get(theme, COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.default, '#cccccc'), + }; +} diff --git a/libs/design-core/src/tokenResolvers/select.spec.ts b/libs/design-core/src/tokenResolvers/select.spec.ts new file mode 100644 index 0000000..cfdea4b --- /dev/null +++ b/libs/design-core/src/tokenResolvers/select.spec.ts @@ -0,0 +1,33 @@ +import { describe, expect, it } from 'vitest'; +import { resolveSelectStyle } from './select'; +import type { DesignCoreTheme } from '../types'; + +const theme: DesignCoreTheme = { + font: { family: 'Fira Sans', size: { p: '16px' }, weight: { normal: 400 } }, + colors: { + text: { default: '#171717' }, + bg: { surface: '#ffffff', fill: { hover: '#f5f5f5' } }, + border: { default: '#cccccc', primary: '#000000' }, + }, + values: { borderThin: '1px' }, +}; + +describe('resolveSelectStyle', () => { + it('resolves default color-variant border and surface values', () => { + const style = resolveSelectStyle(theme); + expect(style.borderColor).toBe('#cccccc'); + expect(style.surfaceColor).toBe('#ffffff'); + expect(style.hoverBackgroundColor).toBe('#f5f5f5'); + }); + + it('resolves a non-default color variant border', () => { + expect(resolveSelectStyle(theme, 'primary').borderColor).toBe('#000000'); + }); + + it('resolves shared typography values', () => { + const style = resolveSelectStyle(theme); + expect(style.fontFamily).toBe('Fira Sans'); + expect(style.fontSize).toBe('16px'); + expect(style.fontWeight).toBe(400); + }); +}); diff --git a/libs/design-core/src/tokenResolvers/select.ts b/libs/design-core/src/tokenResolvers/select.ts new file mode 100644 index 0000000..666fa57 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/select.ts @@ -0,0 +1,38 @@ +import { get } from '../utils/get'; +import type { DesignCoreTheme } from '../types'; +import { COLOR_VARIANT_BORDER_PATH, type InputColorVariantName } from './input'; + +export interface ResolvedSelectStyle { + fontFamily: string | number; + fontSize: string | number; + fontWeight: string | number; + color: string; + surfaceColor: string; + borderWidth: string | number; + borderColor: string; + hoverBackgroundColor: string; +} + +/** + * Resolves libs/ui/src/tokens/select.ts's color-variant border + surface/typography + * values (Select reuses the same `default`/`success`/`primary`/`error` color-variant + * scale as Input). The open/close/selection/search behavior that makes Select the + * highest shared-core-feasibility atom lives in `stores/createSelectStore.ts` — dropdown + * viewport positioning, portal rendering, and keyboard-arrow DOM focus traversal stay in + * each platform's own adapter, since those are genuinely rendering-specific. + */ +export function resolveSelectStyle( + theme: DesignCoreTheme, + color: InputColorVariantName = 'default' +): ResolvedSelectStyle { + return { + fontFamily: get(theme, 'font.family', 'inherit'), + fontSize: get(theme, 'font.size.p', 'inherit'), + fontWeight: get(theme, 'font.weight.normal', 400), + color: get(theme, 'colors.text.default', '#171717'), + surfaceColor: get(theme, 'colors.bg.surface', '#ffffff'), + borderWidth: get(theme, 'values.borderThin', 1), + borderColor: get(theme, COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.default, '#cccccc'), + hoverBackgroundColor: get(theme, 'colors.bg.fill.hover', '#f5f5f5'), + }; +} diff --git a/libs/design-core/src/tokenResolvers/typography.spec.ts b/libs/design-core/src/tokenResolvers/typography.spec.ts new file mode 100644 index 0000000..4ea0b05 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/typography.spec.ts @@ -0,0 +1,52 @@ +import { describe, expect, it } from 'vitest'; +import { resolveTypographyStyle } from './typography'; +import type { DesignCoreTheme } from '../types'; + +const theme: DesignCoreTheme = { + font: { + family: 'Fira Sans', + weight: { light: 300, normal: 400, medium: 500, bold: 700 }, + size: { h1: '48px', p: '16px', small: '12px' }, + line: { height: { h1: '56px', p: '24px', small: '16px' } }, + }, +}; + +describe('resolveTypographyStyle', () => { + it('resolves span as fully-inherited values', () => { + const style = resolveTypographyStyle(theme, 'span'); + expect(style).toEqual({ + fontFamily: 'Fira Sans', + fontSize: 'inherit', + fontWeight: 'inherit', + lineHeight: 'inherit', + }); + }); + + it('resolves h1 from the font scale', () => { + const style = resolveTypographyStyle(theme, 'h1'); + expect(style.fontSize).toBe('48px'); + expect(style.lineHeight).toBe('56px'); + expect(style.fontWeight).toBe(400); + }); + + it('overlays a single styleVariant', () => { + const style = resolveTypographyStyle(theme, 'p', 'bold'); + expect(style.fontWeight).toBe(700); + }); + + it('overlays multiple styleVariants in order', () => { + const style = resolveTypographyStyle(theme, 'p', ['bold', 'uppercase', 'underline']); + expect(style.fontWeight).toBe(700); + expect(style.textTransform).toBe('uppercase'); + expect(style.textDecoration).toBe('underline'); + }); + + it('the "small" styleVariant overrides fontSize independent of variant', () => { + const style = resolveTypographyStyle(theme, 'h1', 'small'); + expect(style.fontSize).toBe('12px'); + }); + + it('defaults to span when no variant is passed', () => { + expect(resolveTypographyStyle(theme)).toEqual(resolveTypographyStyle(theme, 'span')); + }); +}); diff --git a/libs/design-core/src/tokenResolvers/typography.ts b/libs/design-core/src/tokenResolvers/typography.ts new file mode 100644 index 0000000..043eb83 --- /dev/null +++ b/libs/design-core/src/tokenResolvers/typography.ts @@ -0,0 +1,112 @@ +import { get } from '../utils/get'; +import type { DesignCoreTheme } from '../types'; + +/** Mirrors gd-design-library's `TypographyVariant` values that resolve to a real scale entry. */ +export type TypographyVariantName = + | 'span' + | 'h1' + | 'h2' + | 'h3' + | 'h4' + | 'h5' + | 'h6' + | 'p' + | 'small' + | 'caption' + | 'header' + | 'code' + | 'kbd'; + +export type TypographyStyleVariantName = + | 'light' + | 'normal' + | 'semibold' + | 'bold' + | 'italic' + | 'small' + | 'uppercase' + | 'lowercase' + | 'underline' + | 'strike'; + +export interface ResolvedTypographyStyle { + fontFamily: string | number; + fontSize?: string | number; + fontWeight?: string | number; + lineHeight?: string | number; + fontStyle?: string; + textTransform?: string; + textDecoration?: string; +} + +const MONOSPACE_VARIANTS: ReadonlySet = new Set(['code', 'kbd']); + +/** + * Pure resolution of gd-design-library's `typography.ts` token file + * (libs/ui/src/tokens/typography.ts): a variant resolves the base font metrics, an + * optional styleVariant (or list of them) overlays weight/transform/decoration on top — + * mirroring `Typography.tsx`'s `variant`/`styleVariant` props, minus the DOM-tag + * polymorphism (`as`), which per CTORNDSD-580's Typography finding has no portable + * equivalent across Lit (fixed outer custom-element tag) or React Native (`Text` only). + */ +export function resolveTypographyStyle( + theme: DesignCoreTheme, + variant: TypographyVariantName = 'span', + styleVariant?: TypographyStyleVariantName | TypographyStyleVariantName[] +): ResolvedTypographyStyle { + const fontFamily = get(theme, 'font.family', 'inherit'); + const style: ResolvedTypographyStyle = { fontFamily }; + + if (variant === 'span') { + style.fontSize = 'inherit'; + style.fontWeight = 'inherit'; + style.lineHeight = 'inherit'; + } else { + style.fontSize = get(theme, `font.size.${variant}`, undefined); + style.lineHeight = get(theme, `font.line.height.${variant}`, undefined); + style.fontWeight = get(theme, 'font.weight.normal', 400); + } + + if (MONOSPACE_VARIANTS.has(variant)) { + style.fontFamily = get(theme, 'font.family.code', fontFamily); + } + + const styleVariants = Array.isArray(styleVariant) ? styleVariant : styleVariant ? [styleVariant] : []; + + for (const sv of styleVariants) { + switch (sv) { + case 'light': + style.fontWeight = get(theme, 'font.weight.light', style.fontWeight); + break; + case 'normal': + style.fontWeight = get(theme, 'font.weight.normal', style.fontWeight); + break; + case 'semibold': + style.fontWeight = get(theme, 'font.weight.medium', style.fontWeight); + break; + case 'bold': + style.fontWeight = get(theme, 'font.weight.bold', style.fontWeight); + break; + case 'italic': + style.fontStyle = 'italic'; + break; + case 'small': + style.fontSize = get(theme, 'font.size.small', style.fontSize); + break; + case 'uppercase': + style.textTransform = 'uppercase'; + break; + case 'lowercase': + style.textTransform = 'lowercase'; + break; + case 'underline': + style.textDecoration = 'underline'; + break; + case 'strike': + style.textDecoration = 'line-through'; + break; + } + } + + return style; +} diff --git a/libs/design-core/src/types.ts b/libs/design-core/src/types.ts new file mode 100644 index 0000000..d9b63d1 --- /dev/null +++ b/libs/design-core/src/types.ts @@ -0,0 +1,15 @@ +/** + * Structural subset of gd-design-library's theme shape, covering only the token paths + * this package's resolvers read (colors.*, font.*, spacing.*, radius.*, values.*). + * Intentionally loose rather than a nominal import of gd-design-library's Theme type — + * see README "Theme parameter" for why. Any object shaped like gd-design-library's + * `defaultTheme` (or a per-platform equivalent) satisfies this. + */ +export interface DesignCoreTheme { + colors?: Record; + font?: Record; + spacing?: Record; + radius?: Record; + values?: Record; + [key: string]: unknown; +} diff --git a/libs/design-core/src/utils/get.spec.ts b/libs/design-core/src/utils/get.spec.ts new file mode 100644 index 0000000..d10f41e --- /dev/null +++ b/libs/design-core/src/utils/get.spec.ts @@ -0,0 +1,27 @@ +import { describe, expect, it } from 'vitest'; +import { get } from './get'; + +describe('get', () => { + it('resolves a dotted path', () => { + expect(get({ colors: { text: { default: '#171717' } } }, 'colors.text.default', 'fallback')).toBe('#171717'); + }); + + it('resolves an array-form path', () => { + expect(get({ a: { b: 1 } }, ['a', 'b'], 0)).toBe(1); + }); + + it('returns the fallback when a segment is missing', () => { + expect(get({ colors: {} }, 'colors.text.default', 'fallback')).toBe('fallback'); + }); + + it('returns the fallback when the source is not an object', () => { + expect(get(null, 'a.b', 'fallback')).toBe('fallback'); + expect(get(undefined, 'a.b', 'fallback')).toBe('fallback'); + expect(get('string', 'a.b', 'fallback')).toBe('fallback'); + }); + + it('returns a falsy resolved value rather than the fallback', () => { + expect(get({ a: 0 }, 'a', 99)).toBe(0); + expect(get({ a: false }, 'a', true)).toBe(false); + }); +}); diff --git a/libs/design-core/src/utils/get.ts b/libs/design-core/src/utils/get.ts new file mode 100644 index 0000000..fce2614 --- /dev/null +++ b/libs/design-core/src/utils/get.ts @@ -0,0 +1,18 @@ +/** + * Minimal, dependency-free nested-path getter. Kept local (rather than importing + * gd-design-library's `@utils/get`) so this package has zero runtime dependency on + * gd-design-library — see README "Theme parameter". + */ +export function get(source: unknown, path: string | string[], fallback: T): T { + const segments = Array.isArray(path) ? path : path.split('.'); + let current: unknown = source; + + for (const segment of segments) { + if (current === null || typeof current !== 'object') { + return fallback; + } + current = (current as Record)[segment]; + } + + return current === undefined ? fallback : (current as T); +} diff --git a/libs/design-core/tsconfig.json b/libs/design-core/tsconfig.json new file mode 100644 index 0000000..a0577d4 --- /dev/null +++ b/libs/design-core/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "forceConsistentCasingInFileNames": true, + "strict": true, + "importHelpers": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/design-core/tsconfig.lib.json b/libs/design-core/tsconfig.lib.json new file mode 100644 index 0000000..da67934 --- /dev/null +++ b/libs/design-core/tsconfig.lib.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "types": ["node"], + "composite": true, + "baseUrl": "." + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "vitest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/design-core/tsconfig.spec.json b/libs/design-core/tsconfig.spec.json new file mode 100644 index 0000000..87ddc60 --- /dev/null +++ b/libs/design-core/tsconfig.spec.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["vitest/globals", "node"] + }, + "include": ["src/**/*.spec.ts", "src/**/*.test.ts", "vitest.config.ts"] +} diff --git a/libs/design-core/vite.config.ts b/libs/design-core/vite.config.ts new file mode 100644 index 0000000..17d799c --- /dev/null +++ b/libs/design-core/vite.config.ts @@ -0,0 +1,46 @@ +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; +import * as path from 'path'; +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/design-core', + plugins: [ + nxViteTsPaths(), + nxCopyAssetsPlugin(['*.md']), + dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') }), + ], + build: { + outDir: '../../dist/libs/design-core', + emptyOutDir: true, + reportCompressedSize: true, + commonjsOptions: { + transformMixedEsModules: true, + }, + lib: { + entry: { + index: 'src/index.ts', + 'tokenResolvers/index': 'src/tokenResolvers/index.ts', + 'stores/index': 'src/stores/index.ts', + }, + name: 'design-core', + formats: ['es'], + }, + rollupOptions: { + external: ['zustand', 'zustand/vanilla'], + output: { + preserveModules: true, + preserveModulesRoot: 'src', + }, + treeshake: { + moduleSideEffects: false, + propertyReadSideEffects: false, + }, + }, + }, + optimizeDeps: { + include: ['zustand'], + }, +}); diff --git a/libs/design-core/vitest.config.ts b/libs/design-core/vitest.config.ts new file mode 100644 index 0000000..426f61a --- /dev/null +++ b/libs/design-core/vitest.config.ts @@ -0,0 +1,15 @@ +/// +import { defineConfig } from 'vite'; +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/design-core', + plugins: [nxViteTsPaths()], + test: { + globals: true, + environment: 'node', + include: ['src/**/*.{spec,test}.ts'], + reporters: ['default'], + }, +}); diff --git a/libs/spike-web-components/README.md b/libs/spike-web-components/README.md new file mode 100644 index 0000000..00cc546 --- /dev/null +++ b/libs/spike-web-components/README.md @@ -0,0 +1,20 @@ +# spike-web-components (CTORNDSD-581) + +Disposable Lit/web-components PoC package. See `plans/ctorndsd-581-lit-webcomponents-spike.md` for the +full scope, Ordered Work, and worked Migration Examples this package executes against. + +`gd-button` (`src/components/gd-button/`) is seeded here as a working smoke test proving the platform +builds and consumes `gd-design-core`'s `resolveButtonVariantStyle` — it is **not** the full spike. The +remaining 4 atoms (`Checkbox`, `Typography`, `Input`, `Select`) and the CTORNDSD-286 Shadow DOM +reproduction, SSR/DSD check, and bundle-size measurement are the spike's own execution work per its plan. + +Never published — `private: true`. Not part of any `build:*`/`publish:*` root script; run its own Nx +targets directly (`nx build spike-web-components`, `nx lint spike-web-components`). + +## Parallel-safety with CTORNDSD-590 + +This package is the **only** one of the two spike platforms that touches shared root config (one line in +`package.json`'s `workspaces` array). `spike-react-native` (CTORNDSD-590) is deliberately kept fully +standalone, outside npm workspaces — see its own README — so the two spikes never edit the same shared +file and can be executed independently (parallel branches/worktrees, or two engineers) with no merge +conflicts between them. diff --git a/libs/spike-web-components/eslint.config.mjs b/libs/spike-web-components/eslint.config.mjs new file mode 100644 index 0000000..8f537e9 --- /dev/null +++ b/libs/spike-web-components/eslint.config.mjs @@ -0,0 +1,20 @@ +import baseConfig from '../../eslint.config.mjs'; + +export default [ + ...baseConfig, + { + files: ['**/*.json'], + rules: { + '@nx/dependency-checks': [ + 'error', + { + ignoredFiles: ['{projectRoot}/eslint.config.{js,cjs,mjs}', '{projectRoot}/vite.config.{js,ts,mjs,mts}'], + ignoredDependencies: ['lit', 'gd-design-core', '@lit/react'], + }, + ], + }, + languageOptions: { + parser: await import('jsonc-eslint-parser'), + }, + }, +]; diff --git a/libs/spike-web-components/harness/GdButtonReact.tsx b/libs/spike-web-components/harness/GdButtonReact.tsx new file mode 100644 index 0000000..62e1817 --- /dev/null +++ b/libs/spike-web-components/harness/GdButtonReact.tsx @@ -0,0 +1,14 @@ +import { createComponent } from '@lit/react'; +import * as React from 'react'; +import { GdButton as GdButtonElement } from '../src/components/gd-button/gd-button'; + +/** + * React consumption harness per CTORNDSD-581's Scope — proves `gd-button` is usable from React via + * `@lit/react`'s `createComponent()` (React 18 path). React 19 can also consume `` directly + * as a native custom element without this wrapper; both paths are named in the spike's Migration Example. + */ +export const GdButton = createComponent({ + tagName: 'gd-button', + elementClass: GdButtonElement, + react: React, +}); diff --git a/libs/spike-web-components/package.json b/libs/spike-web-components/package.json new file mode 100644 index 0000000..f42e61e --- /dev/null +++ b/libs/spike-web-components/package.json @@ -0,0 +1,17 @@ +{ + "name": "spike-web-components", + "version": "0.0.0", + "private": true, + "description": "CTORNDSD-581 spike: disposable Lit/web-components PoC for gd-design-library's atoms. Not published. See plans/ctorndsd-581-lit-webcomponents-spike.md.", + "type": "module", + "main": "./index.js", + "types": "./index.d.ts", + "dependencies": { + "lit": "^3.2.1", + "gd-design-core": "*" + }, + "devDependencies": { + "@lit/react": "^1.0.7", + "react": "^18.3.1" + } +} diff --git a/libs/spike-web-components/project.json b/libs/spike-web-components/project.json new file mode 100644 index 0000000..d628857 --- /dev/null +++ b/libs/spike-web-components/project.json @@ -0,0 +1,24 @@ +{ + "name": "spike-web-components", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/spike-web-components/src", + "projectType": "library", + "tags": ["spike", "scope:ctorndsd-581"], + "targets": { + "build": { + "executor": "@nx/vite:build", + "outputs": ["{options.outputPath}"], + "defaultConfiguration": "production", + "options": { + "outputPath": "dist/libs/spike-web-components" + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/spike-web-components/**/*.ts"] + } + } + } +} diff --git a/libs/spike-web-components/src/components/gd-button/gd-button.ts b/libs/spike-web-components/src/components/gd-button/gd-button.ts new file mode 100644 index 0000000..8fe929f --- /dev/null +++ b/libs/spike-web-components/src/components/gd-button/gd-button.ts @@ -0,0 +1,80 @@ +import { LitElement, html, css, nothing } from 'lit'; +import { customElement, property, state } from 'lit/decorators.js'; +import { styleMap } from 'lit/directives/style-map.js'; +import { resolveButtonVariantStyle, type ButtonVariantName, type DesignCoreTheme } from 'gd-design-core'; + +/** + * CTORNDSD-581 Button port (per the spike plan's Migration Example) — the platform's smoke test. + * Consumes gd-design-core's `resolveButtonVariantStyle` for the same token-resolved values the + * React and React Native adapters use, mapping its state-keyed style objects (`container`, + * `containerHover`, `containerActive`, `containerDisabled`) onto host `@state` flags instead of + * CSS pseudo-classes, since the resolver is deliberately pseudo-selector-free (see gd-design-core's + * README). A real theme should be supplied via the `theme` property; falls back to + * `resolveButtonVariantStyle`'s own hardcoded defaults when omitted, so this renders standalone. + */ +@customElement('gd-button') +export class GdButton extends LitElement { + static styles = css` + :host { + display: inline-block; + } + button { + font-family: inherit; + border: none; + border-radius: 4px; + cursor: pointer; + display: inline-flex; + align-items: center; + gap: 8px; + padding: 8px 16px; + } + button[disabled] { + cursor: default; + } + `; + + @property({ type: String }) variant: ButtonVariantName = 'primary'; + @property({ type: Boolean, reflect: true }) disabled = false; + @property({ type: Boolean }) isLoading = false; + @property({ attribute: false }) theme: DesignCoreTheme = {}; + + @state() private _hovered = false; + @state() private _pressed = false; + + render() { + const resolved = resolveButtonVariantStyle(this.theme, this.variant); + const isDisabled = this.disabled || this.isLoading; + + const containerStyle = { + ...resolved.container, + ...(this._hovered && !isDisabled ? resolved.containerHover : {}), + ...(this._pressed && !isDisabled ? resolved.containerActive : {}), + ...(isDisabled ? resolved.containerDisabled : {}), + }; + + return html` + + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + 'gd-button': GdButton; + } +} diff --git a/libs/spike-web-components/src/index.ts b/libs/spike-web-components/src/index.ts new file mode 100644 index 0000000..667d50d --- /dev/null +++ b/libs/spike-web-components/src/index.ts @@ -0,0 +1 @@ +export { GdButton } from './components/gd-button/gd-button'; diff --git a/libs/spike-web-components/tsconfig.harness.json b/libs/spike-web-components/tsconfig.harness.json new file mode 100644 index 0000000..c82878f --- /dev/null +++ b/libs/spike-web-components/tsconfig.harness.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "noEmit": true, + "types": ["node"] + }, + "include": ["harness/**/*.tsx"] +} diff --git a/libs/spike-web-components/tsconfig.json b/libs/spike-web-components/tsconfig.json new file mode 100644 index 0000000..5de9da5 --- /dev/null +++ b/libs/spike-web-components/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "forceConsistentCasingInFileNames": true, + "strict": true, + "useDefineForClassFields": false + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/libs/spike-web-components/tsconfig.lib.json b/libs/spike-web-components/tsconfig.lib.json new file mode 100644 index 0000000..84676e6 --- /dev/null +++ b/libs/spike-web-components/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "exclude": ["vite.config.ts", "src/**/*.spec.ts"] +} diff --git a/libs/spike-web-components/vite.config.ts b/libs/spike-web-components/vite.config.ts new file mode 100644 index 0000000..28e276c --- /dev/null +++ b/libs/spike-web-components/vite.config.ts @@ -0,0 +1,27 @@ +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; +import * as path from 'path'; +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../../node_modules/.vite/libs/spike-web-components', + plugins: [nxViteTsPaths(), dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })], + build: { + outDir: '../../dist/libs/spike-web-components', + emptyOutDir: true, + reportCompressedSize: true, + lib: { + entry: 'src/index.ts', + name: 'spike-web-components', + formats: ['es'], + }, + rollupOptions: { + external: [/^lit(\/.*)?$/, /^gd-design-core(\/.*)?$/], + output: { + preserveModules: true, + preserveModulesRoot: 'src', + }, + }, + }, +}); diff --git a/package-lock.json b/package-lock.json index c2ae1bc..67bb099 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "license": "MIT", "workspaces": [ "libs/ui", + "libs/design-core", + "libs/spike-web-components", "libs/form-configurator/core", "libs/form-configurator/adapter-react" ], @@ -131,10 +133,18 @@ "npm": ">=9.8.1" } }, + "libs/design-core": { + "name": "gd-design-core", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "zustand": "^5.0.6" + } + }, "libs/form-configurator/adapter-react": { "name": "gd-form-configurator-react", "version": "0.0.12", - "license": "Private", + "license": "MIT", "dependencies": { "ajv": "^8.17.1", "ajv-formats": "^3.0.1", @@ -1365,7 +1375,7 @@ "libs/form-configurator/core": { "name": "gd-form-configurator", "version": "0.0.9", - "license": "Private", + "license": "MIT", "dependencies": { "ajv": "^8.17.1", "ajv-formats": "^3.0.1", @@ -2789,6 +2799,17 @@ "node": ">=14.17" } }, + "libs/spike-web-components": { + "version": "0.0.0", + "dependencies": { + "gd-design-core": "*", + "lit": "^3.2.1" + }, + "devDependencies": { + "@lit/react": "^1.0.7", + "react": "^18.3.1" + } + }, "libs/ui": { "name": "gd-design-library", "version": "1.8.3", @@ -7266,6 +7287,31 @@ "dev": true, "license": "MIT" }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.6.0.tgz", + "integrity": "sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit/react": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.8.tgz", + "integrity": "sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==", + "dev": true, + "license": "BSD-3-Clause", + "peerDependencies": { + "@types/react": "17 || 18 || 19" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0" + } + }, "node_modules/@loaderkit/resolve": { "version": "1.0.6", "dev": true, @@ -16163,6 +16209,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, "node_modules/@types/unist": { "version": "3.0.3", "dev": true, @@ -24262,6 +24314,10 @@ "url": "https://github.com/sponsors/krisk" } }, + "node_modules/gd-design-core": { + "resolved": "libs/design-core", + "link": true + }, "node_modules/gd-design-library": { "resolved": "libs/ui", "link": true @@ -28794,6 +28850,37 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/lit": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.3.tgz", + "integrity": "sha512-fycuvZg/hkpozL00lm1pEJH5nN/lr9ZXd6mJI2HSN4+Bzc+LDNdEApJ6HFbPkdFNHLvOplIIuJvxkS4XUxqirw==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.1.0", + "lit-element": "^4.2.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-element": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.5.0", + "@lit/reactive-element": "^2.1.0", + "lit-html": "^3.3.0" + } + }, + "node_modules/lit-html": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.3.tgz", + "integrity": "sha512-el8M6jK2o3RXBnrSHX3ZKrsN8zEV63pSExTO1wYJz7QndGYZ8353e2a5PPX+qHe2aGayfnchQmkAojaWAREOIA==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/loader-runner": { "version": "4.3.2", "dev": true, @@ -34370,6 +34457,10 @@ "source-map": "^0.6.0" } }, + "node_modules/spike-web-components": { + "resolved": "libs/spike-web-components", + "link": true + }, "node_modules/split2": { "version": "4.2.0", "dev": true, diff --git a/package.json b/package.json index c436701..b5d6813 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,11 @@ "test:ai": "nx test ui --run src/ai/__tests__", "test:ai:watch": "nx test ui src/ai/__tests__", "test:form-configurator": "nx run-many --target=test --projects=form-configurator-core,form-configurator-adapter-react --coverage --watch=false", + "test:design-core": "vitest --config=libs/design-core/vitest.config.ts --run", "type-check": "nx run-many --target=typecheck --projects=ui", + "type-check:design-core": "tsc -p libs/design-core/tsconfig.lib.json --noEmit", + "type-check:spike-web-components": "tsc -p libs/spike-web-components/tsconfig.lib.json --noEmit && tsc -p libs/spike-web-components/tsconfig.harness.json", + "build:spike-web-components": "npm run type-check:spike-web-components && nx lint spike-web-components && nx build spike-web-components", "update-readme-stats": "node libs/ui/scripts/update-readme-stats.mjs", "check:readme-stats": "node libs/ui/scripts/update-readme-stats.mjs --check", "verify:ui:run": "concurrently --group --kill-others-on-fail=false --names=api,knip,tree,agadoo,lint,ssr,cjs,attw,size,rsc -c=cyan,magenta,yellow,green,blue,red,gray,white,bgBlue,bgMagenta \"node libs/ui/scripts/audit-api.mjs --json\" \"node libs/ui/scripts/knip-check.mjs --json\" \"node libs/ui/scripts/treeshake-check.mjs --json\" \"node libs/ui/scripts/agadoo-check.mjs --json\" \"node libs/ui/scripts/build-lint.mjs --json\" \"node libs/ui/scripts/ssr-check.mjs --json\" \"node libs/ui/scripts/cjs-check.mjs --json\" \"node libs/ui/scripts/attw-check.mjs --json\" \"node libs/ui/scripts/size-check.mjs --json\" \"node libs/ui/scripts/rsc-render-check.mjs --json\"", @@ -29,6 +33,7 @@ "verify:ui:full": "npm run verify:ui:run && node libs/ui/scripts/install-check.mjs --json && node libs/ui/scripts/build-summary.mjs", "build:ui": "npm run check:readme-stats && npm run generate-ai-docs && npm run type-check && nx lint ui && nx build ui && cp libs/ui/package.json dist/libs/ui/package.json && node libs/ui/scripts/postbuild-types.mjs", "build:form-configurator": "npm run type-check && nx run-many --target=lint --projects=form-configurator-core,form-configurator-adapter-react && nx run-many --target=build --projects=form-configurator-core,form-configurator-adapter-react", + "build:design-core": "npm run type-check:design-core && nx lint design-core && nx build design-core", "lint": "nx run-many --target=lint --all", "lint:fix": "nx run-many --target=lint --all --fix", "format": "prettier --write . | grep -v '(unchanged)' | tee prettier-changes.log && echo \"Total files formatted: $(cat prettier-changes.log | wc -l)\"", @@ -55,6 +60,8 @@ "private": true, "workspaces": [ "libs/ui", + "libs/design-core", + "libs/spike-web-components", "libs/form-configurator/core", "libs/form-configurator/adapter-react" ], diff --git a/spike-react-native/App.tsx b/spike-react-native/App.tsx new file mode 100644 index 0000000..306fb5d --- /dev/null +++ b/spike-react-native/App.tsx @@ -0,0 +1,29 @@ +import { StatusBar } from 'expo-status-bar'; +import { StyleSheet, View } from 'react-native'; +import { GdButton } from './src/components/GdButton/GdButton'; + +/** + * Smoke-test harness proving spike-react-native's platform works end-to-end: renders `GdButton` + * (ported per CTORNDSD-590's Migration Example) driven by gd-design-core's `resolveButtonVariantStyle`. + * The remaining 4 atoms and the full spike Ordered Work are this ticket's own execution, not seeded here. + */ +export default function App() { + return ( + + console.log('pressed')}> + Submit + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + alignItems: 'center', + justifyContent: 'center', + gap: 12, + }, +}); diff --git a/spike-react-native/README.md b/spike-react-native/README.md new file mode 100644 index 0000000..05e7149 --- /dev/null +++ b/spike-react-native/README.md @@ -0,0 +1,37 @@ +# spike-react-native (CTORNDSD-590) + +Disposable React Native (Expo) PoC. See `plans/ctorndsd-590-react-native-integration-spike.md` for the +full scope, Ordered Work, and worked Migration Examples this package executes against. + +`GdButton` (`src/components/GdButton/`) is seeded here as a working smoke test proving the platform +builds and consumes `gd-design-core`'s `resolveButtonVariantStyle` — it is **not** the full spike. The +remaining 4 atoms (`Checkbox`, `Typography`, `Input`, `Select`) and the Select approach evaluation are the +spike's own execution work per its plan. + +## Setup + +`gd-design-core` is consumed via a `file:` dependency pointing at its **built** output +(`../dist/libs/design-core`), not its source — build it once before installing here: + +```bash +npm run build:design-core # from the repo root +cd spike-react-native +npm install +npm run type-check +``` + +## Deliberately NOT an npm workspace member + +Unlike `libs/spike-web-components`, this package lives at the **repo root**, outside `libs/`, and is +**not** listed in the root `package.json`'s `workspaces` array. This is intentional, for two reasons: + +1. **React Native / Expo's own dependency tree (Metro, a pinned `react`/`react-native` version pair) can + conflict with npm workspace hoisting** in ways a pure-JS package like `spike-web-components` doesn't — + keeping it fully standalone with its own `node_modules` avoids that class of problem entirely. +2. **Parallel-safety with CTORNDSD-581.** `spike-web-components` is the one package that touches shared + root config (`workspaces` array). This package touches **none** — no root `package.json` edit, no + `tsconfig.base.json` path alias, no `nx.json` change. The two spikes can be executed independently + (parallel branches/worktrees, or two engineers) without ever editing the same shared file. + +`node_modules` here is covered by the repo's existing top-level `.gitignore` pattern (`node_modules` +matches at every depth). diff --git a/spike-react-native/app.json b/spike-react-native/app.json new file mode 100644 index 0000000..59535af --- /dev/null +++ b/spike-react-native/app.json @@ -0,0 +1,17 @@ +{ + "expo": { + "name": "spike-react-native", + "slug": "spike-react-native", + "version": "0.0.0", + "orientation": "portrait", + "userInterfaceStyle": "automatic", + "assetBundlePatterns": ["**/*"], + "ios": { + "supportsTablet": true + }, + "android": {}, + "web": { + "bundler": "metro" + } + } +} diff --git a/spike-react-native/babel.config.js b/spike-react-native/babel.config.js new file mode 100644 index 0000000..9d89e13 --- /dev/null +++ b/spike-react-native/babel.config.js @@ -0,0 +1,6 @@ +module.exports = function (api) { + api.cache(true); + return { + presets: ['babel-preset-expo'], + }; +}; diff --git a/spike-react-native/package-lock.json b/spike-react-native/package-lock.json new file mode 100644 index 0000000..7ad7b52 --- /dev/null +++ b/spike-react-native/package-lock.json @@ -0,0 +1,14250 @@ +{ + "name": "spike-react-native", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "spike-react-native", + "version": "0.0.0", + "dependencies": { + "expo": "~51.0.28", + "expo-status-bar": "~1.12.1", + "gd-design-core": "file:../dist/libs/design-core", + "react": "18.2.0", + "react-native": "0.74.5" + }, + "devDependencies": { + "@babel/core": "^7.24.0", + "@types/react": "~18.2.79", + "babel-preset-expo": "~11.0.0", + "typescript": "~5.3.3" + } + }, + "../dist/libs/design-core": { + "name": "gd-design-core", + "version": "0.0.1", + "license": "MIT", + "dependencies": { + "zustand": "^5.0.6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz", + "integrity": "sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz", + "integrity": "sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/traverse": "^7.29.7", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz", + "integrity": "sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz", + "integrity": "sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz", + "integrity": "sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz", + "integrity": "sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-wrap-function": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz", + "integrity": "sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.29.7", + "@babel/helper-optimise-call-expression": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz", + "integrity": "sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz", + "integrity": "sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.29.7.tgz", + "integrity": "sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.29.7.tgz", + "integrity": "sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.29.7.tgz", + "integrity": "sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.7.tgz", + "integrity": "sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.29.7.tgz", + "integrity": "sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/plugin-transform-optional-chaining": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.29.7.tgz", + "integrity": "sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.7.tgz", + "integrity": "sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-decorators": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.29.7.tgz", + "integrity": "sha512-p+G5BNXDcy3bOXplhY4HybQ1GxH3i2Tppmdm/3epyRu2VgJJZuUlZ61MqRTg582Q7ZLBdP7fePYvsumSEkMxcQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.29.7.tgz", + "integrity": "sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.29.7.tgz", + "integrity": "sha512-foag0BB37ROhdeIX9O8G0jX7hw0UekJc04cHMrYLOnrErsnBKqJGHJ8eDRpoCFZBvEPPygmmtw4qyU97qa4oOw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.29.7.tgz", + "integrity": "sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz", + "integrity": "sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz", + "integrity": "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz", + "integrity": "sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz", + "integrity": "sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-remap-async-to-generator": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz", + "integrity": "sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-remap-async-to-generator": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.29.7.tgz", + "integrity": "sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz", + "integrity": "sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz", + "integrity": "sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz", + "integrity": "sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz", + "integrity": "sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.29.7.tgz", + "integrity": "sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/template": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz", + "integrity": "sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.29.7.tgz", + "integrity": "sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.29.7.tgz", + "integrity": "sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.7.tgz", + "integrity": "sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.29.7.tgz", + "integrity": "sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.29.7.tgz", + "integrity": "sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-transform-destructuring": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.29.7.tgz", + "integrity": "sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz", + "integrity": "sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.29.7.tgz", + "integrity": "sha512-wRHeUjUjCZnMHmiO5bRgjFLcoEh7JyTdByOW11ahhwNa4V0bmeGEaIvt51yq0zQp2yWIpqfxXXPyUP6GFJZHOQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-flow": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz", + "integrity": "sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.29.7.tgz", + "integrity": "sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.29.7.tgz", + "integrity": "sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.29.7.tgz", + "integrity": "sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz", + "integrity": "sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.29.7.tgz", + "integrity": "sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.29.7.tgz", + "integrity": "sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz", + "integrity": "sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.7.tgz", + "integrity": "sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.29.7.tgz", + "integrity": "sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz", + "integrity": "sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.29.7.tgz", + "integrity": "sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz", + "integrity": "sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.29.7.tgz", + "integrity": "sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz", + "integrity": "sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-transform-destructuring": "^7.29.7", + "@babel/plugin-transform-parameters": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.29.7.tgz", + "integrity": "sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-replace-supers": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz", + "integrity": "sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz", + "integrity": "sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz", + "integrity": "sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz", + "integrity": "sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz", + "integrity": "sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.29.7.tgz", + "integrity": "sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.29.7.tgz", + "integrity": "sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz", + "integrity": "sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/plugin-syntax-jsx": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.29.7.tgz", + "integrity": "sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.29.7.tgz", + "integrity": "sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.7.tgz", + "integrity": "sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.29.7.tgz", + "integrity": "sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.29.7.tgz", + "integrity": "sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.7.tgz", + "integrity": "sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz", + "integrity": "sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.29.7.tgz", + "integrity": "sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.29.7.tgz", + "integrity": "sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz", + "integrity": "sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.29.7.tgz", + "integrity": "sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.7.tgz", + "integrity": "sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.29.7", + "@babel/helper-create-class-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.29.7", + "@babel/plugin-syntax-typescript": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.29.7.tgz", + "integrity": "sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.29.7.tgz", + "integrity": "sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz", + "integrity": "sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.29.7.tgz", + "integrity": "sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.7.tgz", + "integrity": "sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.29.7", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.29.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.29.7", + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array": "^7.29.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.29.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.29.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.29.7", + "@babel/plugin-syntax-import-attributes": "^7.29.7", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.29.7", + "@babel/plugin-transform-async-generator-functions": "^7.29.7", + "@babel/plugin-transform-async-to-generator": "^7.29.7", + "@babel/plugin-transform-block-scoped-functions": "^7.29.7", + "@babel/plugin-transform-block-scoping": "^7.29.7", + "@babel/plugin-transform-class-properties": "^7.29.7", + "@babel/plugin-transform-class-static-block": "^7.29.7", + "@babel/plugin-transform-classes": "^7.29.7", + "@babel/plugin-transform-computed-properties": "^7.29.7", + "@babel/plugin-transform-destructuring": "^7.29.7", + "@babel/plugin-transform-dotall-regex": "^7.29.7", + "@babel/plugin-transform-duplicate-keys": "^7.29.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.7", + "@babel/plugin-transform-dynamic-import": "^7.29.7", + "@babel/plugin-transform-explicit-resource-management": "^7.29.7", + "@babel/plugin-transform-exponentiation-operator": "^7.29.7", + "@babel/plugin-transform-export-namespace-from": "^7.29.7", + "@babel/plugin-transform-for-of": "^7.29.7", + "@babel/plugin-transform-function-name": "^7.29.7", + "@babel/plugin-transform-json-strings": "^7.29.7", + "@babel/plugin-transform-literals": "^7.29.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.29.7", + "@babel/plugin-transform-member-expression-literals": "^7.29.7", + "@babel/plugin-transform-modules-amd": "^7.29.7", + "@babel/plugin-transform-modules-commonjs": "^7.29.7", + "@babel/plugin-transform-modules-systemjs": "^7.29.7", + "@babel/plugin-transform-modules-umd": "^7.29.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.7", + "@babel/plugin-transform-new-target": "^7.29.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.29.7", + "@babel/plugin-transform-numeric-separator": "^7.29.7", + "@babel/plugin-transform-object-rest-spread": "^7.29.7", + "@babel/plugin-transform-object-super": "^7.29.7", + "@babel/plugin-transform-optional-catch-binding": "^7.29.7", + "@babel/plugin-transform-optional-chaining": "^7.29.7", + "@babel/plugin-transform-parameters": "^7.29.7", + "@babel/plugin-transform-private-methods": "^7.29.7", + "@babel/plugin-transform-private-property-in-object": "^7.29.7", + "@babel/plugin-transform-property-literals": "^7.29.7", + "@babel/plugin-transform-regenerator": "^7.29.7", + "@babel/plugin-transform-regexp-modifiers": "^7.29.7", + "@babel/plugin-transform-reserved-words": "^7.29.7", + "@babel/plugin-transform-shorthand-properties": "^7.29.7", + "@babel/plugin-transform-spread": "^7.29.7", + "@babel/plugin-transform-sticky-regex": "^7.29.7", + "@babel/plugin-transform-template-literals": "^7.29.7", + "@babel/plugin-transform-typeof-symbol": "^7.29.7", + "@babel/plugin-transform-unicode-escapes": "^7.29.7", + "@babel/plugin-transform-unicode-property-regex": "^7.29.7", + "@babel/plugin-transform-unicode-regex": "^7.29.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.29.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.29.7.tgz", + "integrity": "sha512-KYIRV0BuaN68CDdsqFkAD7MU7yipUqQNuNElwATdxaIdpTjhvtY82QvkBJs7zV3Evxj2jFAAZ1iO8nyy0nhjqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-transform-flow-strip-types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.29.7.tgz", + "integrity": "sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-transform-react-display-name": "^7.29.7", + "@babel/plugin-transform-react-jsx": "^7.29.7", + "@babel/plugin-transform-react-jsx-development": "^7.29.7", + "@babel/plugin-transform-react-pure-annotations": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz", + "integrity": "sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "@babel/plugin-syntax-jsx": "^7.29.7", + "@babel/plugin-transform-modules-commonjs": "^7.29.7", + "@babel/plugin-transform-typescript": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.29.7.tgz", + "integrity": "sha512-AMGJoWuES861riy6pcB0fphE1YXybtQnBYQMuIyPv6mKLiosfa79BKTnAOyx215c/3RJPJpdQwoHZ3earVH7AA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", + "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@expo/bunyan": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.1.tgz", + "integrity": "sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==", + "license": "MIT", + "dependencies": { + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@expo/cli": { + "version": "0.18.31", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.18.31.tgz", + "integrity": "sha512-v9llw9fT3Uv+TCM6Xllo54t672CuYtinEQZ2LPJ2EJsCwuTc4Cd2gXQaouuIVD21VoeGQnr5JtJuWbF97sBKzQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "@expo/code-signing-certificates": "0.0.5", + "@expo/config": "~9.0.0-beta.0", + "@expo/config-plugins": "~8.0.8", + "@expo/devcert": "^1.0.0", + "@expo/env": "~0.3.0", + "@expo/image-utils": "^0.5.0", + "@expo/json-file": "^8.3.0", + "@expo/metro-config": "0.18.11", + "@expo/osascript": "^2.0.31", + "@expo/package-manager": "^1.5.0", + "@expo/plist": "^0.1.0", + "@expo/prebuild-config": "7.0.9", + "@expo/rudder-sdk-node": "1.1.1", + "@expo/spawn-async": "^1.7.2", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "0.74.85", + "@urql/core": "2.3.6", + "@urql/exchange-retry": "0.3.0", + "accepts": "^1.3.8", + "arg": "5.0.2", + "better-opn": "~3.0.2", + "bplist-creator": "0.0.7", + "bplist-parser": "^0.3.1", + "cacache": "^18.0.2", + "chalk": "^4.0.0", + "ci-info": "^3.3.0", + "connect": "^3.7.0", + "debug": "^4.3.4", + "env-editor": "^0.4.1", + "fast-glob": "^3.3.2", + "find-yarn-workspace-root": "~2.0.0", + "form-data": "^3.0.1", + "freeport-async": "2.0.0", + "fs-extra": "~8.1.0", + "getenv": "^1.0.0", + "glob": "^7.1.7", + "graphql": "15.8.0", + "graphql-tag": "^2.10.1", + "https-proxy-agent": "^5.0.1", + "internal-ip": "4.3.0", + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1", + "js-yaml": "^3.13.1", + "json-schema-deref-sync": "^0.13.0", + "lodash.debounce": "^4.0.8", + "md5hex": "^1.0.0", + "minimatch": "^3.0.4", + "node-fetch": "^2.6.7", + "node-forge": "^1.3.1", + "npm-package-arg": "^7.0.0", + "open": "^8.3.0", + "ora": "3.4.0", + "picomatch": "^3.0.1", + "pretty-bytes": "5.6.0", + "progress": "2.0.3", + "prompts": "^2.3.2", + "qrcode-terminal": "0.11.0", + "require-from-string": "^2.0.2", + "requireg": "^0.2.2", + "resolve": "^1.22.2", + "resolve-from": "^5.0.0", + "resolve.exports": "^2.0.2", + "semver": "^7.6.0", + "send": "^0.18.0", + "slugify": "^1.3.4", + "source-map-support": "~0.5.21", + "stacktrace-parser": "^0.1.10", + "structured-headers": "^0.4.1", + "tar": "^6.0.5", + "temp-dir": "^2.0.0", + "tempy": "^0.7.1", + "terminal-link": "^2.1.1", + "text-table": "^0.2.0", + "url-join": "4.0.0", + "wrap-ansi": "^7.0.0", + "ws": "^8.12.1" + }, + "bin": { + "expo-internal": "build/bin/cli" + } + }, + "node_modules/@expo/cli/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/code-signing-certificates": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", + "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", + "license": "MIT", + "dependencies": { + "node-forge": "^1.2.1", + "nullthrows": "^1.1.1" + } + }, + "node_modules/@expo/config": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-9.0.4.tgz", + "integrity": "sha512-g5ns5u1JSKudHYhjo1zaSfkJ/iZIcWmUmIQptMJZ6ag1C0ShL2sj8qdfU8MmAMuKLOgcIfSaiWlQnm4X3VJVkg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~8.0.8", + "@expo/config-types": "^51.0.3", + "@expo/json-file": "^8.3.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "slugify": "^1.3.4", + "sucrase": "3.34.0" + } + }, + "node_modules/@expo/config-plugins": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-8.0.11.tgz", + "integrity": "sha512-oALE1HwnLFthrobAcC9ocnR9KXLzfWEjgIe4CPe+rDsfC6GDs8dGYCXfRFoCEzoLN4TGYs9RdZ8r0KoCcNrm2A==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^51.0.3", + "@expo/json-file": "~8.3.0", + "@expo/plist": "^0.1.0", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.1", + "find-up": "~5.0.0", + "getenv": "^1.0.0", + "glob": "7.1.6", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "slash": "^3.0.0", + "slugify": "^1.6.6", + "xcode": "^3.0.1", + "xml2js": "0.6.0" + } + }, + "node_modules/@expo/config-plugins/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config-plugins/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/config-types": { + "version": "51.0.3", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-51.0.3.tgz", + "integrity": "sha512-hMfuq++b8VySb+m9uNNrlpbvGxYc8OcFCUX9yTmi9tlx6A4k8SDabWFBgmnr4ao3wEArvWrtUQIfQCVtPRdpKA==", + "license": "MIT" + }, + "node_modules/@expo/config/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@expo/config/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/config/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/devcert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.1.tgz", + "integrity": "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==", + "license": "MIT", + "dependencies": { + "@expo/sudo-prompt": "^9.3.1", + "debug": "^3.1.0" + } + }, + "node_modules/@expo/devcert/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@expo/env": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-0.3.0.tgz", + "integrity": "sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "debug": "^4.3.4", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^1.0.0" + } + }, + "node_modules/@expo/image-utils": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.5.1.tgz", + "integrity": "sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.0.0", + "fs-extra": "9.0.0", + "getenv": "^1.0.0", + "jimp-compact": "0.16.1", + "node-fetch": "^2.6.0", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "tempy": "0.3.0" + } + }, + "node_modules/@expo/image-utils/node_modules/crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/image-utils/node_modules/fs-extra": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", + "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/image-utils/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@expo/image-utils/node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@expo/image-utils/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/image-utils/node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/image-utils/node_modules/tempy": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", + "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", + "license": "MIT", + "dependencies": { + "temp-dir": "^1.0.0", + "type-fest": "^0.3.1", + "unique-string": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@expo/image-utils/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/@expo/image-utils/node_modules/unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@expo/image-utils/node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@expo/json-file": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.3.3.tgz", + "integrity": "sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.2", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/@expo/json-file/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@expo/metro-config": { + "version": "0.18.11", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.18.11.tgz", + "integrity": "sha512-/uOq55VbSf9yMbUO1BudkUM2SsGW1c5hr9BnhIqYqcsFv0Jp5D3DtJ4rljDKaUeNLbwr6m7pqIrkSMq5NrYf4Q==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "@expo/config": "~9.0.0-beta.0", + "@expo/env": "~0.3.0", + "@expo/json-file": "~8.3.0", + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "find-yarn-workspace-root": "~2.0.0", + "fs-extra": "^9.1.0", + "getenv": "^1.0.0", + "glob": "^7.2.3", + "jsc-safe-url": "^0.2.4", + "lightningcss": "~1.19.0", + "postcss": "~8.4.32", + "resolve-from": "^5.0.0" + } + }, + "node_modules/@expo/metro-config/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/metro-config/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@expo/metro-config/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@expo/osascript": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.7.0.tgz", + "integrity": "sha512-wKIXL8UtbuX4KwavPasIW3CUcgTbYfjzLcgUhjyKUAYDEqMaf6gmU1bqz3ffBPTokmX+G8/vFG1ZuI9etQWukA==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.8.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/package-manager": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.13.0.tgz", + "integrity": "sha512-s3W3eZafJDEyVL7W/jxj2Nz3eONKxSCU604S5xj8ijrVaRz83x0DnZznLf/UXQEI1w+FyibH68nHeQyk767b1A==", + "license": "MIT", + "dependencies": { + "@expo/json-file": "^11.0.0", + "@expo/spawn-async": "^1.8.0", + "chalk": "^4.0.0", + "npm-package-arg": "^11.0.0", + "ora": "^3.4.0", + "resolve-workspace-root": "^2.0.0" + } + }, + "node_modules/@expo/package-manager/node_modules/@expo/json-file": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-11.0.0.tgz", + "integrity": "sha512-pHJCETqFL5x5BzNV6cEPwjwuECgGmnl0bNmfHIJ6LM1tlh2eVXi5HEdit3zby/JO/B8Otk5cgcqtJXgvvUat3A==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.20.0", + "json5": "^2.2.3" + } + }, + "node_modules/@expo/package-manager/node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@expo/package-manager/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/@expo/package-manager/node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@expo/package-manager/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/package-manager/node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@expo/plist": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.1.3.tgz", + "integrity": "sha512-GW/7hVlAylYg1tUrEASclw1MMk9FP4ZwyFAY/SUTJIhPDQHtfOlXREyWV3hhrHdX/K+pS73GNgdfT6E/e+kBbg==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "~0.7.7", + "base64-js": "^1.2.3", + "xmlbuilder": "^14.0.0" + } + }, + "node_modules/@expo/prebuild-config": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.9.tgz", + "integrity": "sha512-9i6Cg7jInpnGEHN0jxnW0P+0BexnePiBzmbUvzSbRXpdXihYUX2AKMu73jgzxn5P1hXOSkzNS7umaY+BZ+aBag==", + "license": "MIT", + "dependencies": { + "@expo/config": "~9.0.0-beta.0", + "@expo/config-plugins": "~8.0.8", + "@expo/config-types": "^51.0.3", + "@expo/image-utils": "^0.5.0", + "@expo/json-file": "^8.3.0", + "@react-native/normalize-colors": "0.74.85", + "debug": "^4.3.1", + "fs-extra": "^9.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "xml2js": "0.6.0" + }, + "peerDependencies": { + "expo-modules-autolinking": ">=0.8.1" + } + }, + "node_modules/@expo/prebuild-config/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/prebuild-config/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@expo/prebuild-config/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@expo/prebuild-config/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@expo/rudder-sdk-node": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz", + "integrity": "sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==", + "license": "MIT", + "dependencies": { + "@expo/bunyan": "^4.0.0", + "@segment/loosely-validate-event": "^2.0.0", + "fetch-retry": "^4.1.1", + "md5": "^2.2.1", + "node-fetch": "^2.6.1", + "remove-trailing-slash": "^0.1.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/sdk-runtime-versions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", + "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==", + "license": "MIT" + }, + "node_modules/@expo/spawn-async": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.8.0.tgz", + "integrity": "sha512-eb9xxd/LbuEGSdua4NumCu/McVB9EM+F/JxB9pWgnERw4HQ9XyTNH1KapG6oqLWR8TuRK2LQfzJlmNi94CVobw==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.6" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/sudo-prompt": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", + "license": "MIT" + }, + "node_modules/@expo/vector-icons": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-14.1.0.tgz", + "integrity": "sha512-7T09UE9h8QDTsUeMGymB4i+iqvtEeaO5VvUjryFB4tugDTG/bkzViWA74hm5pfjjDEhYMXWaX112mcvhccmIwQ==", + "license": "MIT", + "peerDependencies": { + "expo-font": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/@expo/xcpretty": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.4.4.tgz", + "integrity": "sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/code-frame": "^7.20.0", + "chalk": "^4.1.0", + "js-yaml": "^4.1.0" + }, + "bin": { + "excpretty": "build/cli.js" + } + }, + "node_modules/@expo/xcpretty/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/@expo/xcpretty/node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@react-native-community/cli": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-13.6.9.tgz", + "integrity": "sha512-hFJL4cgLPxncJJd/epQ4dHnMg5Jy/7Q56jFvA3MHViuKpzzfTCJCB+pGY54maZbtym53UJON9WTGpM3S81UfjQ==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-clean": "13.6.9", + "@react-native-community/cli-config": "13.6.9", + "@react-native-community/cli-debugger-ui": "13.6.9", + "@react-native-community/cli-doctor": "13.6.9", + "@react-native-community/cli-hermes": "13.6.9", + "@react-native-community/cli-server-api": "13.6.9", + "@react-native-community/cli-tools": "13.6.9", + "@react-native-community/cli-types": "13.6.9", + "chalk": "^4.1.2", + "commander": "^9.4.1", + "deepmerge": "^4.3.0", + "execa": "^5.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", + "prompts": "^2.4.2", + "semver": "^7.5.2" + }, + "bin": { + "rnc-cli": "build/bin.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native-community/cli-clean": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-13.6.9.tgz", + "integrity": "sha512-7Dj5+4p9JggxuVNOjPbduZBAP1SUgNhLKVw5noBUzT/3ZpUZkDM+RCSwyoyg8xKWoE4OrdUAXwAFlMcFDPKykA==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-config": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-13.6.9.tgz", + "integrity": "sha512-rFfVBcNojcMm+KKHE/xqpqXg8HoKl4EC7bFHUrahMJ+y/tZll55+oX/PGG37rzB8QzP2UbMQ19DYQKC1G7kXeg==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", + "deepmerge": "^4.3.0", + "fast-glob": "^3.3.2", + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-13.6.9.tgz", + "integrity": "sha512-TkN7IdFmGPPvTpAo3nCAH9uwGCPxWBEAwpqEZDrq0NWllI7Tdie8vDpGdrcuCcKalmhq6OYnkXzeBah7O1Ztpw==", + "license": "MIT", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-doctor": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-13.6.9.tgz", + "integrity": "sha512-5quFaLdWFQB+677GXh5dGU9I5eg2z6Vg4jOX9vKnc9IffwyIFAyJfCZHrxLSRPDGNXD7biDQUdoezXYGwb6P/A==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-config": "13.6.9", + "@react-native-community/cli-platform-android": "13.6.9", + "@react-native-community/cli-platform-apple": "13.6.9", + "@react-native-community/cli-platform-ios": "13.6.9", + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", + "deepmerge": "^4.3.0", + "envinfo": "^7.10.0", + "execa": "^5.0.0", + "hermes-profile-transformer": "^0.0.6", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", + "semver": "^7.5.2", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1", + "yaml": "^2.2.1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ora/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-hermes": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-13.6.9.tgz", + "integrity": "sha512-GvwiwgvFw4Ws+krg2+gYj8sR3g05evmNjAHkKIKMkDTJjZ8EdyxbkifRUs1ZCq3TMZy2oeblZBXCJVOH4W7ZbA==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-platform-android": "13.6.9", + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "hermes-profile-transformer": "^0.0.6" + } + }, + "node_modules/@react-native-community/cli-platform-android": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-13.6.9.tgz", + "integrity": "sha512-9KsYGdr08QhdvT3Ht7e8phQB3gDX9Fs427NJe0xnoBh+PDPTI2BD5ks5ttsH8CzEw8/P6H8tJCHq6hf2nxd9cw==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2", + "fast-xml-parser": "^4.2.4", + "logkitty": "^0.7.1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-android/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-13.6.9.tgz", + "integrity": "sha512-KoeIHfhxMhKXZPXmhQdl6EE+jGKWwoO9jUVWgBvibpVmsNjo7woaG/tfJMEWfWF3najX1EkQAoJWpCDBMYWtlA==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-tools": "13.6.9", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "fast-glob": "^3.3.2", + "fast-xml-parser": "^4.0.12", + "ora": "^5.4.1" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-apple/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-platform-ios": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-13.6.9.tgz", + "integrity": "sha512-CiUcHlGs8vE0CAB4oi1f+dzniqfGuhWPNrDvae2nm8dewlahTBwIcK5CawyGezjcJoeQhjBflh9vloska+nlnw==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-platform-apple": "13.6.9" + } + }, + "node_modules/@react-native-community/cli-server-api": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-13.6.9.tgz", + "integrity": "sha512-W8FSlCPWymO+tlQfM3E0JmM8Oei5HZsIk5S0COOl0MRi8h0NmHI4WSTF2GCfbFZkcr2VI/fRsocoN8Au4EZAug==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-debugger-ui": "13.6.9", + "@react-native-community/cli-tools": "13.6.9", + "compression": "^1.7.1", + "connect": "^3.6.5", + "errorhandler": "^1.5.1", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", + "ws": "^6.2.2" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/@types/yargs": { + "version": "15.0.20", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.20.tgz", + "integrity": "sha512-KIkX+/GgfFitlASYCGoSF+T4XRXhOubJLhkLVtSfsRTe9jWMmuM2g28zQ41BtPTG7TRBb2xHW+LCNVE9QR/vsg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@react-native-community/cli-server-api/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/@react-native-community/cli-server-api/node_modules/ws": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.4.tgz", + "integrity": "sha512-PNIUUyLI5YpkJZj60YBzX1o0ByQ4ovvfmq9N/Kig/PAYbVlGyz4R6G0SEWrD0O9acc0sT2+IdMBVLFv8FSi0Nw==", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native-community/cli-tools": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-13.6.9.tgz", + "integrity": "sha512-OXaSjoN0mZVw3nrAwcY1PC0uMfyTd9fz7Cy06dh+EJc+h0wikABsVRzV8cIOPrVV+PPEEXE0DBrH20T2puZzgQ==", + "license": "MIT", + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", + "execa": "^5.0.0", + "find-up": "^5.0.0", + "mime": "^2.4.1", + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", + "semver": "^7.5.2", + "shell-quote": "^1.7.3", + "sudo-prompt": "^9.0.0" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "license": "MIT", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli-types": { + "version": "13.6.9", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-13.6.9.tgz", + "integrity": "sha512-RLxDppvRxXfs3hxceW/mShi+6o5yS+kFPnPqZTaMKKR5aSg7LwDpLQW4K2D22irEG8e6RKDkZUeH9aL3vO2O0w==", + "license": "MIT", + "dependencies": { + "joi": "^17.2.1" + } + }, + "node_modules/@react-native-community/cli/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@react-native-community/cli/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native-community/cli/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native-community/cli/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.74.87.tgz", + "integrity": "sha512-1XmRhqQchN+pXPKEKYdpJlwESxVomJOxtEnIkbo7GAlaN2sym84fHEGDXAjLilih5GVPpcpSmFzTy8jx3LtaFg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.74.87.tgz", + "integrity": "sha512-+vJYpMnENFrwtgvDfUj+CtVJRJuUnzAUYT0/Pb68Sq9RfcZ5xdcCuUgyf7JO+akW2VTBoJY427wkcxU30qrWWw==", + "license": "MIT", + "dependencies": { + "@react-native/codegen": "0.74.87" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.74.87.tgz", + "integrity": "sha512-hyKpfqzN2nxZmYYJ0tQIHG99FQO0OWXp/gVggAfEUgiT+yNKas1C60LuofUsK7cd+2o9jrpqgqW4WzEDZoBlTg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.18.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.20.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "@react-native/babel-plugin-codegen": "0.74.87", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.74.87.tgz", + "integrity": "sha512-GMSYDiD+86zLKgMMgz9z0k6FxmRn+z6cimYZKkucW4soGbxWsbjUAZoZ56sJwt2FJ3XVRgXCrnOCgXoH/Bkhcg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.0", + "glob": "^7.1.1", + "hermes-parser": "0.19.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.74.87.tgz", + "integrity": "sha512-EgJG9lSr8x3X67dHQKQvU6EkO+3ksVlJHYIVv6U/AmW9dN80BEFxgYbSJ7icXS4wri7m4kHdgeq2PQ7/3vvrTQ==", + "license": "MIT", + "dependencies": { + "@react-native-community/cli-server-api": "13.6.9", + "@react-native-community/cli-tools": "13.6.9", + "@react-native/dev-middleware": "0.74.87", + "@react-native/metro-babel-transformer": "0.74.87", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "querystring": "^0.2.1", + "readline": "^1.3.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-frontend": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.74.87.tgz", + "integrity": "sha512-MN95DJLYTv4EqJc+9JajA3AJZSBYJz2QEJ3uWlHrOky2vKrbbRVaW1ityTmaZa2OXIvNc6CZwSRSE7xCoHbXhQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/dev-middleware": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.74.87.tgz", + "integrity": "sha512-7TmZ3hTHwooYgIHqc/z87BMe1ryrIqAUi+AF7vsD+EHCGxHFdMjSpf1BZ2SUPXuLnF2cTiTfV2RwhbPzx0tYIA==", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.74.87", + "@rnx-kit/chromium-edge-launcher": "^1.0.0", + "chrome-launcher": "^0.15.2", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "selfsigned": "^2.4.1", + "serve-static": "^1.13.1", + "temp-dir": "^2.0.0", + "ws": "^6.2.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/@react-native/community-cli-plugin/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/ws": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.4.tgz", + "integrity": "sha512-PNIUUyLI5YpkJZj60YBzX1o0ByQ4ovvfmq9N/Kig/PAYbVlGyz4R6G0SEWrD0O9acc0sT2+IdMBVLFv8FSi0Nw==", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.74.85", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.74.85.tgz", + "integrity": "sha512-gUIhhpsYLUTYWlWw4vGztyHaX/kNlgVspSvKe2XaPA7o3jYKUoNLc3Ov7u70u/MBWfKdcEffWq44eSe3j3s5JQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.74.85", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.74.85.tgz", + "integrity": "sha512-BRmgCK5vnMmHaKRO+h8PKJmHHH3E6JFuerrcfE3wG2eZ1bcSr+QTu8DAlpxsDWvJvHpCi8tRJGauxd+Ssj/c7w==", + "license": "MIT", + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.74.85", + "@rnx-kit/chromium-edge-launcher": "^1.0.0", + "chrome-launcher": "^0.15.2", + "connect": "^3.6.5", + "debug": "^2.2.0", + "node-fetch": "^2.2.0", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "selfsigned": "^2.4.1", + "serve-static": "^1.13.1", + "temp-dir": "^2.0.0", + "ws": "^6.2.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/@react-native/dev-middleware/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.4.tgz", + "integrity": "sha512-PNIUUyLI5YpkJZj60YBzX1o0ByQ4ovvfmq9N/Kig/PAYbVlGyz4R6G0SEWrD0O9acc0sT2+IdMBVLFv8FSi0Nw==", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.74.87.tgz", + "integrity": "sha512-T+VX0N1qP+U9V4oAtn7FTX7pfsoVkd1ocyw9swYXgJqU2fK7hC9famW7b3s3ZiufPGPr1VPJe2TVGtSopBjL6A==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.74.87.tgz", + "integrity": "sha512-M5Evdn76CuVEF0GsaXiGi95CBZ4IWubHqwXxV9vG9CC9kq0PSkoM2Pn7Lx7dgyp4vT7ccJ8a3IwHbe+5KJRnpw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/metro-babel-transformer": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.74.87.tgz", + "integrity": "sha512-UsJCO24sNax2NSPBmV1zLEVVNkS88kcgAiYrZHtYSwSjpl4WZ656tIeedBfiySdJ94Hr3kQmBYLipV5zk0NI1A==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.74.87", + "hermes-parser": "0.19.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.74.85", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz", + "integrity": "sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==", + "license": "MIT" + }, + "node_modules/@rnx-kit/chromium-edge-launcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", + "integrity": "sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==", + "license": "Apache-2.0", + "dependencies": { + "@types/node": "^18.0.0", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=14.15" + } + }, + "node_modules/@rnx-kit/chromium-edge-launcher/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@segment/loosely-validate-event": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", + "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", + "dependencies": { + "component-type": "^1.2.1", + "join-component": "^1.1.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.10", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", + "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "18.19.130", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", + "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", + "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@urql/core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz", + "integrity": "sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.0", + "wonka": "^4.0.14" + }, + "peerDependencies": { + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@urql/exchange-retry": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz", + "integrity": "sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==", + "license": "MIT", + "dependencies": { + "@urql/core": ">=2.3.1", + "wonka": "^4.0.14" + }, + "peerDependencies": { + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", + "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "deprecated": "this version has critical issues, please update to the latest version", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "license": "MIT" + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-fragments": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", + "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", + "license": "MIT", + "dependencies": { + "colorette": "^1.0.7", + "slice-ansi": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/appdirsjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==", + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.8", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.8" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-react-compiler": { + "version": "0.0.0-experimental-592953e-20240517", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0-experimental-592953e-20240517.tgz", + "integrity": "sha512-OjG1SVaeQZaJrqkMFJatg8W/MTow8Ak5rx2SI0ETQBO1XvOk/XZGMbltNCPdFJLKghBYoBjC+Y3Ap/Xr7B01mA==", + "license": "MIT", + "dependencies": { + "@babel/generator": "7.2.0", + "@babel/types": "^7.19.0", + "chalk": "4", + "invariant": "^2.2.4", + "pretty-format": "^24", + "zod": "^3.22.4", + "zod-validation-error": "^2.1.0" + } + }, + "node_modules/babel-plugin-react-compiler/node_modules/@babel/generator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz", + "integrity": "sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.2.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-plugin-react-compiler/node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-react-compiler/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-react-native-web": { + "version": "0.19.13", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz", + "integrity": "sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==", + "license": "MIT" + }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/babel-preset-expo": { + "version": "11.0.15", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.15.tgz", + "integrity": "sha512-rgiMTYwqIPULaO7iZdqyL7aAff9QLOX6OWUtLZBlOrOTreGY1yHah/5+l8MvI6NVc/8Zj5LY4Y5uMSnJIuzTLw==", + "license": "MIT", + "dependencies": { + "@babel/plugin-proposal-decorators": "^7.12.9", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/preset-react": "^7.22.15", + "@babel/preset-typescript": "^7.23.0", + "@react-native/babel-preset": "0.74.87", + "babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517", + "babel-plugin-react-native-web": "~0.19.10", + "react-refresh": "^0.14.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.42", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.42.tgz", + "integrity": "sha512-c/jurFrDLyui7o1J86yLkRu4LMsTYcBohveus7/I2Hzdn9KIP2bdJPTue/lR1KH46enoPbD77GKeSYNdyPoD3Q==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "license": "MIT", + "dependencies": { + "open": "^8.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bplist-creator": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", + "integrity": "sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==", + "license": "MIT", + "dependencies": { + "stream-buffers": "~2.2.0" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz", + "integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.5.tgz", + "integrity": "sha512-Cu2E6QejHWzuDMTkuwgpABFgDfZrXLQq5V13YOACZx4mFAG4IwGTbTfHPMr4WtxlHoXSM8FIuRwYYCz5XiabaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.10.42", + "caniuse-lite": "^1.0.30001800", + "electron-to-chromium": "^1.5.387", + "node-releases": "^2.0.50", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "license": "MIT", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "license": "MIT" + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "license": "MIT" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.2.tgz", + "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "license": "MIT", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "license": "MIT", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001803", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001803.tgz", + "integrity": "sha512-g/uHREV2ZpK9qMalCsWaxmA6ol+DX8GYhuf3T40RKoP+oL7vhRJh8LNt73PCjpnR6l14FzfPrB5Yux4PKm2meg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "license": "Apache-2.0", + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "license": "MIT" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/component-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.2.tgz", + "integrity": "sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/dag-map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", + "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dayjs": { + "version": "1.11.21", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.389", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.389.tgz", + "integrity": "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-editor": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", + "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/errorhandler": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.2.tgz", + "integrity": "sha512-kNAL7hESndBCrWwS72QyV3IVOTrVmj9D062FV5BQswNL5zEdeRmz/WJFyh6Aj/plvvSOrzddkxW57HgkZcR9Fw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/es-abstract": { + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract-get": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-abstract-get/-/es-abstract-get-1.0.0.tgz", + "integrity": "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.2", + "is-callable": "^1.2.7", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.4.tgz", + "integrity": "sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==", + "license": "MIT", + "dependencies": { + "es-abstract-get": "^1.0.0", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "is-callable": "^1.2.7", + "is-date-object": "^1.1.0", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/expo": { + "version": "51.0.39", + "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.39.tgz", + "integrity": "sha512-Cs/9xopyzJrpXWbyVUZnr37rprdFJorRgfSp6cdBfvbjxZeKnw2MEu7wJwV/s626i5lZTPGjZPHUF9uQvt51cg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.20.0", + "@expo/cli": "0.18.31", + "@expo/config": "9.0.4", + "@expo/config-plugins": "8.0.11", + "@expo/metro-config": "0.18.11", + "@expo/vector-icons": "^14.0.3", + "babel-preset-expo": "~11.0.15", + "expo-asset": "~10.0.10", + "expo-file-system": "~17.0.1", + "expo-font": "~12.0.10", + "expo-keep-awake": "~13.0.2", + "expo-modules-autolinking": "1.11.3", + "expo-modules-core": "1.12.26", + "fbemitter": "^3.0.0", + "whatwg-url-without-unicode": "8.0.0-3" + }, + "bin": { + "expo": "bin/cli" + } + }, + "node_modules/expo-asset": { + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-10.0.10.tgz", + "integrity": "sha512-0qoTIihB79k+wGus9wy0JMKq7DdenziVx3iUkGvMAy2azscSgWH6bd2gJ9CGnhC6JRd3qTMFBL0ou/fx7WZl7A==", + "license": "MIT", + "dependencies": { + "expo-constants": "~16.0.0", + "invariant": "^2.2.4", + "md5-file": "^3.2.3" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-constants": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-16.0.2.tgz", + "integrity": "sha512-9tNY3OVO0jfiMzl7ngb6IOyR5VFzNoN5OOazUWoeGfmMqVB5kltTemRvKraK9JRbBKIw+SOYLEmF0sEqgFZ6OQ==", + "license": "MIT", + "dependencies": { + "@expo/config": "~9.0.0", + "@expo/env": "~0.3.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-file-system": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-17.0.1.tgz", + "integrity": "sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-font": { + "version": "12.0.10", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-12.0.10.tgz", + "integrity": "sha512-Q1i2NuYri3jy32zdnBaHHCya1wH1yMAsI+3CCmj9zlQzlhsS9Bdwcj2W3c5eU5FvH2hsNQy4O+O1NnM6o/pDaQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "fontfaceobserver": "^2.1.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-keep-awake": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-13.0.2.tgz", + "integrity": "sha512-kKiwkVg/bY0AJ5q1Pxnm/GvpeB6hbNJhcFsoOWDh2NlpibhCLaHL826KHUM+WsnJRbVRxJ+K9vbPRHEMvFpVyw==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-modules-autolinking": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.11.3.tgz", + "integrity": "sha512-oYh8EZEvYF5TYppxEKUTTJmbr8j7eRRnrIxzZtMvxLTXoujThVPMFS/cbnSnf2bFm1lq50TdDNABhmEi7z0ngQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "commander": "^7.2.0", + "fast-glob": "^3.2.5", + "find-up": "^5.0.0", + "fs-extra": "^9.1.0", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "expo-modules-autolinking": "bin/expo-modules-autolinking.js" + } + }, + "node_modules/expo-modules-autolinking/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/expo-modules-autolinking/node_modules/jsonfile": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.1.tgz", + "integrity": "sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/expo-modules-autolinking/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/expo-modules-core": { + "version": "1.12.26", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.12.26.tgz", + "integrity": "sha512-y8yDWjOi+rQRdO+HY+LnUlz8qzHerUaw/LUjKPU/mX8PRXP4UUPEEp5fjAwBU44xjNmYSHWZDwet4IBBE+yQUA==", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4" + } + }, + "node_modules/expo-status-bar": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.12.1.tgz", + "integrity": "sha512-/t3xdbS8KB0prj5KG5w7z+wZPFlPtkgs95BsmrP/E7Q0xHXTcDcQ6Cu2FkFuRM+PKTb17cJDnLkawyS5vDLxMA==", + "license": "MIT" + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.5.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.7.tgz", + "integrity": "sha512-a6Qh1RMCNbSrU1+sAyAAZH3rTe+OaWJbNZIq0S+ifZciUUOQtlVxBJwoTUE2bYhysmG/RYyI5WJFIKdBahJdrQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "license": "BSD-3-Clause", + "dependencies": { + "fbjs": "^3.0.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "license": "MIT", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "license": "MIT" + }, + "node_modules/fetch-retry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz", + "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", + "license": "MIT" + }, + "node_modules/flow-estree": { + "version": "0.322.0", + "resolved": "https://registry.npmjs.org/flow-estree/-/flow-estree-0.322.0.tgz", + "integrity": "sha512-v7wiiFWSKbJ1HGVCRKhxl+6pQWTQV6P4c7XEfKjVlH71YkgQyJCq0AG5dhJDD/3/SkJgX/F9lvAj2rbrFzArdQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/flow-parser": { + "version": "0.322.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.322.0.tgz", + "integrity": "sha512-Qfd8N4sSuWmlf1qk5M60fi8JrvhNvj9fbwMsRkcnm3UhLYukkbm2CFkAhiTD3n4RVXb6TuCHFCp78TMXpO0zcA==", + "license": "MIT", + "dependencies": { + "flow-estree": "0.322.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fontfaceobserver": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", + "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", + "license": "BSD-2-Clause" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.5.tgz", + "integrity": "sha512-j23EibVLnp4zNXGW7LjryXYa2X6U/M96yoOX+ybZxwkYajdxRNEqYY3zhh7y0i6kfISKS2jr+EJq1YTUDEv5+w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.4", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/freeport-async": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", + "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gd-design-core": { + "resolved": "../dist/libs/design-core", + "link": true + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getenv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", + "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.7.tgz", + "integrity": "sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.19.1.tgz", + "integrity": "sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==", + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.19.1.tgz", + "integrity": "sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.19.1" + } + }, + "node_modules/hermes-profile-transformer": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", + "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", + "license": "MIT", + "dependencies": { + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "license": "MIT", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "license": "MIT", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-invalid-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", + "license": "MIT", + "dependencies": { + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-invalid-path/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-invalid-path/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-valid-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", + "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", + "license": "MIT", + "dependencies": { + "is-invalid-path": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-message-util/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-util/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jimp-compact": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", + "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", + "license": "MIT" + }, + "node_modules/joi": { + "version": "17.13.4", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.4.tgz", + "integrity": "sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/join-component": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", + "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.0.tgz", + "integrity": "sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsc-android": { + "version": "250231.0.0", + "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", + "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==", + "license": "BSD-2-Clause" + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "license": "0BSD" + }, + "node_modules/jscodeshift": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", + "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.21.0", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "license": "MIT" + }, + "node_modules/json-schema-deref-sync": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz", + "integrity": "sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "dag-map": "~1.0.0", + "is-valid-path": "^0.1.1", + "lodash": "^4.17.13", + "md5": "~2.2.0", + "memory-cache": "~0.2.0", + "traverse": "~0.6.6", + "valid-url": "~1.0.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/json-schema-deref-sync/node_modules/md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "license": "Apache-2.0", + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" + } + }, + "node_modules/lighthouse-logger/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/lighthouse-logger/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.19.0.tgz", + "integrity": "sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.19.0", + "lightningcss-darwin-x64": "1.19.0", + "lightningcss-linux-arm-gnueabihf": "1.19.0", + "lightningcss-linux-arm64-gnu": "1.19.0", + "lightningcss-linux-arm64-musl": "1.19.0", + "lightningcss-linux-x64-gnu": "1.19.0", + "lightningcss-linux-x64-musl": "1.19.0", + "lightningcss-win32-x64-msvc": "1.19.0" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz", + "integrity": "sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz", + "integrity": "sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz", + "integrity": "sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz", + "integrity": "sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz", + "integrity": "sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz", + "integrity": "sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz", + "integrity": "sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz", + "integrity": "sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "license": "MIT", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/logkitty": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", + "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", + "license": "MIT", + "dependencies": { + "ansi-fragments": "^0.2.1", + "dayjs": "^1.8.15", + "yargs": "^15.1.0" + }, + "bin": { + "logkitty": "bin/logkitty.js" + } + }, + "node_modules/logkitty/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/logkitty/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/logkitty/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logkitty/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/logkitty/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/logkitty/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/marky": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", + "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", + "license": "Apache-2.0" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/md5-file": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", + "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "license": "MIT", + "dependencies": { + "buffer-alloc": "^1.1.0" + }, + "bin": { + "md5-file": "cli.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/md5hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", + "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==", + "license": "MIT" + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT" + }, + "node_modules/memory-cache": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", + "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==", + "license": "BSD-2-Clause" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/metro": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.12.tgz", + "integrity": "sha512-1UsH5FzJd9quUsD1qY+zUG4JY3jo3YEMxbMYH9jT6NK3j4iORhlwTK8fYTfAUBhDKjgLfKjAh7aoazNE23oIRA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "accepts": "^1.3.7", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^2.2.0", + "denodeify": "^1.2.1", + "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.23.1", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-config": "0.80.12", + "metro-core": "0.80.12", + "metro-file-map": "0.80.12", + "metro-resolver": "0.80.12", + "metro-runtime": "0.80.12", + "metro-source-map": "0.80.12", + "metro-symbolicate": "0.80.12", + "metro-transform-plugins": "0.80.12", + "metro-transform-worker": "0.80.12", + "mime-types": "^2.1.27", + "nullthrows": "^1.1.1", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "strip-ansi": "^6.0.0", + "throat": "^5.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.12.tgz", + "integrity": "sha512-YZziRs0MgA3pzCkkvOoQRXjIoVjvrpi/yRlJnObyIvMP6lFdtyG4nUGIwGY9VXnBvxmXD6mPY2e+NSw6JAyiRg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.23.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "license": "MIT" + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.23.1" + } + }, + "node_modules/metro-cache": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.12.tgz", + "integrity": "sha512-p5kNHh2KJ0pbQI/H7ZBPCEwkyNcSz7OUkslzsiIWBMPQGFJ/xArMwkV7I+GJcWh+b4m6zbLxE5fk6fqbVK1xGA==", + "license": "MIT", + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "metro-core": "0.80.12" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-cache-key": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.12.tgz", + "integrity": "sha512-o4BspKnugg/pE45ei0LGHVuBJXwRgruW7oSFAeSZvBKA/sGr0UhOGY3uycOgWInnS3v5yTTfiBA9lHlNRhsvGA==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-config": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.12.tgz", + "integrity": "sha512-4rwOWwrhm62LjB12ytiuR5NgK1ZBNr24/He8mqCsC+HXZ+ATbrewLNztzbAZHtFsrxP4D4GLTGgh96pCpYLSAQ==", + "license": "MIT", + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.6.3", + "metro": "0.80.12", + "metro-cache": "0.80.12", + "metro-core": "0.80.12", + "metro-runtime": "0.80.12" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-core": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.12.tgz", + "integrity": "sha512-QqdJ/yAK+IpPs2HU/h5v2pKEdANBagSsc6DRSjnwSyJsCoHlmyJKCaCJ7KhWGx+N4OHxh37hoA8fc2CuZbx0Fw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.80.12" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-file-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.12.tgz", + "integrity": "sha512-sYdemWSlk66bWzW2wp79kcPMzwuG32x1ZF3otI0QZTmrnTaaTiGyhE66P1z6KR4n2Eu5QXiABa6EWbAQv0r8bw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", + "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-worker": "^29.6.3", + "micromatch": "^4.0.4", + "node-abort-controller": "^3.1.1", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/metro-file-map/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/metro-minify-terser": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.12.tgz", + "integrity": "sha512-muWzUw3y5k+9083ZoX9VaJLWEV2Jcgi+Oan0Mmb/fBNMPqP9xVDuy4pOMn/HOiGndgfh/MK7s4bsjkyLJKMnXQ==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-resolver": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.12.tgz", + "integrity": "sha512-PR24gYRZnYHM3xT9pg6BdbrGbM/Cu1TcyIFBVlAk7qDAuHkUNQ1nMzWumWs+kwSvtd9eZGzHoucGJpTUEeLZAw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-runtime": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.12.tgz", + "integrity": "sha512-LIx7+92p5rpI0i6iB4S4GBvvLxStNt6fF0oPMaUd1Weku7jZdfkCZzmrtDD9CSQ6EPb0T9NUZoyXIxlBa3wOCw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-source-map": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.12.tgz", + "integrity": "sha512-o+AXmE7hpvM8r8MKsx7TI21/eerYYy2DCDkWfoBkv+jNkl61khvDHlQn0cXZa6lrcNZiZkl9oHSMcwLLIrFmpw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-symbolicate": "0.80.12", + "nullthrows": "^1.1.1", + "ob1": "0.80.12", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.12.tgz", + "integrity": "sha512-/dIpNdHksXkGHZXARZpL7doUzHqSNxgQ8+kQGxwpJuHnDhGkENxB5PS2QBaTDdEcmyTMjS53CN1rl9n1gR6fmw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.80.12", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "through2": "^2.0.1", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-symbolicate/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.12.tgz", + "integrity": "sha512-WQWp00AcZvXuQdbjQbx1LzFR31IInlkCDYJNRs6gtEtAyhwpMMlL2KcHmdY+wjDO9RPcliZ+Xl1riOuBecVlPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.12.tgz", + "integrity": "sha512-KAPFN1y3eVqEbKLx1I8WOarHPqDMUa8WelWxaJCNKO/yHCP26zELeqTJvhsQup+8uwB6EYi/sp0b6TGoh6lOEA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", + "@babel/parser": "^7.20.0", + "@babel/types": "^7.20.0", + "flow-enums-runtime": "^0.0.6", + "metro": "0.80.12", + "metro-babel-transformer": "0.80.12", + "metro-cache": "0.80.12", + "metro-cache-key": "0.80.12", + "metro-minify-terser": "0.80.12", + "metro-source-map": "0.80.12", + "metro-transform-plugins": "0.80.12", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/metro/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT" + }, + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.23.1.tgz", + "integrity": "sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==", + "license": "MIT" + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.23.1.tgz", + "integrity": "sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.23.1" + } + }, + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/metro/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/nested-error-stacks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", + "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==", + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "license": "MIT" + }, + "node_modules/nocache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", + "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "license": "MIT" + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.51", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", + "integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-stream-zip": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", + "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/antelle" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-package-arg": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", + "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "license": "ISC", + "dependencies": { + "hosted-git-info": "^3.0.2", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "license": "MIT" + }, + "node_modules/ob1": { + "version": "0.80.12", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.12.tgz", + "integrity": "sha512-VMArClVT6LkhUGpnuEoBuyjG9rzUyEzg4PDkav6wK1cLhOK02gPCYFxoiB4mqVnrMhDpIzJcrGNAMVi9P+hXrw==", + "license": "MIT", + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-png": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", + "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", + "license": "MIT", + "dependencies": { + "pngjs": "^3.3.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.2.tgz", + "integrity": "sha512-cfDHL6LStTEKlNilboNtobT/kEa30PtAf2Q1OgszfrG/rpVl1xaFWT9ktfkS306GmHgmnad1Sw4wabhlvFtsTw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/plist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.1.tgz", + "integrity": "sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.9.10", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/plist/node_modules/@xmldom/xmldom": { + "version": "0.9.10", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz", + "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", + "license": "MIT", + "engines": { + "node": ">=14.6" + } + }, + "node_modules/plist/node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-format/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/pretty-format/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode-terminal": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", + "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/querystring": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "license": "MIT", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-5.3.2.tgz", + "integrity": "sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==", + "license": "MIT", + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-native": { + "version": "0.74.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.74.5.tgz", + "integrity": "sha512-Bgg2WvxaGODukJMTZFTZBNMKVaROHLwSb8VAGEdrlvKwfb1hHg/3aXTUICYk7dwgAnb+INbGMwnF8yeAgIUmqw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.6.3", + "@react-native-community/cli": "13.6.9", + "@react-native-community/cli-platform-android": "13.6.9", + "@react-native-community/cli-platform-ios": "13.6.9", + "@react-native/assets-registry": "0.74.87", + "@react-native/codegen": "0.74.87", + "@react-native/community-cli-plugin": "0.74.87", + "@react-native/gradle-plugin": "0.74.87", + "@react-native/js-polyfills": "0.74.87", + "@react-native/normalize-colors": "0.74.87", + "@react-native/virtualized-lists": "0.74.87", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "base64-js": "^1.5.1", + "chalk": "^4.0.0", + "event-target-shim": "^5.0.1", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "jest-environment-node": "^29.6.3", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.80.3", + "metro-source-map": "^0.80.3", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", + "react-devtools-core": "^5.0.0", + "react-refresh": "^0.14.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.24.0-canary-efb381bbf-20230505", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.2", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^18.2.6", + "react": "18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/react-native/node_modules/@react-native/normalize-colors": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.87.tgz", + "integrity": "sha512-Xh7Nyk/MPefkb0Itl5Z+3oOobeG9lfLb7ZOY2DKpFnoCE1TzBmib9vMNdFaLdSxLIP+Ec6icgKtdzYg8QUPYzA==", + "license": "MIT" + }, + "node_modules/react-native/node_modules/@react-native/virtualized-lists": { + "version": "0.74.87", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.74.87.tgz", + "integrity": "sha512-lsGxoFMb0lyK/MiplNKJpD+A1EoEUumkLrCjH4Ht+ZlG8S0BfCxmskLZ6qXn3BiDSkLjfjI/qyZ3pnxNBvkXpQ==", + "license": "MIT", + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^18.2.6", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.20", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.20.tgz", + "integrity": "sha512-KIkX+/GgfFitlASYCGoSF+T4XRXhOubJLhkLVtSfsRTe9jWMmuM2g28zQ41BtPTG7TRBb2xHW+LCNVE9QR/vsg==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/react-native/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/react-native/node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/react-native/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-native/node_modules/ws": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.4.tgz", + "integrity": "sha512-PNIUUyLI5YpkJZj60YBzX1o0ByQ4ovvfmq9N/Kig/PAYbVlGyz4R6G0SEWrD0O9acc0sT2+IdMBVLFv8FSi0Nw==", + "license": "MIT", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-shallow-renderer": { + "version": "16.15.0", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", + "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/readline": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==", + "license": "BSD" + }, + "node_modules/recast": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", + "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", + "license": "MIT", + "dependencies": { + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/recast/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.2.tgz", + "integrity": "sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/remove-trailing-slash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", + "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==", + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/requireg": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", + "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", + "dependencies": { + "nested-error-stacks": "~2.0.1", + "rc": "~1.2.7", + "resolve": "~1.7.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/requireg/node_modules/resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "license": "MIT", + "dependencies": { + "path-parse": "^1.0.5" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-workspace-root": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.1.tgz", + "integrity": "sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==", + "license": "MIT" + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/scheduler": { + "version": "0.24.0-canary-efb381bbf-20230505", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", + "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-static/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/serve-static/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-static/node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.9.0.tgz", + "integrity": "sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "license": "MIT", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "node_modules/simple-plist/node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "license": "MIT", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/simple-plist/node_modules/bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/slugify": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.9.tgz", + "integrity": "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "license": "Unlicense", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/structured-headers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", + "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "license": "MIT", + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tempy": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz", + "integrity": "sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==", + "license": "MIT", + "dependencies": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.49.0.tgz", + "integrity": "sha512-SNiDnXyHSrxVcIOtVbULzcTmniUiwcV7Nwdyj1twVubeTmbjoa8p69KKDpfkdoOavuM4/GRm1+ykI8qqnavHoA==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/traverse": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.11.tgz", + "integrity": "sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==", + "license": "MIT", + "dependencies": { + "gopd": "^1.2.0", + "typedarray.prototype.slice": "^1.0.5", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray.prototype.slice": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.5.tgz", + "integrity": "sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "math-intrinsics": "^1.1.0", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-offset": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==", + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "license": "MIT" + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/whatwg-url-without-unicode": { + "version": "8.0.0-3", + "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz", + "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==", + "license": "MIT", + "dependencies": { + "buffer": "^5.4.3", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/whatwg-url-without-unicode/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wonka": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", + "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "license": "Apache-2.0", + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xcode/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/xml2js": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", + "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", + "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==", + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-2.1.0.tgz", + "integrity": "sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.18.0" + } + } + } +} diff --git a/spike-react-native/package.json b/spike-react-native/package.json new file mode 100644 index 0000000..ba59286 --- /dev/null +++ b/spike-react-native/package.json @@ -0,0 +1,24 @@ +{ + "name": "spike-react-native", + "version": "0.0.0", + "private": true, + "description": "CTORNDSD-590 spike: disposable React Native PoC for gd-design-library's atoms. Not published, not an npm workspace member. See plans/ctorndsd-590-react-native-integration-spike.md.", + "main": "node_modules/expo/AppEntry.js", + "scripts": { + "start": "expo start", + "type-check": "tsc --noEmit" + }, + "dependencies": { + "expo": "~51.0.28", + "expo-status-bar": "~1.12.1", + "react": "18.2.0", + "react-native": "0.74.5", + "gd-design-core": "file:../dist/libs/design-core" + }, + "devDependencies": { + "@babel/core": "^7.24.0", + "@types/react": "~18.2.79", + "babel-preset-expo": "~11.0.0", + "typescript": "~5.3.3" + } +} diff --git a/spike-react-native/src/components/GdButton/GdButton.tsx b/spike-react-native/src/components/GdButton/GdButton.tsx new file mode 100644 index 0000000..e347d6c --- /dev/null +++ b/spike-react-native/src/components/GdButton/GdButton.tsx @@ -0,0 +1,83 @@ +import { + ActivityIndicator, + Pressable, + Text, + type GestureResponderEvent, + type TextStyle, + type ViewStyle, +} from 'react-native'; +import { resolveButtonVariantStyle, type ButtonVariantName, type DesignCoreTheme } from 'gd-design-core'; + +/** Picks only the ViewStyle-compatible fields — gd-design-core's `color` field is for text, not the container view. */ +function toViewStyle(style: { backgroundColor?: string; borderColor?: string; borderWidth?: number }): ViewStyle { + const { backgroundColor, borderColor, borderWidth } = style; + return { backgroundColor, borderColor, borderWidth }; +} + +/** gd-design-core's fontWeight is a loose `string | number`; RN's TextStyle only accepts a fixed string union. */ +function toFontWeight(fontWeight: string | number): TextStyle['fontWeight'] { + const asString = String(fontWeight); + const allowed: ReadonlyArray = [ + 'normal', + 'bold', + '100', + '200', + '300', + '400', + '500', + '600', + '700', + '800', + '900', + ]; + return (allowed as readonly string[]).includes(asString) ? (asString as TextStyle['fontWeight']) : undefined; +} + +export interface GdButtonProps { + variant?: ButtonVariantName; + disabled?: boolean; + isLoading?: boolean; + onPress?: (event: GestureResponderEvent) => void; + theme?: DesignCoreTheme; + children?: string; +} + +/** + * CTORNDSD-590 Button port (per the spike plan's Migration Example) — the platform's smoke test. + * Consumes gd-design-core's `resolveButtonVariantStyle`, the same token-resolved values the React + * web and Lit adapters use, mapping its state-keyed style objects onto `Pressable`'s `pressed` state + * function instead of a CSS pseudo-class — exactly the state mechanism the resolver was designed to + * be state-shape-neutral about. Falls back to the resolver's own hardcoded defaults when no theme is + * supplied, so this renders standalone without gd-design-library's real theme wired in yet. + */ +export function GdButton({ variant = 'primary', disabled, isLoading, onPress, theme = {}, children }: GdButtonProps) { + const resolved = resolveButtonVariantStyle(theme, variant); + const isDisabled = disabled || isLoading; + + return ( + ({ + flexDirection: 'row', + alignItems: 'center', + borderRadius: 4, + paddingVertical: 8, + paddingHorizontal: 16, + ...toViewStyle(resolved.container), + ...(pressed && !isDisabled ? toViewStyle(resolved.containerActive) : null), + ...(isDisabled ? toViewStyle(resolved.containerDisabled) : null), + })} + accessibilityRole="button" + accessibilityState={{ disabled: !!isDisabled, busy: !!isLoading }} + > + {isLoading ? ( + + ) : ( + + {children} + + )} + + ); +} diff --git a/spike-react-native/tsconfig.json b/spike-react-native/tsconfig.json new file mode 100644 index 0000000..cad7560 --- /dev/null +++ b/spike-react-native/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "strict": true, + "baseUrl": ".", + "paths": { + "gd-design-core": ["../libs/design-core/src/index.ts"], + "gd-design-core/*": ["../libs/design-core/src/*"] + } + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 1862ec7..acdac4a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -23,7 +23,9 @@ "@griddynamics/ui": ["libs/ui/src/index.ts"], "@griddynamics/ui/*": ["libs/ui/src/*"], "gd-design-library": ["libs/ui/src/index.ts"], - "gd-design-library/*": ["libs/ui/src/*"] + "gd-design-library/*": ["libs/ui/src/*"], + "gd-design-core": ["libs/design-core/src/index.ts"], + "gd-design-core/*": ["libs/design-core/src/*"] } }, "exclude": ["node_modules", "tmp"] From 41ca5c996c1ce10a2a6b7e64d8900eac1e0a87ad Mon Sep 17 00:00:00 2001 From: Olek Date: Mon, 13 Jul 2026 16:02:11 +0200 Subject: [PATCH 02/20] feat(ui): Optimize A2UI rendering with caching and React.memo integration Added memoization to `A2UINode` using `React.memo` to prevent unnecessary re-renders in unchanged subtrees. Introduced caching for `dispatchAction`, `customRenderers`, `renderChildren`, `mergedStyles`, and `sanitizedChartAttributes` for improved performance and stability. Updated type definitions and utility methods to support these enhancements. --- .gitignore | 1 + docs/performance-strategy.md | 135 +++++++ .../src/tokenResolvers/button.spec.ts | 11 +- libs/design-core/src/tokenResolvers/button.ts | 28 +- .../src/tokenResolvers/checkbox.spec.ts | 20 + .../src/tokenResolvers/checkbox.ts | 16 +- .../src/tokenResolvers/input.spec.ts | 16 +- libs/design-core/src/tokenResolvers/input.ts | 39 +- .../src/tokenResolvers/select.spec.ts | 12 +- libs/design-core/src/tokenResolvers/select.ts | 26 +- .../src/tokenResolvers/typography.spec.ts | 23 ++ .../src/tokenResolvers/typography.ts | 74 +++- libs/spike-web-components/README.md | 20 - libs/spike-web-components/package.json | 17 - libs/spike-web-components/src/index.ts | 1 - .../tsconfig.harness.json | 9 - libs/ui/llms.txt | 2 +- libs/ui/src/ai/README.md | 2 +- libs/web-components/FINDINGS.md | 377 ++++++++++++++++++ libs/web-components/README.md | 60 +++ .../eslint.config.mjs | 0 .../harness/GdButtonReact.tsx | 2 +- .../harness/GdCheckboxReact.tsx | 16 + libs/web-components/harness/GdInputReact.tsx | 17 + libs/web-components/harness/GdSelectReact.tsx | 15 + .../harness/GdTypographyReact.tsx | 14 + .../harness/ctorndsd-286-repro.html | 11 + .../harness/ctorndsd-286-repro.tsx | 155 +++++++ .../harness/fidelity-check.html | 11 + .../web-components/harness/fidelity-check.tsx | 134 +++++++ .../harness/remaining-findings-repro.html | 11 + .../harness/remaining-findings-repro.tsx | 112 ++++++ .../harness/ssr-dsd-hydrate-check.ts | 48 +++ .../harness/ssr-dsd-hydrated.html | 88 ++++ .../harness/ssr-dsd-static.html | 88 ++++ libs/web-components/package.json | 21 + .../project.json | 10 +- .../screenshots/ctorndsd-286-repro.png | Bin 0 -> 227344 bytes .../screenshots/fidelity-check-after-fix.png | Bin 0 -> 191190 bytes .../screenshots/remaining-findings-repro.png | Bin 0 -> 134822 bytes .../screenshots/ssr-dsd-hydrated.png | Bin 0 -> 111942 bytes .../scripts/measure-bundle-size.mjs | 160 ++++++++ .../scripts/run-ssr-dsd-check.mjs | 38 ++ libs/web-components/scripts/ssr-dsd-render.ts | 75 ++++ .../src/components/gd-button/gd-button.ts | 54 ++- .../src/components/gd-checkbox/gd-checkbox.ts | 174 ++++++++ .../src/components/gd-input/gd-input.ts | 250 ++++++++++++ .../src/components/gd-select/gd-select.ts | 237 +++++++++++ .../components/gd-typography/gd-typography.ts | 93 +++++ libs/web-components/src/index.ts | 5 + libs/web-components/tsconfig.harness.json | 10 + .../tsconfig.json | 0 .../tsconfig.lib.json | 0 .../vite.config.ts | 6 +- package-lock.json | 185 ++++++++- package.json | 9 +- 56 files changed, 2806 insertions(+), 132 deletions(-) create mode 100644 docs/performance-strategy.md delete mode 100644 libs/spike-web-components/README.md delete mode 100644 libs/spike-web-components/package.json delete mode 100644 libs/spike-web-components/src/index.ts delete mode 100644 libs/spike-web-components/tsconfig.harness.json create mode 100644 libs/web-components/FINDINGS.md create mode 100644 libs/web-components/README.md rename libs/{spike-web-components => web-components}/eslint.config.mjs (100%) rename libs/{spike-web-components => web-components}/harness/GdButtonReact.tsx (92%) create mode 100644 libs/web-components/harness/GdCheckboxReact.tsx create mode 100644 libs/web-components/harness/GdInputReact.tsx create mode 100644 libs/web-components/harness/GdSelectReact.tsx create mode 100644 libs/web-components/harness/GdTypographyReact.tsx create mode 100644 libs/web-components/harness/ctorndsd-286-repro.html create mode 100644 libs/web-components/harness/ctorndsd-286-repro.tsx create mode 100644 libs/web-components/harness/fidelity-check.html create mode 100644 libs/web-components/harness/fidelity-check.tsx create mode 100644 libs/web-components/harness/remaining-findings-repro.html create mode 100644 libs/web-components/harness/remaining-findings-repro.tsx create mode 100644 libs/web-components/harness/ssr-dsd-hydrate-check.ts create mode 100644 libs/web-components/harness/ssr-dsd-hydrated.html create mode 100644 libs/web-components/harness/ssr-dsd-static.html create mode 100644 libs/web-components/package.json rename libs/{spike-web-components => web-components}/project.json (62%) create mode 100644 libs/web-components/screenshots/ctorndsd-286-repro.png create mode 100644 libs/web-components/screenshots/fidelity-check-after-fix.png create mode 100644 libs/web-components/screenshots/remaining-findings-repro.png create mode 100644 libs/web-components/screenshots/ssr-dsd-hydrated.png create mode 100644 libs/web-components/scripts/measure-bundle-size.mjs create mode 100644 libs/web-components/scripts/run-ssr-dsd-check.mjs create mode 100644 libs/web-components/scripts/ssr-dsd-render.ts rename libs/{spike-web-components => web-components}/src/components/gd-button/gd-button.ts (56%) create mode 100644 libs/web-components/src/components/gd-checkbox/gd-checkbox.ts create mode 100644 libs/web-components/src/components/gd-input/gd-input.ts create mode 100644 libs/web-components/src/components/gd-select/gd-select.ts create mode 100644 libs/web-components/src/components/gd-typography/gd-typography.ts create mode 100644 libs/web-components/src/index.ts create mode 100644 libs/web-components/tsconfig.harness.json rename libs/{spike-web-components => web-components}/tsconfig.json (100%) rename libs/{spike-web-components => web-components}/tsconfig.lib.json (100%) rename libs/{spike-web-components => web-components}/vite.config.ts (81%) diff --git a/.gitignore b/.gitignore index c31aebb..f04852d 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,7 @@ __screenshots__ .claude/tools/node_modules /libs/ui/scripts/output/* /libs/ui/.size-limit.json +/libs/web-components/bundle-size-report.json # Vitest artifacts .vitest-artifacts diff --git a/docs/performance-strategy.md b/docs/performance-strategy.md new file mode 100644 index 0000000..e5d3912 --- /dev/null +++ b/docs/performance-strategy.md @@ -0,0 +1,135 @@ +# Performance Strategy + +## Executive Summary + +This document inventories the current performance-relevant state of `gd-design-library` (`libs/ui`) and lays out a prioritized roadmap for closing the gaps found. It covers general component usage and the library's role powering Dynamic Builder (the internal name for the AI-driven UI Builder built on `gd-design-library`, exposed in this repo as **A2UI mode**). + +Top-line verdict: build and bundle tooling is mature and requires no near-term action. Four gaps exist, in priority order: the A2UI render path has no memoization anywhere in its core render function; general component runtime optimization (`useMemo`/`useCallback`/`React.memo`) is adopted in a small minority of components; LLM prompt construction and component discovery in the A2UI/AI layer do redundant work on every call; and there is no runtime performance observability (no Lighthouse CI, no Core Web Vitals tracking) anywhere in the repo. + +## Scope and Audience + +This document covers `gd-design-library` (`libs/ui`) only — not `gd-form-configurator` or `gd-form-configurator-react`. It addresses two audiences: engineers building components and pages with GridKit directly (Code mode), and engineers building or maintaining Dynamic Builder / A2UI surfaces (A2UI mode). See root `CLAUDE.md`'s "AI integration — two modes" section for the Code-mode-vs-A2UI-mode split this document builds on. + +## Current State: Build and Bundle Tooling (Mature) + +This tier is already solved. No changes are proposed to it in this document. + +- `libs/ui/.size-limit.budgets.json` defines per-export size budgets: `single: 40 kB`, `ai: 120 kB`, `wholeLibrary: 350 kB`, `wholeAI: 250 kB`, with overrides for `Chart: 150 kB`, `AreaChart`/`BarChart`/`LineChart: 120 kB` each, `PieChart: 60 kB`, `Modal: 32 kB`, `Tooltip: 24 kB`, `ai/buildA2UISystemPrompt: 100 kB`, `ai/A2UI_SPEC_SCHEMA: 95 kB`, and `ai/aiComponentsSchema: 180 kB`. +- `libs/ui/scripts/size-check.mjs`, `libs/ui/scripts/treeshake-check.mjs`, and `libs/ui/scripts/agadoo-check.mjs` are wired into the 10-phase `verify:ui:full` / `verify:ui:ci` pipeline (root `package.json`) and into CI (`.github/workflows/pr-head.yaml`, job `verify-ui`), producing an aggregated HTML dashboard and history snapshots. +- `libs/ui/vite.config.ts` externalizes React, React DOM, and `@emotion/*`; sets `treeshake: { preset: 'recommended' }`; sets `cssCodeSplit: true`; and builds dual ESM/CJS output with `preserveModules: true` for both formats. + +## Current State: Runtime React Optimization (Gap) + +Across 377 component source files in `libs/ui/src/components/` (excluding `.test.`, `.stories.`, and `.types.` files): + +- `useCallback` appears in 36 files (9.5%). +- `useMemo` appears in 9 files (2.4%). +- `React.memo` appears in 0 files (0%). +- `React.lazy`/`Suspense` appear in 0 files (0%). + +`Table.tsx` (`libs/ui/src/components/organisms/Table/Table.tsx`) is the one component that implements virtualization for large datasets — it exposes a `virtualized` prop, computes a visible row range instead of rendering the full dataset, and handles scroll-to-row against the virtualized subset. It is the model pattern to point to for future virtualization work elsewhere in the library. + +For component-level guidance already in the repo, see `.claude/skills/ui-development/references/design-quality.md`'s "Performance" section (prefer WebP/AVIF, lazy-load below the fold, virtualize long lists). This document does not restate that guidance. + +## Current State: A2UI Render Path (Gap, epic-critical) + +This is the sharpest gap and the one most directly tied to Epic CTORNDSD-571 (Dynamic Builder). + +- `renderA2UISpec()` and its recursive render function in `libs/ui/src/utils/a2ui/render.tsx` (187 lines) contain zero uses of `useMemo`, `useCallback`, or `React.memo`. Every call performs a full recursive re-render of the spec tree. +- `A2UI_COMPONENT_MAP` (`libs/ui/src/ai/a2ui/component-map.ts`) is a module-level `const` built once via `buildA2UIComponentMap()` at module load — lookups against it are O(1) after that one-time build. This is already efficient and is not a gap. +- Reconciliation uses stable `key={component.id}` / `key={child.id}` throughout `render.tsx`. This is already correct and is not a gap. +- Of 3,619 total lines across the renderer files in `libs/ui/src/utils/a2ui/renderers/`, only `drag-and-drop.tsx` and `modal.tsx` use `useMemo`/`useCallback`. The remaining renderer files (`chart.tsx`, `table.tsx`, `form.tsx`, and the rest) recreate handlers and style objects on every render. +- `getMergedComponentStyles()` (`libs/ui/src/utils/a2ui/helpers/styling.tsx`) is called from `render.tsx` and from most renderer files on every render; it rebuilds its merged style object from inline props, legacy `styles`, `component.styling`, and any extra styles on every call, with no memoization. +- AJV schema validation for generated specs runs on the LLM/generation side, not inside the renderer — this is already correct and is not a render-time cost. +- `A2UI_PROTOCOL.md` (`libs/ui/src/ai/a2ui/A2UI_PROTOCOL.md`) defines a full spec-replace message format today (`type: "a2ui"` carrying a complete `A2UISpec`). No patch, delta, or streaming update concept exists in the protocol as documented. This fact is revisited as deferred future work below. + +## Current State: LLM Prompt / Discovery Cost (Gap, distinct from render-time) + +This gap is about token/compute cost when constructing prompts and searching the component catalog — distinct from the render-time cost described above. + +- `buildA2UISystemPrompt()` (`libs/ui/src/ai/a2ui/system-prompt.ts`, 1,252 lines) reconstructs its full component catalog, schema, and icon list from scratch on every call. No caching of the static portion of the prompt exists in the file. +- `discovery.ts` (`libs/ui/src/ai/discovery.ts`, 145 lines) performs unindexed linear scans over the component catalog on every call: `discovery.getComponent()` does an O(n) `Array.find`, `discovery.searchComponents()` does an O(n) `Array.filter`, and `discovery.getRelatedComponents()` nests a scan over the catalog inside a scan over each component's composition tips, which is effectively O(n²) in the number of catalogued components. The catalog currently has 64 component schema files under `libs/ui/src/ai/schemas/components/`. + +## Current State: Observability and Monitoring (Absent) + +No Lighthouse CI configuration and no `web-vitals` usage exist anywhere in the repo — confirmed across `.github/workflows/*.yaml` and the Storybook configuration. This is distinct from the bundle-size dashboard described above, which measures build-time output size, not runtime performance. There is currently no way to detect a runtime performance regression except manual observation. + +## Goals + +- This roadmap must not regress the mature build tier described above. +- Each phase below must have a falsifiable success metric. +- Recommendations should prefer reusing existing patterns already proven in this codebase — `Table.tsx`'s virtualization, `drag-and-drop.tsx`'s and `modal.tsx`'s memoization — over introducing new dependencies. + +## Non-Goals (This Document) + +- This document must not modify any `.ts`/`.tsx` source file under `libs/ui/src/`. All recommendations are prose only. +- This document must not add any new script under `libs/ui/scripts/`, any `package.json`/lockfile change, or any new dependency (Lighthouse, `web-vitals`, profiling libraries). +- This document must not modify `libs/ui/.size-limit.budgets.json`, any `verify:ui:*` script, `libs/ui/src/ai/a2ui/A2UI_PROTOCOL.md`, or `libs/ui/src/ai/a2ui/spec-schema.ts`. +- This document must not modify `.claude/skills/ui-development/references/design-quality.md` — it is referenced by link only. +- This document must not perform any Jira/Confluence write action. +- This document must not restate or re-scope work owned by sibling epic tickets: CTORNDSD-631's Confluence latency checklist, CTORNDSD-632's model benchmark, CTORNDSD-573's modularity work, CTORNDSD-574's general docs, or CTORNDSD-634's native-props work. See "Related Tickets" below for the precise boundary. + +## Prioritized Roadmap (Overview Table) + +| Phase | Focus | Status | +| ----- | ------------------------------------------ | --------------------- | +| 1 | A2UI render-path memoization | Proposed | +| 2 | LLM prompt + discovery caching | Proposed | +| 3 | Runtime instrumentation for consuming apps | Proposed | +| 4 | A2UI streaming/incremental-update protocol | Deferred — undesigned | + +## Phase 1 Detail — A2UI Render-Path Memoization + +Recommendation: apply `useMemo`, `useCallback`, and `React.memo` to `libs/ui/src/utils/a2ui/render.tsx` and to the renderer files in `libs/ui/src/utils/a2ui/renderers/`, following the pattern already established in `drag-and-drop.tsx` and `modal.tsx`. `getMergedComponentStyles()` (`libs/ui/src/utils/a2ui/helpers/styling.tsx`) should be memoized per component so it does not rebuild its merged style object on every render. Renderers to prioritize first: `chart.tsx`, `table.tsx`, `form.tsx` — these compose the most nested subtrees. + +Success metric: the re-render count of an unchanged A2UI subtree drops to zero on an unrelated state update, verified via the React DevTools Profiler or existing Vitest/Testing Library infrastructure. + +## Phase 2 Detail — LLM Prompt and Discovery Caching + +Recommendation: cache the static portions of `buildA2UISystemPrompt()`'s output (`libs/ui/src/ai/a2ui/system-prompt.ts`) so the full ~8–15 KB catalog/schema/icon list is not rebuilt from scratch on every call. Index `discovery.ts` (`libs/ui/src/ai/discovery.ts`) with a `Map` built once at module load, replacing the current linear and nested-linear scans in `getComponent`, `searchComponents`, and `getRelatedComponents`. + +Success metric: a build/compute-time proxy measuring prompt-construction and discovery-query time, kept distinct from Phase 1's render-count metric. + +## Phase 3 Detail — Runtime Instrumentation for Consuming Apps + +Recommendation: applications consuming `gd-design-library` (not `libs/ui` itself) should prefer Lighthouse CI or the `web-vitals` package for ongoing Core Web Vitals tracking. As a zero-dependency manual option, the `chrome-devtools-mcp` MCP tools already available in this environment (`performance_start_trace`, `lighthouse_audit`) can produce an ad hoc baseline without adding any dependency to this repo. + +Success metric: a baseline Core Web Vitals report exists for at least one representative A2UI-rendering page in a consuming application. + +## Phase 4 Detail (Deferred) — A2UI Streaming / Incremental Updates + +Streaming-friendly UI updates were a stated non-functional performance goal in the Dynamic Builder architecture, but no implementation exists anywhere in this codebase today: `A2UI_PROTOCOL.md` (`libs/ui/src/ai/a2ui/A2UI_PROTOCOL.md`) defines a spec-replace-only message format, with no patch, delta, or streaming concept. + +This document names streaming/incremental-update protocol support as a future phase only. It does not specify a wire format, a versioning scheme, or a reconciliation approach. Future readers must not begin implementation from this document alone — this phase requires a dedicated design ticket before any code is written. + +## Traceability / Source References + +- `libs/ui/.size-limit.budgets.json` +- `libs/ui/scripts/size-check.mjs` +- `libs/ui/scripts/treeshake-check.mjs` +- `libs/ui/scripts/agadoo-check.mjs` +- `libs/ui/vite.config.ts` +- `libs/ui/src/components/organisms/Table/Table.tsx` +- `libs/ui/src/utils/a2ui/render.tsx` +- `libs/ui/src/ai/a2ui/component-map.ts` +- `libs/ui/src/utils/a2ui/renderers/drag-and-drop.tsx` +- `libs/ui/src/utils/a2ui/renderers/modal.tsx` +- `libs/ui/src/utils/a2ui/renderers/chart.tsx` +- `libs/ui/src/utils/a2ui/renderers/table.tsx` +- `libs/ui/src/utils/a2ui/renderers/form.tsx` +- `libs/ui/src/utils/a2ui/helpers/styling.tsx` +- `libs/ui/src/ai/a2ui/A2UI_PROTOCOL.md` +- `libs/ui/src/ai/a2ui/system-prompt.ts` +- `libs/ui/src/ai/discovery.ts` +- `libs/ui/src/ai/schemas/components/` +- `.github/workflows/pr-head.yaml` +- `.claude/skills/ui-development/references/design-quality.md` + +## Related Tickets (Cross-Reference Only) + +- **CTORNDSD-573** (package subpath refactor) — covers publishing/subpath structure of `gd-design-library`. This document does not re-scope subpath or export structure. +- **CTORNDSD-574** (general docs) — covers general-purpose documentation for the library. This document is scoped narrowly to performance and does not duplicate general docs work. +- **CTORNDSD-575** — reserved for other epic-scoped work; not addressed here. +- **CTORNDSD-631** (Dynamic Builder Performance Improvement Checklist, Confluence) — owns the detailed operational checklist and proposed numeric SLA for Dynamic Builder latency/cost. This document cites its findings but does not restate or replace the checklist. +- **CTORNDSD-632** (Dynamic Builder Model Benchmark & Selection Checklist, Confluence) — owns LLM model selection and benchmarking guidance. This document does not make model-choice recommendations. +- **CTORNDSD-634** (native-props work) — covers component prop/native-HTML-attribute pass-through. Out of scope here. diff --git a/libs/design-core/src/tokenResolvers/button.spec.ts b/libs/design-core/src/tokenResolvers/button.spec.ts index d6d314c..e386c42 100644 --- a/libs/design-core/src/tokenResolvers/button.spec.ts +++ b/libs/design-core/src/tokenResolvers/button.spec.ts @@ -32,7 +32,7 @@ describe('resolveButtonVariantStyle', () => { it('resolves the outlined variant with a border', () => { const style = resolveButtonVariantStyle(theme, 'outlined'); expect(style.container.borderColor).toBe('#000000'); - expect(style.container.borderWidth).toBe(1); + expect(style.container.borderWidth).toBe('1px'); expect(style.containerDisabled.borderColor).toBe('#cccccc'); }); @@ -54,7 +54,14 @@ describe('resolveButtonVariantStyle', () => { it('falls back to hardcoded defaults when theme values are missing', () => { const style = resolveButtonVariantStyle({}, 'primary'); - expect(style.container.backgroundColor).toBe('#000000'); + expect(style.container.backgroundColor).toBe('#FFB800'); expect(style.textColor).toBe('#000000'); }); + + it('falls back to the real hover/active/disabled brand colors, not black-based placeholders', () => { + const style = resolveButtonVariantStyle({}, 'primary'); + expect(style.containerHover.backgroundColor).toBe('#F29100'); + expect(style.containerActive.backgroundColor).toBe('#FF8700'); + expect(style.containerDisabled.backgroundColor).toBe('#E5E5E5'); + }); }); diff --git a/libs/design-core/src/tokenResolvers/button.ts b/libs/design-core/src/tokenResolvers/button.ts index ffe7d91..2bf6aa7 100644 --- a/libs/design-core/src/tokenResolvers/button.ts +++ b/libs/design-core/src/tokenResolvers/button.ts @@ -11,7 +11,7 @@ export interface ButtonVariantStateStyle { } export interface ResolvedButtonStyle { - container: ButtonVariantStateStyle & { borderWidth?: number }; + container: ButtonVariantStateStyle & { borderWidth?: string }; containerHover: ButtonVariantStateStyle; containerActive: ButtonVariantStateStyle; containerDisabled: ButtonVariantStateStyle; @@ -34,17 +34,18 @@ export function resolveButtonVariantStyle( theme: DesignCoreTheme, variant: ButtonVariantName = 'primary' ): ResolvedButtonStyle { - const textDefault = get(theme, 'colors.text.default', '#171717'); + const textDefault = get(theme, 'colors.text.default', '#000000'); const textBlack = get(theme, 'colors.text.black', '#000000'); - const textPrimary = get(theme, 'colors.text.primary', textDefault); - const textSecondary = get(theme, 'colors.text.secondary', textDefault); - const fillPrimary = get(theme, 'colors.bg.fill.primary', '#000000'); - const fillSecondary = get(theme, 'colors.bg.fill.secondary', '#171717'); - const fillHover = get(theme, 'colors.bg.fill.hover', '#f5f5f5'); - const fillDisabled = get(theme, 'colors.bg.fill.disabled', '#e0e0e0'); - const fillWarningPrimary = get(theme, 'colors.bg.fill.warning.primary.default', fillSecondary); + const textPrimary = get(theme, 'colors.text.primary', '#FFB800'); + const textSecondary = get(theme, 'colors.text.secondary', '#F29100'); + const fillPrimary = get(theme, 'colors.bg.fill.primary', '#FFB800'); + const fillSecondary = get(theme, 'colors.bg.fill.secondary', '#F29100'); + const fillHover = get(theme, 'colors.bg.fill.hover', '#FFF7E5'); + const fillDisabled = get(theme, 'colors.bg.fill.disabled', '#E5E5E5'); + const fillWarningPrimary = get(theme, 'colors.bg.fill.warning.primary.default', '#FF8700'); const borderBlack = get(theme, 'colors.border.black', '#000000'); - const borderDisabled = get(theme, 'colors.border.disabled', '#cccccc'); + const borderDisabled = get(theme, 'colors.border.disabled', '#E5E5E5'); + const borderThin = get(theme, 'values.borderThin', '1px'); const fontWeightMedium = get(theme, 'font.weight.medium', 500); const variants: Record = { @@ -73,7 +74,12 @@ export function resolveButtonVariantStyle( label: { color: textDefault, fontWeight: fontWeightMedium }, }, outlined: { - container: { backgroundColor: TRANSPARENT, color: textDefault, borderColor: borderBlack, borderWidth: 1 }, + container: { + backgroundColor: TRANSPARENT, + color: textDefault, + borderColor: borderBlack, + borderWidth: borderThin, + }, containerHover: { backgroundColor: fillHover }, containerActive: { backgroundColor: fillPrimary, color: textBlack }, containerDisabled: { backgroundColor: TRANSPARENT, borderColor: borderDisabled }, diff --git a/libs/design-core/src/tokenResolvers/checkbox.spec.ts b/libs/design-core/src/tokenResolvers/checkbox.spec.ts index 925d106..d33f5e0 100644 --- a/libs/design-core/src/tokenResolvers/checkbox.spec.ts +++ b/libs/design-core/src/tokenResolvers/checkbox.spec.ts @@ -6,6 +6,7 @@ const theme: DesignCoreTheme = { colors: { bg: { fill: { primary: '#000000' } }, border: { default: '#cccccc' }, text: { default: '#171717' } }, values: { borderMedium: '2px' }, radius: { xs: '2px' }, + font: { family: 'Fira Sans', size: { small: '14px' }, line: { height: { small: '20px' } } }, }; describe('resolveCheckboxStyle', () => { @@ -34,4 +35,23 @@ describe('resolveCheckboxStyle', () => { expect(style.indicatorDefault.borderRadius).toBe('2px'); expect(style.indicatorDefault.backgroundColor).toBe('transparent'); }); + + it('resolves the label typography from theme', () => { + const style = resolveCheckboxStyle(theme, 'md'); + expect(style.labelFontFamily).toBe('Fira Sans'); + expect(style.labelFontSize).toBe('14px'); + expect(style.labelLineHeight).toBe('20px'); + }); + + it('falls back to real hardcoded defaults when no theme is passed', () => { + const style = resolveCheckboxStyle({}, 'md'); + expect(style.indicatorChecked.backgroundColor).toBe('#FFB800'); + expect(style.indicatorDefault.borderColor).toBe('#E5E5E5'); + expect(style.indicatorDefault.borderWidth).toBe('2px'); + expect(style.indicatorDefault.borderRadius).toBe('2px'); + expect(style.labelColor).toBe('#000000'); + expect(style.labelFontFamily).toBe('"Fira Sans", sans-serif'); + expect(style.labelFontSize).toBe('14px'); + expect(style.labelLineHeight).toBe('20px'); + }); }); diff --git a/libs/design-core/src/tokenResolvers/checkbox.ts b/libs/design-core/src/tokenResolvers/checkbox.ts index 4e8c87d..4a21f31 100644 --- a/libs/design-core/src/tokenResolvers/checkbox.ts +++ b/libs/design-core/src/tokenResolvers/checkbox.ts @@ -16,6 +16,9 @@ export interface ResolvedCheckboxStyle { indicatorChecked: { backgroundColor: string; borderColor: string }; indicatorIndeterminate: { backgroundColor: string; borderColor: string }; labelColor: string; + labelFontFamily: string | number; + labelFontSize: string | number; + labelLineHeight: string | number; } /** Matches libs/ui/src/tokens/checkbox.ts `size` scale (px box size + icon size). */ @@ -26,16 +29,16 @@ const SIZE_PX: Record = { export function resolveCheckboxStyle(theme: DesignCoreTheme, size: CheckboxSizeName = 'md'): ResolvedCheckboxStyle { const { box, icon } = SIZE_PX[size] ?? SIZE_PX.md; - const fillPrimary = get(theme, 'colors.bg.fill.primary', '#000000'); + const fillPrimary = get(theme, 'colors.bg.fill.primary', '#FFB800'); return { indicatorSize: box, iconSize: icon, indicatorDefault: { - borderWidth: get(theme, 'values.borderMedium', 2), - borderColor: get(theme, 'colors.border.default', '#cccccc'), + borderWidth: get(theme, 'values.borderMedium', '2px'), + borderColor: get(theme, 'colors.border.default', '#E5E5E5'), backgroundColor: 'transparent', - borderRadius: get(theme, 'radius.xs', 2), + borderRadius: get(theme, 'radius.xs', '2px'), }, indicatorChecked: { backgroundColor: fillPrimary, @@ -45,6 +48,9 @@ export function resolveCheckboxStyle(theme: DesignCoreTheme, size: CheckboxSizeN backgroundColor: fillPrimary, borderColor: fillPrimary, }, - labelColor: get(theme, 'colors.text.default', '#171717'), + labelColor: get(theme, 'colors.text.default', '#000000'), + labelFontFamily: get(theme, 'font.family', '"Fira Sans", sans-serif'), + labelFontSize: get(theme, 'font.size.small', '14px'), + labelLineHeight: get(theme, 'font.line.height.small', '20px'), }; } diff --git a/libs/design-core/src/tokenResolvers/input.spec.ts b/libs/design-core/src/tokenResolvers/input.spec.ts index 2a16bd8..c72da21 100644 --- a/libs/design-core/src/tokenResolvers/input.spec.ts +++ b/libs/design-core/src/tokenResolvers/input.spec.ts @@ -12,14 +12,14 @@ const theme: DesignCoreTheme = { }; describe('resolveInputStyle', () => { - it('resolves the default color variant', () => { + it('resolves the primary color variant by default', () => { const style = resolveInputStyle(theme); expect(style.borderColor).toBe('#cccccc'); }); it.each([ ['success', '#0a5'], - ['primary', '#000000'], + ['warning', '#000000'], ['error', '#d33'], ] as const)('resolves the %s color variant border', (color, expected) => { expect(resolveInputStyle(theme, color).borderColor).toBe(expected); @@ -33,4 +33,16 @@ describe('resolveInputStyle', () => { expect(style.color).toBe('#171717'); expect(style.disabledColor).toBe('#a3a3a3'); }); + + it.each([ + ['primary', '#E5E5E5'], + ['success', '#34A853'], + ['warning', '#FFB800'], + ['error', '#D21C1C'], + ] as const)( + 'falls back to the real %s border color when no theme is passed, not one flat gray', + (color, expected) => { + expect(resolveInputStyle({}, color).borderColor).toBe(expected); + } + ); }); diff --git a/libs/design-core/src/tokenResolvers/input.ts b/libs/design-core/src/tokenResolvers/input.ts index 307e552..8cc8aef 100644 --- a/libs/design-core/src/tokenResolvers/input.ts +++ b/libs/design-core/src/tokenResolvers/input.ts @@ -1,8 +1,12 @@ import { get } from '../utils/get'; import type { DesignCoreTheme } from '../types'; -/** Mirrors gd-design-library's `InputColorVariant` (colors.border.{default,success,primary,error}). */ -export type InputColorVariantName = 'default' | 'success' | 'primary' | 'error'; +/** Matches gd-design-library's real `InputColorVariant` (libs/ui/src/types/input.ts) exactly — + * member names and values both, not just the resolved colors. `warning` is the real + * component's semantic role name for the `colors.border.primary` (brand-gold) token, and + * `primary` is its role name for `colors.border.default` — that inversion is the real + * vocabulary, not a naming choice made here. */ +export type InputColorVariantName = 'primary' | 'success' | 'warning' | 'error'; export interface ResolvedInputStyle { fontFamily: string | number; @@ -14,12 +18,21 @@ export interface ResolvedInputStyle { } export const COLOR_VARIANT_BORDER_PATH: Record = { - default: 'colors.border.default', + primary: 'colors.border.default', success: 'colors.border.success', - primary: 'colors.border.primary', + warning: 'colors.border.primary', error: 'colors.border.error', }; +/** Real libs/ui/src/tokens/colors.ts border values per variant — used as the `get()` fallback + * so a themeless render still shows the correct color-variant border, not one flat gray. */ +export const COLOR_VARIANT_BORDER_DEFAULT: Record = { + primary: '#E5E5E5', + success: '#34A853', + warning: '#FFB800', + error: '#D21C1C', +}; + /** * Resolves libs/ui/src/tokens/input.ts's color-variant border + base typography values. * The debounce/interaction-tracking behavior that gives Input its real portability value @@ -28,14 +41,18 @@ export const COLOR_VARIANT_BORDER_PATH: Record = */ export function resolveInputStyle( theme: DesignCoreTheme, - color: InputColorVariantName = 'default' + color: InputColorVariantName = 'primary' ): ResolvedInputStyle { return { - fontFamily: get(theme, 'font.family', 'inherit'), - fontSize: get(theme, 'font.size.p', 'inherit'), - color: get(theme, 'colors.text.default', '#171717'), - disabledColor: get(theme, 'colors.text.disabled', '#a3a3a3'), - borderWidth: get(theme, 'values.borderThin', 1), - borderColor: get(theme, COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.default, '#cccccc'), + fontFamily: get(theme, 'font.family', '"Fira Sans", sans-serif'), + fontSize: get(theme, 'font.size.p', '16px'), + color: get(theme, 'colors.text.default', '#000000'), + disabledColor: get(theme, 'colors.text.disabled', '#A3A3A3'), + borderWidth: get(theme, 'values.borderThin', '1px'), + borderColor: get( + theme, + COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.primary, + COLOR_VARIANT_BORDER_DEFAULT[color] ?? COLOR_VARIANT_BORDER_DEFAULT.primary + ), }; } diff --git a/libs/design-core/src/tokenResolvers/select.spec.ts b/libs/design-core/src/tokenResolvers/select.spec.ts index cfdea4b..3124eb6 100644 --- a/libs/design-core/src/tokenResolvers/select.spec.ts +++ b/libs/design-core/src/tokenResolvers/select.spec.ts @@ -13,7 +13,7 @@ const theme: DesignCoreTheme = { }; describe('resolveSelectStyle', () => { - it('resolves default color-variant border and surface values', () => { + it('resolves the primary color-variant border and surface values by default', () => { const style = resolveSelectStyle(theme); expect(style.borderColor).toBe('#cccccc'); expect(style.surfaceColor).toBe('#ffffff'); @@ -21,7 +21,7 @@ describe('resolveSelectStyle', () => { }); it('resolves a non-default color variant border', () => { - expect(resolveSelectStyle(theme, 'primary').borderColor).toBe('#000000'); + expect(resolveSelectStyle(theme, 'warning').borderColor).toBe('#000000'); }); it('resolves shared typography values', () => { @@ -30,4 +30,12 @@ describe('resolveSelectStyle', () => { expect(style.fontSize).toBe('16px'); expect(style.fontWeight).toBe(400); }); + + it('falls back to real hardcoded defaults when no theme is passed', () => { + const style = resolveSelectStyle({}, 'success'); + expect(style.borderColor).toBe('#34A853'); + expect(style.surfaceColor).toBe('#FFFFFF'); + expect(style.hoverBackgroundColor).toBe('#FFF7E5'); + expect(style.boxShadow).toBe('0px 8px 15px 1px rgba(0, 0, 0, 0.20)'); + }); }); diff --git a/libs/design-core/src/tokenResolvers/select.ts b/libs/design-core/src/tokenResolvers/select.ts index 666fa57..ed3f312 100644 --- a/libs/design-core/src/tokenResolvers/select.ts +++ b/libs/design-core/src/tokenResolvers/select.ts @@ -1,6 +1,6 @@ import { get } from '../utils/get'; import type { DesignCoreTheme } from '../types'; -import { COLOR_VARIANT_BORDER_PATH, type InputColorVariantName } from './input'; +import { COLOR_VARIANT_BORDER_PATH, COLOR_VARIANT_BORDER_DEFAULT, type InputColorVariantName } from './input'; export interface ResolvedSelectStyle { fontFamily: string | number; @@ -11,11 +11,12 @@ export interface ResolvedSelectStyle { borderWidth: string | number; borderColor: string; hoverBackgroundColor: string; + boxShadow: string; } /** * Resolves libs/ui/src/tokens/select.ts's color-variant border + surface/typography - * values (Select reuses the same `default`/`success`/`primary`/`error` color-variant + * values (Select reuses the same `primary`/`success`/`warning`/`error` color-variant * scale as Input). The open/close/selection/search behavior that makes Select the * highest shared-core-feasibility atom lives in `stores/createSelectStore.ts` — dropdown * viewport positioning, portal rendering, and keyboard-arrow DOM focus traversal stay in @@ -23,16 +24,21 @@ export interface ResolvedSelectStyle { */ export function resolveSelectStyle( theme: DesignCoreTheme, - color: InputColorVariantName = 'default' + color: InputColorVariantName = 'primary' ): ResolvedSelectStyle { return { - fontFamily: get(theme, 'font.family', 'inherit'), - fontSize: get(theme, 'font.size.p', 'inherit'), + fontFamily: get(theme, 'font.family', '"Fira Sans", sans-serif'), + fontSize: get(theme, 'font.size.p', '16px'), fontWeight: get(theme, 'font.weight.normal', 400), - color: get(theme, 'colors.text.default', '#171717'), - surfaceColor: get(theme, 'colors.bg.surface', '#ffffff'), - borderWidth: get(theme, 'values.borderThin', 1), - borderColor: get(theme, COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.default, '#cccccc'), - hoverBackgroundColor: get(theme, 'colors.bg.fill.hover', '#f5f5f5'), + color: get(theme, 'colors.text.default', '#000000'), + surfaceColor: get(theme, 'colors.bg.surface', '#FFFFFF'), + borderWidth: get(theme, 'values.borderThin', '1px'), + borderColor: get( + theme, + COLOR_VARIANT_BORDER_PATH[color] ?? COLOR_VARIANT_BORDER_PATH.primary, + COLOR_VARIANT_BORDER_DEFAULT[color] ?? COLOR_VARIANT_BORDER_DEFAULT.primary + ), + hoverBackgroundColor: get(theme, 'colors.bg.fill.hover', '#FFF7E5'), + boxShadow: get(theme, 'shadows.box["3"]', '0px 8px 15px 1px rgba(0, 0, 0, 0.20)'), }; } diff --git a/libs/design-core/src/tokenResolvers/typography.spec.ts b/libs/design-core/src/tokenResolvers/typography.spec.ts index 4ea0b05..c58964c 100644 --- a/libs/design-core/src/tokenResolvers/typography.spec.ts +++ b/libs/design-core/src/tokenResolvers/typography.spec.ts @@ -49,4 +49,27 @@ describe('resolveTypographyStyle', () => { it('defaults to span when no variant is passed', () => { expect(resolveTypographyStyle(theme)).toEqual(resolveTypographyStyle(theme, 'span')); }); + + it('resolves h1-h6 heading margins from the theme, and omits them for non-heading variants', () => { + expect(resolveTypographyStyle(theme, 'h1')).toMatchObject({ marginTop: '32px', marginBottom: '32px' }); + expect(resolveTypographyStyle(theme, 'p').marginTop).toBeUndefined(); + expect(resolveTypographyStyle(theme, 'span').marginTop).toBeUndefined(); + }); + + it('resolves the monospace family for code/kbd via the flat "family.code" key, not a nested path', () => { + const codeTheme: DesignCoreTheme = { font: { ...theme.font, 'family.code': '"Fira Code", Monaco' } }; + expect(resolveTypographyStyle(codeTheme, 'code').fontFamily).toBe('"Fira Code", Monaco'); + expect(resolveTypographyStyle(codeTheme, 'kbd').fontFamily).toBe('"Fira Code", Monaco'); + }); + + it('falls back to real hardcoded metrics/weights when no theme is passed at all', () => { + const style = resolveTypographyStyle({}, 'h1'); + expect(style.fontSize).toBe('48px'); + expect(style.lineHeight).toBe('56px'); + expect(style.marginTop).toBe('32px'); + + expect(resolveTypographyStyle({}, 'p', 'semibold').fontWeight).toBe(500); + expect(resolveTypographyStyle({}, 'p', 'light').fontWeight).toBe(300); + expect(resolveTypographyStyle({}, 'p', 'bold').fontWeight).toBe(700); + }); }); diff --git a/libs/design-core/src/tokenResolvers/typography.ts b/libs/design-core/src/tokenResolvers/typography.ts index 043eb83..5227a51 100644 --- a/libs/design-core/src/tokenResolvers/typography.ts +++ b/libs/design-core/src/tokenResolvers/typography.ts @@ -37,10 +37,58 @@ export interface ResolvedTypographyStyle { fontStyle?: string; textTransform?: string; textDecoration?: string; + /** Only set for h1-h6 (libs/ui/src/tokens/typography.ts sets explicit margins for headings + * only) — every other variant (p, span, small, etc.) intentionally has no margin override, + * so the browser's own UA default stays, matching the real component's behavior. */ + marginTop?: string; + marginBottom?: string; } const MONOSPACE_VARIANTS: ReadonlySet = new Set(['code', 'kbd']); +/** Real libs/ui/src/tokens/font.ts size/line-height per variant — used as `get()` fallbacks + * so a themeless render still shows correct metrics instead of `undefined` (no styling). */ +const VARIANT_FONT_SIZE: Partial> = { + h1: '48px', + h2: '34px', + h3: '28px', + h4: '24px', + h5: '20px', + h6: '18px', + p: '16px', + small: '14px', + caption: '12px', + header: '8px', + code: '16px', + kbd: '14px', +}; + +const VARIANT_LINE_HEIGHT: Partial> = { + h1: '56px', + h2: '36px', + h3: '32px', + h4: '28px', + h5: '26px', + h6: '24px', + p: '24px', + small: '20px', + caption: '16px', + header: '16px', + code: '24px', + kbd: '20px', +}; + +/** Real libs/ui/src/tokens/typography.ts heading margins (top === bottom); only h1-h6 set + * an explicit margin — every other variant is intentionally absent from this map. */ +const VARIANT_MARGIN: Partial> = { + h1: '32px', + h2: '24px', + h3: '16px', + h4: '16px', + h5: '8px', + h6: '8px', +}; + /** * Pure resolution of gd-design-library's `typography.ts` token file * (libs/ui/src/tokens/typography.ts): a variant resolves the base font metrics, an @@ -54,7 +102,7 @@ export function resolveTypographyStyle( variant: TypographyVariantName = 'span', styleVariant?: TypographyStyleVariantName | TypographyStyleVariantName[] ): ResolvedTypographyStyle { - const fontFamily = get(theme, 'font.family', 'inherit'); + const fontFamily = get(theme, 'font.family', '"Fira Sans", sans-serif'); const style: ResolvedTypographyStyle = { fontFamily }; if (variant === 'span') { @@ -62,13 +110,21 @@ export function resolveTypographyStyle( style.fontWeight = 'inherit'; style.lineHeight = 'inherit'; } else { - style.fontSize = get(theme, `font.size.${variant}`, undefined); - style.lineHeight = get(theme, `font.line.height.${variant}`, undefined); + style.fontSize = get(theme, `font.size.${variant}`, VARIANT_FONT_SIZE[variant]); + style.lineHeight = get(theme, `font.line.height.${variant}`, VARIANT_LINE_HEIGHT[variant]); style.fontWeight = get(theme, 'font.weight.normal', 400); + if (VARIANT_MARGIN[variant]) { + style.marginTop = VARIANT_MARGIN[variant]; + style.marginBottom = VARIANT_MARGIN[variant]; + } } if (MONOSPACE_VARIANTS.has(variant)) { - style.fontFamily = get(theme, 'font.family.code', fontFamily); + // Real token key is the flat property `'family.code'` under `font` (a literal dot in the + // key, not a nested `font.family.code` path — `font.family` is itself a string, so a + // dot-split path would silently always miss and fall back). Array-form path segments are + // used as-is by `get()`, so `['font', 'family.code']` reaches the real flat key correctly. + style.fontFamily = get(theme, ['font', 'family.code'], '"Fira Code", Monaco'); } const styleVariants = Array.isArray(styleVariant) ? styleVariant : styleVariant ? [styleVariant] : []; @@ -76,22 +132,22 @@ export function resolveTypographyStyle( for (const sv of styleVariants) { switch (sv) { case 'light': - style.fontWeight = get(theme, 'font.weight.light', style.fontWeight); + style.fontWeight = get(theme, 'font.weight.light', 300); break; case 'normal': - style.fontWeight = get(theme, 'font.weight.normal', style.fontWeight); + style.fontWeight = get(theme, 'font.weight.normal', 400); break; case 'semibold': - style.fontWeight = get(theme, 'font.weight.medium', style.fontWeight); + style.fontWeight = get(theme, 'font.weight.medium', 500); break; case 'bold': - style.fontWeight = get(theme, 'font.weight.bold', style.fontWeight); + style.fontWeight = get(theme, 'font.weight.bold', 700); break; case 'italic': style.fontStyle = 'italic'; break; case 'small': - style.fontSize = get(theme, 'font.size.small', style.fontSize); + style.fontSize = get(theme, 'font.size.small', '14px'); break; case 'uppercase': style.textTransform = 'uppercase'; diff --git a/libs/spike-web-components/README.md b/libs/spike-web-components/README.md deleted file mode 100644 index 00cc546..0000000 --- a/libs/spike-web-components/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# spike-web-components (CTORNDSD-581) - -Disposable Lit/web-components PoC package. See `plans/ctorndsd-581-lit-webcomponents-spike.md` for the -full scope, Ordered Work, and worked Migration Examples this package executes against. - -`gd-button` (`src/components/gd-button/`) is seeded here as a working smoke test proving the platform -builds and consumes `gd-design-core`'s `resolveButtonVariantStyle` — it is **not** the full spike. The -remaining 4 atoms (`Checkbox`, `Typography`, `Input`, `Select`) and the CTORNDSD-286 Shadow DOM -reproduction, SSR/DSD check, and bundle-size measurement are the spike's own execution work per its plan. - -Never published — `private: true`. Not part of any `build:*`/`publish:*` root script; run its own Nx -targets directly (`nx build spike-web-components`, `nx lint spike-web-components`). - -## Parallel-safety with CTORNDSD-590 - -This package is the **only** one of the two spike platforms that touches shared root config (one line in -`package.json`'s `workspaces` array). `spike-react-native` (CTORNDSD-590) is deliberately kept fully -standalone, outside npm workspaces — see its own README — so the two spikes never edit the same shared -file and can be executed independently (parallel branches/worktrees, or two engineers) with no merge -conflicts between them. diff --git a/libs/spike-web-components/package.json b/libs/spike-web-components/package.json deleted file mode 100644 index f42e61e..0000000 --- a/libs/spike-web-components/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "spike-web-components", - "version": "0.0.0", - "private": true, - "description": "CTORNDSD-581 spike: disposable Lit/web-components PoC for gd-design-library's atoms. Not published. See plans/ctorndsd-581-lit-webcomponents-spike.md.", - "type": "module", - "main": "./index.js", - "types": "./index.d.ts", - "dependencies": { - "lit": "^3.2.1", - "gd-design-core": "*" - }, - "devDependencies": { - "@lit/react": "^1.0.7", - "react": "^18.3.1" - } -} diff --git a/libs/spike-web-components/src/index.ts b/libs/spike-web-components/src/index.ts deleted file mode 100644 index 667d50d..0000000 --- a/libs/spike-web-components/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { GdButton } from './components/gd-button/gd-button'; diff --git a/libs/spike-web-components/tsconfig.harness.json b/libs/spike-web-components/tsconfig.harness.json deleted file mode 100644 index c82878f..0000000 --- a/libs/spike-web-components/tsconfig.harness.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "noEmit": true, - "types": ["node"] - }, - "include": ["harness/**/*.tsx"] -} diff --git a/libs/ui/llms.txt b/libs/ui/llms.txt index d2a9040..80e668b 100644 --- a/libs/ui/llms.txt +++ b/libs/ui/llms.txt @@ -84,7 +84,7 @@ Pre-built indexes for quick discovery: > Run `yarn build:ui` to regenerate. Do not edit the block between the markers manually. -66 components total — generated from libs/ui/src/ai/schemas/ on 2026-07-01. +66 components total — generated from libs/ui/src/ai/schemas/ on 2026-07-13. ## Other diff --git a/libs/ui/src/ai/README.md b/libs/ui/src/ai/README.md index 3b4bf13..31d3073 100644 --- a/libs/ui/src/ai/README.md +++ b/libs/ui/src/ai/README.md @@ -594,7 +594,7 @@ yarn test:ai:watch -_66 components total — generated from `libs/ui/src/ai/schemas/` on 2026-07-01._ +_66 components total — generated from `libs/ui/src/ai/schemas/` on 2026-07-13._ ### Other diff --git a/libs/web-components/FINDINGS.md b/libs/web-components/FINDINGS.md new file mode 100644 index 0000000..42a3aac --- /dev/null +++ b/libs/web-components/FINDINGS.md @@ -0,0 +1,377 @@ +# CTORNDSD-581 Findings — Lit Components as a Wrapper for GridKit + +**Status:** Spike complete — 5/5 atoms ported, all named validations executed with real +browser-level reproductions (not assumed). See `plans/ctorndsd-581-lit-webcomponents-spike.md` +for the original scope and Acceptance Criteria this document answers against. A subsequent +visual-fidelity pass (Section 9) found and fixed a systemic root cause in `gd-design-core`'s +resolver defaults, plus per-atom structural CSS gaps — verified against real Storybook stories. + +## Overall Verdict: **GO** (conditional — see Conditions below) + +Shadow DOM concretely prevents the CTORNDSD-286 style-collision failure mode, bundle size is +dramatically smaller per atom, SSR/Declarative Shadow DOM works including true DOM-reuse +hydration, and the two riskiest small-atom concerns (Input cursor-jump, Select's +native-platform-replacement bet) both resolved favorably under real, adversarial browser +testing. The two structural costs — Typography's discoverability gap and the one-time `lit` +runtime weight for React-only consumers — are real and worth naming as conditions, not +blockers. + +--- + +## 1. CTORNDSD-286 reproduction — **CONFIRMED: Shadow DOM prevents the collision** + +Harness: `harness/ctorndsd-286-repro.html` / `.tsx`. Loaded in a real Chromium instance (not a +unit test) via `chrome-devtools-mcp`. Screenshot: `screenshots/ctorndsd-286-repro.png`. + +Setup: a host-app-style global Emotion reset (simulating a Next.js app / a second +Emotion-based library such as Material UI's `CssBaseline`) is injected via ``, +alongside a **second, independent Emotion instance** (`createCache({ key: 'second-emotion-instance' })`) +rendering a plain React+Emotion button — approximating the original bug's Next.js + MUI +scenario. `gd-button` and `gd-checkbox` render alongside, outside any Emotion provider. + +Empirical result (`console.log` verdict object from the running page): + +```json +{ + "pass": true, + "Global reset broke the plain Emotion button (2nd instance) — expect true, reproduces CTORNDSD-286": true, + "Global reset leaked INTO gd-button Shadow DOM — expect false": false, + "Global reset leaked INTO gd-checkbox Shadow DOM — expect false": false, + "Lit's own styles leaked OUT to the page — expect false": false +} +``` + +The control condition (global reset visibly destroying the plain-Emotion button — red +background, dashed border, oversized text) confirms the reset is real and that a second +Emotion cache provides **zero** isolation, i.e. the bug reproduces exactly as CTORNDSD-286 +described. `gd-button` and `gd-checkbox` were completely unaffected in both directions. This +is the primary go/no-go signal from the plan's Acceptance Criteria, and it is unambiguous. + +## 2. SSR / Declarative Shadow DOM (DSD) — **PASS, including real hydration reuse** + +Tooling: `@lit-labs/ssr` (added as a devDependency of this package only), driven via +`scripts/run-ssr-dsd-check.mjs` (loads `scripts/ssr-dsd-render.ts` through Vite's +`ssrLoadModule` so `gd-design-core` resolves identically to real dev/build). + +- **No-JS static check** (`harness/ssr-dsd-static.html`, served via a plain static file + server with zero ` + + diff --git a/libs/web-components/harness/ctorndsd-286-repro.tsx b/libs/web-components/harness/ctorndsd-286-repro.tsx new file mode 100644 index 0000000..a9df4c0 --- /dev/null +++ b/libs/web-components/harness/ctorndsd-286-repro.tsx @@ -0,0 +1,155 @@ +import * as React from 'react'; +import { createRoot } from 'react-dom/client'; +import { CacheProvider, Global, css } from '@emotion/react'; +import createCache from '@emotion/cache'; +import '../src/components/gd-button/gd-button'; +import '../src/components/gd-checkbox/gd-checkbox'; + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace -- ambient global JSX augmentation has no ES module equivalent + namespace JSX { + interface IntrinsicElements { + 'gd-button': React.DetailedHTMLProps, HTMLElement>; + 'gd-checkbox': React.DetailedHTMLProps, HTMLElement>; + } + } +} + +/** + * CTORNDSD-581 exit artifact — CTORNDSD-286 reproduction. Loads a host-app-style global + * Emotion reset (simulating a Next.js app / a second Emotion consumer such as Material UI's + * CssBaseline) alongside a *second, independent* Emotion instance rendering a plain + * React+Emotion button, plus the Lit-wrapped `gd-button`/`gd-checkbox`. Emotion instances + * share the document ``/global CSS cascade by design — a second cache does NOT provide + * isolation, which is exactly the CTORNDSD-286 failure mode. Shadow DOM is a structurally + * different mechanism (a separate style-resolution boundary, not just a separate stylesheet + * registry), so the pass condition is: the global reset visibly breaks the plain-Emotion + * button (proving the reset is real and the bug reproduces) while leaving the Lit components' + * internals untouched in both directions. + */ + +function GlobalHostAppStyles() { + return ( + + ); +} + +const secondEmotionCache = createCache({ key: 'second-emotion-instance' }); + +function PlainEmotionButton() { + return ( + + + + ); +} + +function App() { + return ( +
+ +

CTORNDSD-286 Shadow DOM repro

+ +
+

1. Plain React+Emotion button (2nd Emotion instance, no Shadow DOM)

+ +
+ +
+

2. Lit gd-button (Shadow DOM)

+ Lit Button +
+ +
+

3. Lit gd-checkbox (Shadow DOM)

+ Lit Checkbox +
+ +
+        computing…
+      
+
+ ); +} + +createRoot(document.getElementById('root')!).render(); + +requestAnimationFrame(() => setTimeout(runAssertions, 50)); + +function runAssertions() { + const plainBtn = document.getElementById('plain-emotion-btn'); + const litBtnHost = document.getElementById('lit-btn'); + const litBtnInner = litBtnHost?.shadowRoot?.querySelector('button') ?? null; + const litCheckboxHost = document.getElementById('lit-checkbox'); + const litCheckboxInner = litCheckboxHost?.shadowRoot?.querySelector('label') ?? null; + + if (!plainBtn || !litBtnInner || !litCheckboxInner) { + const text = 'FAIL: could not locate one or more probe elements — repro harness is broken, not a real result.'; + document.getElementById('verdict')!.textContent = text; + console.error('[CTORNDSD-286-REPRO]', text); + return; + } + + const plainStyle = getComputedStyle(plainBtn); + const litBtnStyle = getComputedStyle(litBtnInner); + const litCheckboxStyle = getComputedStyle(litCheckboxInner); + + const RESET_RED = 'rgb(255, 0, 0)'; + const GRIDKIT_DARK = 'rgb(23, 23, 23)'; // gd-button's own primary background (#171717) + + // Direction 1 (control): the global reset DID hit the plain Emotion button — proves the + // reset is real/active and that a second Emotion cache provides no isolation whatsoever. + const resetHitPlainEmotion = plainStyle.backgroundColor === RESET_RED || plainStyle.borderStyle === 'dashed'; + + // Direction 1 (real test): did the SAME global reset leak INTO the Lit Shadow DOM internals? + const resetLeakedIntoLitButton = litBtnStyle.backgroundColor === RESET_RED || litBtnStyle.borderStyle === 'dashed'; + const resetLeakedIntoLitCheckbox = + litCheckboxStyle.backgroundColor === RESET_RED || litCheckboxStyle.borderStyle === 'dashed'; + + // Direction 2: did the Lit button's own internal background leak OUT onto the page/plain button? + const litStylesLeakedOut = plainStyle.backgroundColor === GRIDKIT_DARK; + + const pass = + resetHitPlainEmotion === true && + resetLeakedIntoLitButton === false && + resetLeakedIntoLitCheckbox === false && + litStylesLeakedOut === false; + + const result = { + pass, + 'Global reset broke the plain Emotion button (2nd instance) — expect true, reproduces CTORNDSD-286': + resetHitPlainEmotion, + 'Global reset leaked INTO gd-button Shadow DOM — expect false': resetLeakedIntoLitButton, + 'Global reset leaked INTO gd-checkbox Shadow DOM — expect false': resetLeakedIntoLitCheckbox, + "Lit's own styles leaked OUT to the page — expect false": litStylesLeakedOut, + }; + + const text = JSON.stringify(result, null, 2); + document.getElementById('verdict')!.textContent = text; + console.log('[CTORNDSD-286-REPRO]', text); +} diff --git a/libs/web-components/harness/fidelity-check.html b/libs/web-components/harness/fidelity-check.html new file mode 100644 index 0000000..1c7bf3c --- /dev/null +++ b/libs/web-components/harness/fidelity-check.html @@ -0,0 +1,11 @@ + + + + + Visual fidelity check — CTORNDSD-581 + + +
+ + + diff --git a/libs/web-components/harness/fidelity-check.tsx b/libs/web-components/harness/fidelity-check.tsx new file mode 100644 index 0000000..0f8a9f6 --- /dev/null +++ b/libs/web-components/harness/fidelity-check.tsx @@ -0,0 +1,134 @@ +import * as React from 'react'; +import { useState } from 'react'; +import { createRoot } from 'react-dom/client'; +import { GdButton } from './GdButtonReact'; +import { GdCheckbox } from './GdCheckboxReact'; +import { GdTypography } from './GdTypographyReact'; +import { GdInput } from './GdInputReact'; +import { GdSelect } from './GdSelectReact'; + +/** + * CTORNDSD-581 visual-fidelity verification harness — renders each of the 5 ported atoms + * with NO explicit `theme` prop (relying entirely on gd-design-core's corrected resolver + * defaults) alongside props matching the real Storybook stories being compared against, so + * a themeless Lit render should now visually match Storybook's default theme. + * + * `InputColorVariantName` now matches the real `InputColorVariant` (`primary | success | + * warning | error`) member-for-member, so `color="primary"` below is the same value the + * reported story used, not a translated one. + */ +function Section({ title, children }: { title: string; children: React.ReactNode }) { + return ( +
+

{title}

+
{children}
+
+ ); +} + +function InputSection() { + const [value, setValue] = useState('Default Input'); + return ( +
+ setValue((e as CustomEvent<{ value: string }>).detail.value)} + /> +
+ ); +} + +function ButtonSection() { + return ( +
+ Primary + Secondary + Outlined + + Disabled + + + Loading + +
+ ); +} + +function CheckboxSection() { + const [checked, setChecked] = useState(true); + return ( +
+ + setChecked((e as CustomEvent<{ checked: boolean }>).detail.checked)} + > + Checked + + + Indeterminate + + + Disabled + +
+ ); +} + +function TypographySection() { + return ( +
+
+ + Heading 1 + + + Heading 2 + + + Body paragraph text for comparison. + +
+
+ ); +} + +function SelectSection() { + const items = [ + { name: 'Alpha', value: 'a' }, + { name: 'Beta', value: 'b' }, + { name: 'Gamma', value: 'c' }, + ]; + const [value, setValue] = useState<{ name: string; value: string } | null>(null); + return ( +
+ + setValue((e as CustomEvent<{ value: { name: string; value: string } | null }>).detail.value) + } + /> +
+ ); +} + +function App() { + return ( +
+ + + + + +
+ ); +} + +createRoot(document.getElementById('root')!).render(); diff --git a/libs/web-components/harness/remaining-findings-repro.html b/libs/web-components/harness/remaining-findings-repro.html new file mode 100644 index 0000000..757488f --- /dev/null +++ b/libs/web-components/harness/remaining-findings-repro.html @@ -0,0 +1,11 @@ + + + + + Remaining findings repro — CTORNDSD-581 + + +
+ + + diff --git a/libs/web-components/harness/remaining-findings-repro.tsx b/libs/web-components/harness/remaining-findings-repro.tsx new file mode 100644 index 0000000..755a238 --- /dev/null +++ b/libs/web-components/harness/remaining-findings-repro.tsx @@ -0,0 +1,112 @@ +import * as React from 'react'; +import { useState } from 'react'; +import { createRoot } from 'react-dom/client'; +import '../src/components/gd-typography/gd-typography'; +import { GdInput } from './GdInputReact'; +import { GdSelect } from './GdSelectReact'; + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace -- ambient global JSX augmentation has no ES module equivalent + namespace JSX { + interface IntrinsicElements { + 'gd-typography': React.DetailedHTMLProps, HTMLElement> & { + as?: string; + variant?: string; + }; + } + } +} + +/** + * CTORNDSD-581 exit artifact — empirical repro harness for the three named sub-findings + * that must not be assumed: Typography's light-DOM discoverability gap, Input's + * cursor-jump risk under an async round-trip, and Select's popover-based interaction + * (open/list/select/light-dismiss). Driven by chrome-devtools-mcp, not a unit test, since + * the discoverability gap and cursor-jump risk are specifically about real browser + * DOM/focus/selection behavior a jsdom unit test would not faithfully exercise. + */ +function TypographyDiscoverabilityProbe() { + const runProbe = () => { + const found = document.querySelector('h1'); + const result = { queryHFound: !!found, foundIsGdTypography: found === null }; + document.getElementById('typography-probe-result')!.textContent = JSON.stringify(result); + }; + + return ( +
+

A. Typography discoverability gap

+ + I am rendered as an h1 inside Shadow DOM + +
+ +
+
not run yet
+
+ ); +} + +/** Simulates an async round-trip lag (e.g. a server-echo/validation response) landing after + * the user has already kept typing — the classic scenario where a controlled value over a + * custom-element boundary risks jumping the cursor if the round-trip clobbers `.value`. */ +function InputCursorJumpProbe() { + const [value, setValue] = useState(''); + const [roundTrips, setRoundTrips] = useState(0); + + return ( +
+

B. Input cursor-jump repro (300ms async round-trip)

+ { + const nextValue = (e as CustomEvent<{ value: string }>).detail.value; + setTimeout(() => { + setValue(nextValue); + setRoundTrips((n) => n + 1); + }, 300); + }} + /> +
{roundTrips}
+
+ ); +} + +function SelectPopoverProbe() { + const items = [ + { name: 'Alpha', value: 'a' }, + { name: 'Beta', value: 'b' }, + { name: 'Gamma', value: 'c' }, + ]; + const [value, setValue] = useState<{ name: string; value: string } | null>(null); + + return ( +
+

C. Select popover interaction

+ + setValue((e as CustomEvent<{ value: { name: string; value: string } | null }>).detail.value) + } + /> +
{JSON.stringify(value)}
+
+ ); +} + +function App() { + return ( +
+
Remaining findings repro — CTORNDSD-581
+ + + +
+ ); +} + +createRoot(document.getElementById('root')!).render(); diff --git a/libs/web-components/harness/ssr-dsd-hydrate-check.ts b/libs/web-components/harness/ssr-dsd-hydrate-check.ts new file mode 100644 index 0000000..beb0613 --- /dev/null +++ b/libs/web-components/harness/ssr-dsd-hydrate-check.ts @@ -0,0 +1,48 @@ +import '../src/components/gd-button/gd-button'; +import '../src/components/gd-typography/gd-typography'; + +/** + * Companion script for ssr-dsd-hydrated.html — checks what actually happens once Lit's + * client JS loads on top of server-rendered Declarative Shadow DOM: does Lit reuse the + * existing shadow-root DOM nodes (true hydration), or does it discard and fully + * client-re-render into the already-attached shadow root? Either outcome can be a pass + * for CTORNDSD-581's purposes (the plan only requires confirmed hydration behavior, not a + * specific mechanism) — record whichever one actually happens, don't assume. + */ +function log(message: string) { + const el = document.createElement('pre'); + el.id = 'hydration-result'; + el.style.cssText = 'background:#eee;padding:12px;white-space:pre-wrap;'; + el.textContent = message; + document.body.appendChild(el); + console.log('[SSR-DSD-HYDRATE]', message); +} + +window.addEventListener('DOMContentLoaded', () => { + const button = document.querySelector('gd-button'); + const typography = document.querySelector('gd-typography'); + const innerButtonBefore = button?.shadowRoot?.querySelector('button') ?? null; + + if (innerButtonBefore) innerButtonBefore.setAttribute('data-pre-hydration-marker', 'true'); + + requestAnimationFrame(() => { + setTimeout(() => { + const innerButtonAfter = button?.shadowRoot?.querySelector('button') ?? null; + const domNodeReusedAcrossHydration = innerButtonAfter === innerButtonBefore; + const dataMarkerSurvived = innerButtonAfter?.getAttribute('data-pre-hydration-marker') === 'true'; + + let clickFired = false; + button?.addEventListener('click', () => (clickFired = true)); + innerButtonAfter?.click(); + + const result = { + buttonHasShadowRoot: !!button?.shadowRoot, + typographyHasShadowRoot: !!typography?.shadowRoot, + domNodeReusedAcrossHydration, + dataMarkerSurvived, + interactivityWorksAfterHydration: clickFired, + }; + log(JSON.stringify(result, null, 2)); + }, 50); + }); +}); diff --git a/libs/web-components/harness/ssr-dsd-hydrated.html b/libs/web-components/harness/ssr-dsd-hydrated.html new file mode 100644 index 0000000..32175ef --- /dev/null +++ b/libs/web-components/harness/ssr-dsd-hydrated.html @@ -0,0 +1,88 @@ + + + + + SSR/DSD hydration reproduction (CTORNDSD-581) + + +

+ Same server-rendered DSD markup as ssr-dsd-static.html, but this page DOES load Lit's client JS afterward — see + ssr-dsd-hydrate-check.ts for what's actually checked. +

+ + Submit + Heading + + + + diff --git a/libs/web-components/harness/ssr-dsd-static.html b/libs/web-components/harness/ssr-dsd-static.html new file mode 100644 index 0000000..71009de --- /dev/null +++ b/libs/web-components/harness/ssr-dsd-static.html @@ -0,0 +1,88 @@ + + + + + SSR/DSD static reproduction (CTORNDSD-581) — NO client JS on this page + + +

+ This page has zero client-side JavaScript. If the button below is visibly styled (dark pill, not + unstyled text), the browser attached the Declarative Shadow Root from the raw SSR HTML natively, with no hydration + required. +

+ + Submit + Heading + + + diff --git a/libs/web-components/package.json b/libs/web-components/package.json new file mode 100644 index 0000000..8c4f700 --- /dev/null +++ b/libs/web-components/package.json @@ -0,0 +1,21 @@ +{ + "name": "web-components", + "version": "0.0.0", + "private": true, + "description": "Lit web-components implementation of gd-design-library's atoms, built on gd-design-core's shared token resolvers and state stores. Not published.", + "type": "module", + "main": "./index.js", + "types": "./index.d.ts", + "dependencies": { + "gd-design-core": "*", + "lit": "^3.2.1" + }, + "devDependencies": { + "@emotion/cache": "^11.14.0", + "@emotion/react": "^11.14.0", + "@lit-labs/ssr": "^4.1.0", + "@lit/react": "^1.0.7", + "react": "^18.3.1", + "react-dom": "^18.3.1" + } +} diff --git a/libs/spike-web-components/project.json b/libs/web-components/project.json similarity index 62% rename from libs/spike-web-components/project.json rename to libs/web-components/project.json index d628857..6127762 100644 --- a/libs/spike-web-components/project.json +++ b/libs/web-components/project.json @@ -1,23 +1,23 @@ { - "name": "spike-web-components", + "name": "web-components", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "libs/spike-web-components/src", + "sourceRoot": "libs/web-components/src", "projectType": "library", - "tags": ["spike", "scope:ctorndsd-581"], + "tags": ["scope:ctorndsd-581"], "targets": { "build": { "executor": "@nx/vite:build", "outputs": ["{options.outputPath}"], "defaultConfiguration": "production", "options": { - "outputPath": "dist/libs/spike-web-components" + "outputPath": "dist/libs/web-components" } }, "lint": { "executor": "@nx/eslint:lint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/spike-web-components/**/*.ts"] + "lintFilePatterns": ["libs/web-components/**/*.ts"] } } } diff --git a/libs/web-components/screenshots/ctorndsd-286-repro.png b/libs/web-components/screenshots/ctorndsd-286-repro.png new file mode 100644 index 0000000000000000000000000000000000000000..dac6de751c948732b32b48355c5f3c0772ae71ba GIT binary patch literal 227344 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%0D>Oo@zdqo9Et9UUP^bQ(#*MU-ThU~^`_+3zX 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

%Ff{Ja)NYA%9iNdGVW> z{_BaMax(!bW{OWJ*}|E>v4A=LlbPFiLwEOvYobLH<rrYuiPM)2H9>3fjdb`0Vh0 zIiOpUjQ0XYTUP`+27B4`#O?R43k?QFZ!OS zIYsqQoq~e`Vm^OGUJ}DiIHXA4u@G5Q!JxbPTw0W}Y6#f=&<`~V3gjpaJ1E#%Ldkk$ zV>pXEWg{bz$kl^7a#e6J*`R;Mw2+d&+%tT3{!;DG8GAe4j}BqsL1+TQ)nz_(ovQV# zm1;C=x?mYO3OMe((Kh_D|H5}b%Ow|(E+`>k3SqGC*}cb4VM##SU`IeHj796dykLV= zd||^bDyI|gP?Fap^=gY8l(rQ5CTZWaKJS+GXR&>4R<{O4`IS>Wz?8>aZF}KSyM9#x z&;vW>%boMleB+KOV7QA~95|uYL6W~{ebtI0!T#{6h3|PQ#{NY$>XPxf?$B98`=HK2 z(4Nw@-n+4@lz4$sd+g1Dd+58WCswtk_QOxo0XXQgBiWo17QU9Weh84QL23VZN0F|l zX(wAQMI)MdqB%B$BwNk05+KEx1*%}>KA=}DfUx9MneVE_6DonetlD)BPSkekPbeng==$fD}%y0xO9?ktlTbrWB z2-qG?9^j6$3foi)@2CSxLl(x?Kmh8k2zoX`w|Ywzd}b*8^R1tJ`}xd)QsKkk z#3M)^adl%sf}3+5ax4)wI`5utiu3zgb26_(gLwBiK^Z4NQ@>Q%*@o{NiTOe}vY;I@ zPfiyn5eqWhXp@milUoQV-SLg)qc&8hz#^bxHhc%_O+FLG&2?D_#duIVGqMlq2qWzR+vVwT5XgSg!fzat4T@(Nu>F_aH3D(1Okf4$9zTLe5&A@jrKx^)TV zJAJny3B3aQ@Pf-cDyMj`-G=wsE9|UKQKzGAx>R54bX}TzDUj^>Twwk%%BJgus&w^Y zwC01CCS6r|Pf^3xYRu2>+x4w1#4kiGL^;eU^Yp>kS^LTkc1mMW?hh=?+5OWYwD?O8 ze)x2EU+CL-jGT7`%NBYKlGfS2>Q8Vu3F06W4A~Ra3mxmun3V2#G)*nR0str+mEAtt z<@AP%S=hEJXs(wmKRJRqtIvSYoP!vnGUt3PkiH-Jr(foz4k!puR2l`&jqhN5B5MD_ zZCltxE(mEiU)R4wgnDH|ks9^!^G?Z5src#P7o8jZiywtgw%cz_fm7|mo%41Y(AHoy zxpH1a*HNGT^b{V~`$x=E8xYt09qNuqah^|oOWF@sqO z$(yA|N6Af9r$Ta5WlQVA4>H$2+T7_xW~KD>%8y=EkvDQ|%yLpGgu;A&!Gk>qx2ht8 z?2rx2)FtfRxNy?1=7#2a?!KCG$_?XH!oysPC&DW-XJ!m*0GnTIjds^oGDJlm;_D$b ztGu?_`by`hY;Aoxv*4!7ghjZ^7_M1&9@UXZ>TQ!q*5!)%+G(}PV~(ABkLVzDWe@C& z9dPPeU0$i(AfOCtXm`hu zcDVXBT&Y%)~b;P*t9573}ETW7EQ`TBA<6zppuW5EfTZ71H;t7eFxJq77 zAj6p>yWrh8u5pS}ca}`eq-C|I*Vxsi?(fSa_t{K`KP}x_RWk~uA5t|b&0dz$OA)3E z;tlkckd{ADSQ2AZ=UYn^1pBDJ9%r0*k9oVjqbwlC4H{1BJq?(Jsz{DdDJ^9}cb8m| zE@?L($NAurnpY9-gV`V|iz=&prL_q$O&^bwg9(9%w1^`(4J1SWJh_LbZ+i8xbU-WS zPH(miRH${H1x z&ed|!E-v`wa)ax8Q-A|ihHeen_TKL;NTzH%5TYDM13qDP9*=Bkrn;=io$b!r6EXbU zHeDV-tQ=mjq*+c}mHb{lX0KjC@X{}jcUN|z7NmeJv;4*L$P0aHl?K^lPAy74mLssU zu3yb0SKgRM%ujn?d;=oMZK2fE-QtKZs`a>Y``XC*L;KiLr`|u$CU5Vhsui|78ksl_ zXUw;~ErRj$=Q=j30Jh-0yXCxFfU#Q~{iK^t#yBjA*lK$E$Z?4 zH9|%j2)drh_aTI~;_44CuPJ>~>ykoBVTMR&NDiva?8%RHIgydDHT72ohd!TP$bN$J zUE+uDtJWhM5li7CvM(E-?p}Je@Oi$3=Uej&sqy@`d=3E|Wd${x;0vN~2u5}<&zKf| zT;HEQe(>Dw9ZlhjW2h(lb+AC5;T5sbPckt|C#CPIc87XMHy{~;zjKbu`s2;rWia@u zNQkp`K{hkKWu%9aq0I+)bKnMwP~Y30wM0Yghq5=iGbx4)T>MgtMnZD|$EHW^L+z3X zZN#OTS2971b}<*6Yw>arP|EamnpZfJ|K%B;A-4WD2eUA)W2VpD`wC7y?4_&P*SC_J zd^Z5g6nyE^682E-2~?&sh%HWm4nZNo@{l8kHG1VO=zk2p*YEOsj)IFJRV*cV%zlK! zx&3=qc3yi5-`f+SDXSLh`BD+xr*3Igx=^t(&`mUODGk}{H>+(WIx>bkTJ2gF*6Zv? zNAV+lp|^h#$L&PAGq1f1=(erZDJ%UK#@^ikXtQR*W9EE5N6ay*26_wQ>cudN;gejn zHA?a0jaME%?W-Hew1J^r9A1+i?Qyd&0GbTB=)(QK0I{#EyD@t24j38>y4qU6crrKj z0H>G`Uv+L>q4Gp&_sfv49ZL_@&3G+Hx`a<$^JB$Ui8s?8H{x&iKm!woacV3AMvWyk z%s?uEO}LGA3Y9uC$7WG6smCEuBC73RSh^qC;-nsos&oFB`wc0YH=qq%GpS>{`XR(f_7nB zVKaghoeryU7E&h0xl>#3RUbz+jUbRYB5bd4Aq~O>;(%^5=+;1yY7HCT4K*s0!ZKWs zM->zrF!(e62Sl;U7Zeur)02se1(F^_WK7f$fA zoT4e+cDDB;X! zcEpIw80b_iS-N#y4T?hh0e2~Rn{qFDCu=v50i1~S1AC%x(_^i12RO`;eJdi>0*?0& zCQf8J%m=|!bPPc(kswp2#%FKaR-Wx3zG;VlM}bUM0SVI@5Ha2%*dJ z62%o?R@vNiCti~&FncG|vmxj_h{Ntp#lDoyZeNwhLi(-{b~0Jeu~`l5^|k1kW(Y}? zSTlK`*-6DPnvYE2R*}V9fT_(N<+55>W}k-~<`uxU_aVOAkqneF!zvVDWR@1JzDTk0 zO4WO(DK3P%BSlsI-t$Ay=EfB-pRTpW`AHwQ6NxYsA5Y`7ihf=52K2)*W9!^i{pY*< zwO!4>u>dlBcM{AuYHL&eZnpwUk0A}qe%#4$tvxW4n%gH|MZ&!LV5MHpBRjXu88Dmo zjtk$BO-dnhA+=ZDr@GDN!xb!9U_cN8K*Lcz6?~TliKQl6=XvBL9K6*?RtZ=)Vkr&U zBADxXfH?&v2s7=*~ozus^4}h3WOG`0M=$DFfDP@+VfDdmK;O@SjW_ z@KsKg%4mYSc=O5TpA8NVW>PA1lCEaGcU;z$^xx5Ih84fe>{*AXSTj)nA4srh zEfq4e8`bXgjceBr&2O*T&Bt?q|)ugGE4nGq9O& zP{$i2RG_k&;@M^=!Gd96G!~BM1+8(3-pshD1(f!YtD8>c&OpF-my_w|kB$8EGRVql z%EF8}w@x%I2&kMv(ensOEnEXq6>q^@5#3Fs#hg1EP~R-XVjhO zQv@x1C@hR2_N0c+KI4P<70xx}3Cy$xPi3^$9RS1Z#1W1QhH9Hq8FMraaNOg>x{cA?K(=bQ-qa88|+_Ygqd*d`W6U#YbX$7do3>sbNPN z9;+f&3BK-$k!p_ZSaN4sT6;#QYiw)lJq+SV>ZB3)a>;Cz6)sACSZof}D(ZX%+Wc9? z_57Y(Tt%P++n8GMnlNP=y>^e4%>Z4v)V{P`zw&sRCfy9cs0PS@zUvJ6VY+F<@=<&& zuf`GdTBq(ipE#>4@?E@ZYM~myUet;d>HuR}2M8#B2fic`sg<$L<2-Y8_Gal9V0t*k zHbQN|0*7|bceokNQ~cIa6Io=Mp})#EGG&e6u&GSStUZG)lg^NzV%n^)GIDeOBVh_v zTC{PN4-l;hJeJzZ|MX5>T=nj-W%zwICnQe z57z~g@ge!7ih5QR)b}T z^5QB`Xbqb+F(oTXp4UaaB|mE7&>^3}2fuI^q+KJMqwillySpg&&TWq{dxh2Jz#4j# z8N7km9y@crD%=ni3_XGd-T{p_CW=x~1Z7}KzpQQUyE=9@d{~@9bLQyHS+dvRYKKafayH#nGtW(OB zqsJ8xW`fM>RLKiXkJ=w_@hwOMK4}ju0~-EP_~k>$Q#kQ6m}|J;=a-J?apa>6QwD9Q z^Id{#+lz7)z_7Ob-`}%p_$0--;yZWrUI$r=!(k+qzmuiUN6XJ=_gv8rx|MHFzK4do zE1*(s^{RS(Jo@x`p6At{MqSq+HB|Yc=wQ~ah1i>=*SCee%1OJ(oSZ(uk&o)7)$2z; zNsEHmIRP=}un4>H>3Qnl?~Oy?2NXz{X{Cz(f-!FLI?r}>*~UAj%M*y&32E3cI)0EL zy!6Tr+m%NpwZJ*ncylAz{c`l$=t!0d>MU>Eg|sJ}`8TVAiFuroHVYe`prpG(OC)qb zKG8j}dse?3sG5m|zzU#Cx-P6-PG_fVW<<4M=Y5%38b;g2>B^*ld=(@RSf~WWn6{_+j~QwQY*>j2w%%;q9fDfTE}= zzouQT`kI_47ea*-3uR8pYZmkC1Qu)&;4ZEMYPCa-r16 zI6mpB-scRmsC~Yrx>F8X{kdQ8rl}Mw@ibDNDVy2@Dv;LO)F~sI%jODrl%}pO1CGnr zjq6J{1igj>U4Yl!{k9nTu_t8LV(;;Q{39<+a^{0ATA4C|;4))T;V;Be>_k$?rW}um z*D`tSecMMT-Ju_tinF6JHL}qS8;iD6oy`N8`!=yI^CO?s)TdoD?`*y2;awXpT>>02 z{7!KW(m`9_bB8iaDO)Rv+=OlX0E*1W?%3IId@k`=2u+@EnNK5) z7c<@ttz#ReL!gcBkg+MijZXIi^B}9*$KoI?7l-VjmXiTZ?Zu(6rA}fpAwWZVdb#Sl zt}pozQU6lgP|lze8PNepp!6l!gbVUbO4zBCr?RPA)KWY~0D!*RvQk#7bD>{!^&xv4 zx=+fT{b)N=CvWdq0bpe4 zQhc({gy}C%02J{y|CH2}uQOa^gZ2gu-N`1T`sv~kMa{~yUIDVLIu%(DLpWj*cPA*;! zN@a?(4N*sRuGdIXZouCljcBjPaitFo5I;udFGHW@fai(NKoLq7=&CgtoI4+xH+INn zU?8vxfnW*?oHz1^AaUW!)ZNr^b}~GZlCos)H;?Sv)i{bjTxIbGbsTIvv%aAtUhZr& z78fR&aO>Pzz}t}3f)$8qplu2$8tMjNNca`1`6@kW+-VIzUFG&bl9h4~pyS&5(fcR* zEb2a_e?T5JZ%-xf5d)hU}2EM({*2UC!#dd9Nvs6%Vq7T1C%v?u|9uAe1M|%kW*KKW*T-a%8DT zrBp~}M-@~c0ky~4bv@i1M`9Yxn*?Bn?7q$IwVk@VM__RmzED~(pU@*;bghCOJE=A9 zGQvl;K{R%GT6m<&0amYGnaZ#lqoy;gO{jTFTD*B>Q8k5J%(kl7{r&06re!z((P;nt zbA-iycV&iwb{DzgU1v!A9z`n~f}MAP*Ep1qMf)P>GSz%C{l^jdh)RdL&K&R3^PPmf z1F=F4$O7(Av7nR31AE10ZVMd#T2KvS`JJ5n5}lz&sR|yX2$z^*j~yB;eT+H;!qDZ& z99@puFAt5AU7y+W$QT0jmg@_R0BNJoa!%x1+i0Eiw+epPyUg*B3IM(Psvz!SAt2>r zo$vEL`RD(31UO_ zmDO)@5!N0v2>D3cPZF9YPw2sFt%T|zt=X}(+rw5TX{6Kw7hKmx8v^9`dqLG#mlc>L z%}dM?Hr)cnH^MliXf)KAp?F-AIL&!QE}qdb-zRkIQJ#D5rDPt->&U!SBs2-}d7+vd zYfwi45*{!e$fTT7f=3V7c)HxqnWt!2HIZpCCdoL?IQz#u+$LZ=?DsQsg{w&*F!Q>o zUo2)krJPQFl|uU3kiJ$78D2_6)IoWgSn-26xrP+GF=vaD?P~Or4_x5csD(;J$R4og zyKGUA5(cnvH*1!t{Vr-*6*f++_Hz|-CvXg-^;IqOe3qQkumoXfWik3z?h8k&daB&S zB3^zRm(*rYj1?f}42EUF^tD4Q^Laz{U=j+Z2<@+;PouRroq6J!C;u?MSpBJ zAg%cs^e>Btfl*W4bhc&Dx=*jBWU-YiW0<6xzXkZkG5nX-;pJ58<#zicYKsl0ip5Ti zy@oEYlcq`N?U7a9RkEuo==-1xoc=!+Lr*3t*UB0 z)okeeK`5ZhfupBKAN4mDKs7vHD-7Td5(K@mgS60?E)!OkUAm(Du4>wNpdR#k>kubX zM$I+(hn~;*IWAn$Yt#$icz6vjdvUSxvIY5y()6M5vjM?m=dB{S%kqvdA=9mixHz%* z)ET+pUplhfBedK#+CzYWn}4F+=a!K%fBMEGme#ScJ(9CCbsY6uYrvw)iu6NzgC4oC z?~-cJfv~Fvb)7$D7Mj#sbv%JKD{BM!6HuqW(-)tQ7xeZ3t^uT`JN%Y@f7p30nVy_q zl#nAd2KFWkF-Y zSK#*z8EGGYs{R0jNMM)T(w+v4wP|Gll-M$FQIXw$05vEcIQKYm6h53XxI-}qrW zv)>#O5E7czq=LYj?-tc7Wgr#;MF_5crQIK7rn+W22q~-`n#DX5>`4?+dAG+yW+l@lQMoz6aqgqpsd=Ip1NS#DCi)NbIa*eez=-+ETk=M&o>g#5w?3!zA z06g<-T2%}1SlDMSowy+p1v91^CZYrPF+&>~bgyoHJDZ;Y5l&CQ zP@g&5Ab@i4+<}?%8Ug1NUA#l~NS;l$Bgp`e%h&TccZkO%w!4M~Kd40brq{%dT61!b zCw1;gJI{8z2Tf}ky>5Z$zI$QOd{cGKIg>zuBLMiwK8LJ6UYZO2;UP1A zPdY~HsRD;o_|~6LZn99D-0WJvTn#)&fUXMY&}qQ3s1r4oTZF*hHGJb;3$C2k)~%{j zB*#U{D!TUCP)iLMbtkw|k&W1009NB~N;VMEAcKfY=8eqL(F z=0U&Tsi8sE`SG6WIv#G_-5z%Xudx-qDG`0u?8(aJXY)eBC0T}TPP&#Wh}6yi&bn6A zMerL=rgq`Q7YjXuhS#r)>8h#(EPDbwvx8;NX^n*QwijDZt2NJl*zZn%2kOvE z!2L*0jYrljRle1G@5E$X+0w$MDL3_|LoikPd$>s8emOL{8t=PeXnRF(ip7sMf@{D{ z*LbG|6q(La3yHzv973si+@~Fj7|u^voBgjdWdKM-lm7u+nNO_<;;9N3L}qCbbazo? zjE2HAKHJ2J-(H@W!7DZdZvH4zB z^y}d}-DHPGBT;!+d0Uk%%}wifD9vv3alaZhO1ouLwUB0`PA}1fQ9+fu>s!62L2OgZ zIm$C58Mb@1)_a?%3+iO51`d?0rA6w!DD77ZASgzbAw0*%e%xHYOKs zV8Tn_bm|lzO0Jn3ht;ENZt}Ep$v)5y=&TAu!&)Dm_hXo5q0<=dX84Hu!re-1v1YQe zLML$~>^G6etqXn*#Z=0Fm{Ll{DcofWUQUhi9S!-ysTz_6wm5(zvT|&Q_RHHDNpA>7 z)KW2l4Q41~AmC`-n1&uE^@yg@XWl1VvrXI$b1CN;&mjaz9Dz&uk@!}#KKCQBxEG$- z&wu?;`BZA7UuFIUGF|F!#7GvVBZ%1mk=^s2y4jBO2h3{Zgoae(G6Pr3??_6#c#eW1 zdd4f6r~>4so)Xks6C6vpk|gs-o4xG`VJY+&KS0`h;v$kDpsBqO;NvQo36W}6bJnU- zmT$3MQ2cor7O-!C!HkSyQ(4Ib&m^q&^z?P)97Q&8UY@=31?=lreKt@83GRVEj-6V( zC(kc?DiIy&6h*f!ivF{L*V42h!_d_eDwAEiWE4;bX3?s-l={02QfFJy3P5Sbi;2cBMAXm(S1TTE<6Qz*#44OY+_mCuQBC`RW z*rWk)Bu$HieRuwN%K0&nKvNt9QdYOlgF};3W=D~Pi1`Mpk{m{~KLTvyD}X!jDFiAh zBS$_fs{>&UFFvT03xb?IfWSAQ2Pg36-`k%c5=0>8fg1AHtr2-c42r}O_zs-hW=Ib1 z>%J+I>LdSgQ_gs?;xJdkq?52UU2_iTkQ2N4M8@O4z0(v!QTuQ2{6oK9 z$fcK|z#7yON%}DU{YVA}sw%~whkyTK#DF{qd5gIr@*(2iAO8JL{NqBvR7L!d)a18p z&#ML;m5xMiye z5JO-2zmV=GFj(EX8(W2pY=3Rk|D+{Yrq?MVI0(^6r5spM3w`3l|3TQlZZ*u~g$&SN z^6u+Jrr$EC`!t5)|APiaI*>Bbph_P9UyP`$#;oZFOM7>?gaFd&Lt|h~!-U&m*}c7Z1E}_MF76-@BPOh@mL>*9rYa0zb$K z<~wr_Hh@aEJ@lWXD-w^PFZKH+f8#;76Ui}N%+ltF;~6OY*MC;QP^A3lcwWzlVaJlb zD^+0IQlT0DKM3UaIMGN{x3fn!EA`i;NW(lA8Gawo-w5E+ubb#ajs))m>@uS1{_)h_ znb&0hoXpR=;PsG!>m9hLI25b@O^ZL~z<5SZ`k$*ye2={1@3qm;x{0tez|;il_c@&WUPh?Vv0D=YX*G^8+Ad zC|k4`{*%sadC-jW|2-V3Cu}U{R}7`3Qk)FC|MJfN;LpIJuynb1!WVz&ZI|Te(Xs;m z{Z^zz__K&a2H?+wA!Av0erkw6#f74bh`>Kq_4}yR5=2_eb$bP|1(OugbTSREiWzit zoqu24XZZa*&m4}^(7Ee8>Tb^nb`+ll0;+aF&@{guC435RW|G9Ay@MdoFpDrOs);f( zl*KVnu9eZS=oaaR*=IG&r>Uc52MDR7Us0FwkzBC0oRSNPppI@=yuivGz{ka+uzo)2 z_5Ch=Kjz2|{2zlP<7oCU0dJz-jdL=H)2(A%lN=Pj(98m&cvrd`VR6B5nJi|7oL}-**_!b zoF_j2a{y=l&-AjK2{p^z{8DYCkxi6W&m|QNVEdY0Rp`Y^*160#V_^8T+qDWRvAZr8 z)GkcPy`j?J51ldaOH+|dL$Hs_H9vpTLiCaw!T2gb_58~0?H(QSFNi@&6z654izC$Pu&?GMkZ)cN?LxYX6fn{G?=1`F<){v}hdCz){Ip zHF)p;^$3lt%%5w6Vx)>SH7K)wD!aF~9Y?IAi^Sx6N2zqK(5M9qr{JxiwucuM zUD$3{_F?45?rXsnP@W(TxpjY~yF#gi!I0ddV4I^7NkBzmO>9i^bJn-C><7cftvN34 zjJ3;&Rl=v~LN=9ND?5woKoWsJu0qj^vY8KG@WbmEc9B=1tjKZp_B##p)((Q|PwIIL zZ|l_0K}lWs^t0h*zJgjUH>rCBc|?*xObQQs!edoy-hC>c(V`O~QeU~x%;fnW?8AV}tPNOG z(V|P>z27<$(2yN%cM(Cu^#V3qqO92eO%uNvB$D(KiGc;Z=h1_K%YDcWLrdhBBW54KtvJFw6I!?-t1>miuo)GEoOPf~a5X+kZa) zFPZjd8HuV$xsY=+-5F#R&r{F#|C5K5+(7EQbpd@MzeTv$CdS)~|3efa6>_f)jOcMu z{xXspU03v-`hQML1dA~-?U$SsLB)3D%V%a6=~MhG^o>9g$>KKLd;e+W{kC_0sIY&Q z^Wzs*q|G+F915CHVjYHJ^gjpuZ#%Il0=(h6$U~w(yhj2f^l$LTpO61&HkXhZ?Y-Kh zs$cW?^;R|_Iraa_6>%kKm9ca$s%J?4UH<<0@{FWN^S{0q9fQ=i#yqlWu|EfRw*O15 z{i!kjgSP{M(7jF2AoFMnpZe{|XX#(ZlM&)s6d*$Bh2P*k*tMiIR12QWGNdy?3fbQ$CYiYg_3D^vfX&C>+|k$x=nt0`|Z9W z&fb~s&Je2k3;1iX9aJH8OS`xuurzb~>M%Mo*8F!2KQCa=0=7Nk-45XIi(eb>m+~VyVo4OTmpyRoW6o;E(Pi{^b2TsVi$;7{XIVbZSmlsny-F5 z6^r4DxosSBJv;i6CC!-wwT~YWZ9|o|=rZ_JUfY=QgjBeuI5`*}@U~ID@@jDLkDVPP zbi_T2UW0!cm4~vEKwaPuWiH;;A)L(rmTHE_9(3MK|KVSfbn%Xe`qfg=n^^0o3M|ZC zc4PtFq+nYTeLdx-UHxF}!Hjh^`YV*(@O(W{-Z_G@8+yuuZZ{UPrDj#^UoyL zJ>!bX6(05{5O!hI5V)dKk@KTbySTq=M7ScZyu&+ts_j0u+wDXdjI_vWc82gbH&4a%>|D3*TM2_e|bKZN~@yKuducW`>*u{2b<53aHU z=wgUAf|mdNsrlA*hub7%16UQ+{#lfni`8{fN3+kxhQ4MC;jKkoQ;F%-pBSz*{Sw-fg( z@5_({M?GdJ;9S3ZQ1ua)s!uDK`w!Oy#^xV$pYtKfKpjq29SK(fPF5x>T)0psuFRyX z{ud)uFz)HlB^n%yNu;sdVl?>LOAB+x;}=huyvL4ux4y-*1N9Dj-1g>zr-NteC&Sli zu;=0!jMuDHx2SH_J__jDe|VAWK{n6rl?-&R1TT|Vy&%*y2Or`;T<5vS)|u{?72n+K zZWLIpNIk&$4G+mtdr^DYWfdomUXsH@i$&M^GDwXdJBQ8jj!Wl0TkfSjeS{6-6WOd1 zs;HXgAp=_eMFH&gnajJ zEC8X1&_ft>b$snP=BBo!Rok)=7P$~cNn_qQ_t>Z}0^wRpxF03{?DCV6Ec5U?yCU*? zCzyBM;(bIbN2fr&<>ii8M$jYj5V8_;R|pZc-nYpZUWjPoY-1me7G7#WVVMZ%O8=Ny z_@Pcg2sZ)U9M3#T7lDN^N>G#TC#&FOY06c2$vr3mV@64y^v&nkT0*QMOcCm4 zhI927A4}RWbh}wLEE0X_=L+vSI!(-*4&AW^4{Cy_m zk34)XQV5z+q{&GR#-TCg=$MTB3#1-l%Y~LZG}`AW{4#vQDP~gP%2f$=G~SDrxgQrv z5GStI%HiwsJ`tX(Ub161f_$1fQEFCNrJg#WjLW4ei2vcEw-d23#?g;gK6@)1u~8>s zz-$=MetAMj!%z&bi07(t_b*{h%2$uquF$9cys;%HUK5@z%a7SDm{`Oy7Vqd_>PTqo zV(t0ljyiZQ5V5lozoyWS=#=i1Kbf zA~s{Dm*cxz+c+WBaS11BW?vIKjk1nBu4I`D%zx* z8<8dFI@-Flh|XC{C(G%N6VKCZ9Ca&e!h=w{PG_}r`0p%#dJeJd9|o2;S*w#wU8rxS z@>!m?#9ZfEXI;0ooSwkfz^0O$zJk@9{{0o}cx1qLR*z`euVE`oVQAWDgy$vN^n|P; z2eP@9*5^;xN|0ew4hnjphht)UgySyevJc^`pDW?%7Is9TeqM${KaZo@+1&~az!0>P zwv)6vw{*tOe@t-lwfue^s{-Hg+S&f^(oUxeAwWLq)7{ zswUR)+`5+eiod}^!vanY`ZD4Axp!ErLGMEA)L8`9umh&)o|TXAdhO0W@Z{dJ@p|uR zhI(0k^D>u*3kfP7+6cNv*eG_aUl~qY6-rFFhwcJ<(bvy$kzIPY9O12gf(OCxDFzHa zVsV%FJxzMa))*zPl5xktS;se#q5`!cJA$H*6~WV|!n0WvFcymMNpMxD!YtyiCdr!@p4Orag+EYJc}0&x|pryZ)xFeTt?i}Azi0fC$ePX;)!JNBPbj3D)$ujyn-M^ zP^0V$vSv4*_ImV;CQ&8wS`Sr3#P-8xF=1`;%NaDN?&x*+_7Y-PhF|fLV(&jfue2*t z4%{_yRWd<~ir^l|Ht*ZTtV20IZSUw*divBUG(OY|7!lpFUfKTY^ybYO`edGX!uI52 zGw)GXdu(nBV^z*Is(r^ z;B~2w&-+UK&UUuPI;?-9#@4mMU-4|12dRc6nkgR>}oCqx^nydR5)@fAxQ~jsN(H|0+ z9|oeV-i)KZ!CQyhT=;_X+S-}n`kxh`_m(FTy>A`0@;8%6s{~=du4ZiVR8@#wzMydX4t@ zDFO_Bs*C9#i4jUDe(YKosp|OK%?NVNo;Hc)&BfWqFIOKAP!Zs+l&1b9;|ycOD&d#>5L5r0?_@DSp0oZMuc4UOM& z?aHn^GkvwQP1D~~NO}MD^XR6YlsjEVo;zNpo*Z6Bo(f)+o}8$8MQf+7$tYuU_NY9n z-6Nj6rsbyGiki?n_R;&DUjR!GC3}QJ?=?gn%9@ePz)(pcN@XEgsJ_}O+D#Tyre}8g z9#)Zh+|Ww$bioAyS1Y9=Q?6Sn1FvtLQ+}@Bv|2}@!v7(>C77;_1|^-OhOct*@UCUC z4Z4pqCudeV%4Ly3K@GwplZ@EAQIiEI^W0Yu3+Pw-QZ`7pItn60t&+dal| z-lUGOt!;B_a-0FX(Tcs(lVR8R5R#WRZuttJLK;_7YqfXzo#g$B#`j*#2=QkB>61c^ z2fWQrJD)U(db5`w`=7&+tsI=2yEG*~qh5Wm#U%%?8Sq+*K-ZF68ICGB%#x_2%6jF1jaZ zEhPEFPqdy~zvw0qeo0ekoZcRznvR_LB`e=s2mXU(L0ulikzR9KEMcNit|Rgm=Fm`! zZ3pC#-+wrIankKn;gUdOm@UQW8qe7FJbcS%av^u=ViA@NBKghOp4ELlZ@I<=zK_uu z3XX2wcYIxlHIM$4`AhAD@CVfbAoorfJP5g5c`GUvW6Ho~J4R$go(MswN zqW7N$o|5q~x=3!0IT|H=#JB7l`FKd-T2g#U)j@{dBY`(B```i-nzmm!eNtP(& z=OpfO;@_&oKW4F&7H;Wnukw^aDdQvOKO@dYemT=|rm34Hx?8Ag$eq)(gU5b?b>+>~ zIIH2Un<5EpZuh9pcFfJDRufrLh$vrIzHskw-5)we`@dF>>-7h&=alIf_DD>I<7>f8 zXKS_*W2Cn%3q_^XVh0(Y+sB%X0XBxWL8JvF@2m1rEH&-%5bnC%w{#nV$HuT6(H$?S z@Q8AX6DyO~_0vGBo=XMUznqe_>^HoSNGY;($8=hBq)7r)^t ze4N%2>=_Zy;et+xfyPRtyxP3bTD7#$aOz0>m#;JGZ2(^)+uKacYDcxrUti06AR z#~|BO|E;uVmUa%;MJO-_DDllj-jK?claGlrp(>)6;b*f1s>y=2EE|_lLQ>^;c`?G&)S+Ih_XSenm97sse{(rL&1xN*k?w}UN- z<1gP8LAO?5x^}TsXgCV-`^CTRT8C~yIu1+#|#@9>BIS#oJe28I@ z-3WEM=!UtBc|vQ^=WyN=ou5-&>Rkvo-A$hDuZq{`;xH!{y~)2T7QM*GjQz+clfFQe z{66HCXn)alR1BfhiRlGjFoV^Z&H9T;-s4)bJM*i=f1rvtywQbOgR9|%E9{MOeSr_- zIccVF%}@kZJnlDH))B zF2$W9EycCCLvbk(+#yh;cyYJlu0;a`D8(HD6btTB-1+j}bI-Zw`;(t}p1t>4bImc< z7-QDQ(K&Gk9zu!(2l=z*lSP0HXY8u;M&<*`WHysBGgY4t7ijuG_zfv^nQzSt{H*%b zBXa65iW(Ct5<}1NJY-jZ==t4gbB_>@gcrAov|xI$@Hl3g`0&r6YeguZ=L;=g5&QfvTu$BVyItTIF3B(@ix_ z%dY{{TNLOAVS3g=@Rqx5X*fg`UbPw#<2_Tc;P~fw-TJ{HIZAK;HW}dcVp0G2O zr%4C0zPNlTdSsL6GNDW2iQA&ouS>t&-3M@0<}q?AL4KNxjfhjxTpv%hi#YuE>^SP_ ztD5JpVRDA@52!zx1KS|9s;gmc)cZrNc`8i0Vf4A7|1O!em|%tcIpQy^e@4*3al4h5 zO-42|-FFa{0PWSv4>TtFjvq#X4GiDmDrSZ~vA%HH>`e6DLgqlou=w*Aj?(D68!8H4p4ODP755!=g@aTW01FaO^EeOo5>9X>VcmLoVQHZwGqhTIbxPfa5{l3aAGew31sK}28edfMY(kIJxlk2 z#akNXB9kp6*{C~91Es_KJm)XqQ}0Ka_Y3TMx9($IPP3EJD*_nniZW#;_!g3C?>|(# zuH2+zBAA5D{5K~j2Vn4f4xek*>#ej5M`06xZI0#d)IN!ac@P{M}Kwcp`y}qz`0_ zQGPWGc`EQxT45gVQ-M(ag4bncc4CO33_hj@ODCUY&@euT?$k}JkH$YPurND)&5IS^6YaZV$VibAvn)L3kQSREqH?%KPogf;JBft@8j7Da^)JP

^j$2YFHMW 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

sG~S$dDQgy4c?1=6K83s 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 BDbWA` literal 0 HcmV?d00001 diff --git a/libs/web-components/screenshots/fidelity-check-after-fix.png b/libs/web-components/screenshots/fidelity-check-after-fix.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca2bcb589c1b249f5c7ede8bcbd5124e02ee71f GIT binary patch literal 191190 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

  • NO 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
      1?KZ6wh_Eb}Vc{R(bqZN?V2V*7997qA}R_ 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

      9d<9kSWn{n^9^l=W1W&yK13+vg88P91y= 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 EKLGeV0RR91 literal 0 HcmV?d00001 diff --git a/libs/web-components/screenshots/remaining-findings-repro.png b/libs/web-components/screenshots/remaining-findings-repro.png new file mode 100644 index 0000000000000000000000000000000000000000..77a5ae6204b934cef4ecd32e234a4254cf0eb25d GIT binary patch literal 134822 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%0A$-(KC!_fhyP1Qok?y{3%64j#wMZzS8{rF; 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 Zx|^~-{zTM)Y8aWd#n@~^wxPr6{{z@-M$`ZR literal 0 HcmV?d00001 diff --git a/libs/web-components/scripts/measure-bundle-size.mjs b/libs/web-components/scripts/measure-bundle-size.mjs new file mode 100644 index 0000000..9be3dfc --- /dev/null +++ b/libs/web-components/scripts/measure-bundle-size.mjs @@ -0,0 +1,160 @@ +#!/usr/bin/env node +/** + * CTORNDSD-581 exit artifact: bundle-size comparison of the 5 Lit-ported atoms against + * their React+Emotion equivalents already tracked by libs/ui/.size-limit.budgets.json. + * + * Both sides are measured the same way (gzip, per-export/per-chunk, shared runtime + * externalized) so the numbers are comparable: + * - Lit side: gzip size of each component's own chunk in dist/libs/web-components + * (`lit` and `gd-design-core` externalized, same as this package's vite.config.ts). + * - React side: libs/ui/scripts/size-check.mjs's per-export gzip size (`react`, + * `react-dom`, `@emotion/react`, `@emotion/styled` externalized/ignored). + * + * Usage: node libs/web-components/scripts/measure-bundle-size.mjs [--json] + * Requires: `nx build web-components` and a built libs/ui dist (`nx build ui`) first. + */ +import { readFileSync, writeFileSync, existsSync, readdirSync } from 'fs'; +import { gzipSync } from 'zlib'; +import { resolve, dirname } from 'path'; +import { fileURLToPath } from 'url'; +import { execFileSync } from 'child_process'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const REPO_ROOT = resolve(__dirname, '../../..'); +const LIT_DIST = resolve(REPO_ROOT, 'dist/libs/web-components'); +const UI_SIZE_REPORT = resolve(REPO_ROOT, 'libs/ui/scripts/output/size-limit-report.json'); + +/** Regex used to identify which component a preserveModules chunk belongs to. */ +const COMPONENT_SNIFFERS = { + Button: /resolveButtonVariantStyle|GdButton/, + Checkbox: /resolveCheckboxStyle|GdCheckbox/, + Typography: /resolveTypographyStyle|GdTypography/, + Input: /resolveInputStyle|GdInput/, + Select: /resolveSelectStyle|GdSelect/, +}; + +function gzipBytes(buf) { + return gzipSync(buf, { level: 9 }).length; +} + +function measureLitAtoms() { + if (!existsSync(LIT_DIST)) { + console.error(`✗ ${LIT_DIST} not found — run \`nx build web-components\` first.`); + process.exit(1); + } + + const files = readdirSync(LIT_DIST).filter((f) => f.endsWith('.js')); + const results = {}; + let sharedHelperGzip = 0; + + for (const file of files) { + const content = readFileSync(resolve(LIT_DIST, file)); + const gzip = gzipBytes(content); + const text = content.toString('utf-8'); + + const matchedComponent = Object.entries(COMPONENT_SNIFFERS).find(([, re]) => re.test(text))?.[0]; + if (matchedComponent) { + results[matchedComponent] = { file, gzip }; + } else { + // Barrel (index.ts) + shared decorator-metadata helpers, paid once regardless of + // how many of the 5 atoms a consumer actually imports. + sharedHelperGzip += gzip; + } + } + + return { results, sharedHelperGzip }; +} + +function measureReactAtoms() { + if (!existsSync(UI_SIZE_REPORT)) { + console.log(' (no cached libs/ui size report — running `node libs/ui/scripts/size-check.mjs --json`...)'); + execFileSync('node', ['libs/ui/scripts/size-check.mjs', '--json'], { cwd: REPO_ROOT, stdio: 'inherit' }); + } + const report = JSON.parse(readFileSync(UI_SIZE_REPORT, 'utf-8')); + const byName = Object.fromEntries(report.entries.map((e) => [e.name, e.size])); + return { + Button: byName.Button, + Checkbox: byName.Checkbox, + Typography: byName.Typography, + Input: byName.Input, + Select: byName.Select, + }; +} + +/** One-time runtime cost a React-only consumer app newly pays to adopt any Lit component — + * analogous to the ~17-19kB Emotion/theme baseline already inside every React figure below, + * except an existing React app already has Emotion loaded, whereas `lit` would be net-new. */ +function measureLitRuntimeCost() { + const litEntry = ` + import { LitElement, html, css } from 'lit'; + import { customElement, property, state, query } from 'lit/decorators.js'; + import { styleMap } from 'lit/directives/style-map.js'; + export { LitElement, html, css, customElement, property, state, query, styleMap }; + `; + const tmpDir = resolve(REPO_ROOT, '.tmp-litsize'); + const entryPath = resolve(tmpDir, 'entry.mjs'); + const outPath = resolve(tmpDir, 'out.js'); + try { + execFileSync('mkdir', ['-p', tmpDir]); + writeFileSync(entryPath, litEntry); + execFileSync( + 'node', + [ + '-e', + `require('esbuild').buildSync({entryPoints:['${entryPath}'],bundle:true,minify:true,format:'esm',outfile:'${outPath}'})`, + ], + { cwd: REPO_ROOT } + ); + return gzipBytes(readFileSync(outPath)); + } finally { + execFileSync('rm', ['-rf', tmpDir]); + } +} + +function fmt(bytes) { + return `${(bytes / 1024).toFixed(2)} kB`; +} + +const { results: litAtoms, sharedHelperGzip } = measureLitAtoms(); +const reactAtoms = measureReactAtoms(); +const litRuntimeCost = measureLitRuntimeCost(); + +console.log('\n╔══════════════════════════════════════════════════════════════════╗'); +console.log('║ CTORNDSD-581 — Lit vs. React+Emotion bundle size (gzip, per atom) ║'); +console.log('╚══════════════════════════════════════════════════════════════════╝\n'); + +const rows = []; +for (const name of Object.keys(COMPONENT_SNIFFERS)) { + const lit = litAtoms[name]?.gzip; + const react = reactAtoms[name]; + const ratio = lit && react ? (react / lit).toFixed(1) : 'n/a'; + rows.push({ name, lit, react, ratio }); + console.log( + ` ${name.padEnd(11)} Lit: ${lit ? fmt(lit).padStart(9) : 'MISSING'.padStart(9)} React+Emotion: ${react ? fmt(react).padStart(9) : 'n/a'.padStart(9)} (${ratio}x)` + ); +} + +console.log(`\n Shared Lit chunk helpers (barrel + decorator metadata, paid once): ${fmt(sharedHelperGzip)}`); +console.log(` \`lit\` runtime itself (net-new dep for a React-only consumer): ${fmt(litRuntimeCost)}`); +console.log( + ` React figures above already include libs/ui's shared Emotion/theme baseline (~17-19kB per\n export) that an existing React+Emotion app has already paid once — the Lit side's equivalent\n one-time cost is the ${fmt(litRuntimeCost)} \`lit\` runtime line above, which most React apps have NOT\n already paid. Compare "5 atoms + shared cost" totals, not just the per-atom rows in isolation.` +); + +const litTotal = Object.values(litAtoms).reduce((sum, { gzip }) => sum + gzip, 0) + sharedHelperGzip; +const reactTotal = Object.values(reactAtoms).reduce((sum, size) => sum + (size ?? 0), 0); +console.log(`\n 5-atom total, Lit (incl. shared helpers, excl. \`lit\` runtime): ${fmt(litTotal)}`); +console.log(` 5-atom total, Lit (incl. \`lit\` runtime, one-time): ${fmt(litTotal + litRuntimeCost)}`); +console.log(` 5-atom total, React+Emotion (per-export, not de-duplicated): ${fmt(reactTotal)}`); + +if (process.argv.includes('--json')) { + const outFile = resolve(__dirname, '../bundle-size-report.json'); + writeFileSync( + outFile, + JSON.stringify( + { rows, sharedHelperGzip, litRuntimeCost, litTotal, litTotalWithRuntime: litTotal + litRuntimeCost, reactTotal }, + null, + 2 + ) + ); + console.log(`\n JSON written → ${outFile}`); +} diff --git a/libs/web-components/scripts/run-ssr-dsd-check.mjs b/libs/web-components/scripts/run-ssr-dsd-check.mjs new file mode 100644 index 0000000..bbb2f25 --- /dev/null +++ b/libs/web-components/scripts/run-ssr-dsd-check.mjs @@ -0,0 +1,38 @@ +#!/usr/bin/env node +/** + * Runner for ssr-dsd-render.ts — boots a Vite SSR module graph (reusing this package's own + * vite.config.ts, so `gd-design-core` resolves via nxViteTsPaths() exactly as it does in + * real dev/build) and invokes the render check. + * + * Usage: node libs/web-components/scripts/run-ssr-dsd-check.mjs + */ +import { createServer } from 'vite'; +import { resolve, dirname } from 'path'; +import { fileURLToPath } from 'url'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); +const PACKAGE_ROOT = resolve(__dirname, '..'); + +const server = await createServer({ + configFile: resolve(PACKAGE_ROOT, 'vite.config.ts'), + server: { middlewareMode: true }, + appType: 'custom', +}); + +try { + const mod = await server.ssrLoadModule(resolve(__dirname, 'ssr-dsd-render.ts')); + const { out, hasButtonDSD, hasTypographyDSD, staticHtmlPath, hydratedHtmlPath } = await mod.runSsrDsdCheck(); + + console.log('--- SSR output ---\n' + out + '\n------------------\n'); + console.log('DSD present for gd-button: ', hasButtonDSD); + console.log('DSD present for gd-typography: ', hasTypographyDSD); + console.log(`\nWrote no-JS static DSD reproduction → ${staticHtmlPath}`); + console.log(`Wrote hydration reproduction → ${hydratedHtmlPath}`); + + if (!hasButtonDSD || !hasTypographyDSD) { + console.error('\nFAIL: expected DSD template wrapper missing for one or both components.'); + process.exitCode = 1; + } +} finally { + await server.close(); +} diff --git a/libs/web-components/scripts/ssr-dsd-render.ts b/libs/web-components/scripts/ssr-dsd-render.ts new file mode 100644 index 0000000..98e6b76 --- /dev/null +++ b/libs/web-components/scripts/ssr-dsd-render.ts @@ -0,0 +1,75 @@ +/** + * CTORNDSD-581 exit artifact — SSR / Declarative Shadow DOM (DSD) smoke check for + * `gd-button` and `gd-typography`. Uses Lit's own SSR tooling (`@lit-labs/ssr`), added only + * to this package's own package.json. + * + * Loaded via Vite's `ssrLoadModule` (see run-ssr-dsd-check.mjs) rather than run directly + * under a generic Node/TS runner, so the `gd-design-core` bare-specifier import resolves + * exactly the way it does in this package's real dev/build (via `nxViteTsPaths()` in + * vite.config.ts) instead of falling back to a plain Node module-resolution algorithm that + * doesn't understand the Nx workspace's TS path mappings. + */ +import '@lit-labs/ssr/lib/install-global-dom-shim.js'; +import { render } from '@lit-labs/ssr'; +import { html } from 'lit'; +import { writeFileSync } from 'fs'; +import { resolve, dirname } from 'path'; +import { fileURLToPath } from 'url'; +import '../src/components/gd-button/gd-button'; +import '../src/components/gd-typography/gd-typography'; + +const __dirname = dirname(fileURLToPath(import.meta.url)); + +export async function runSsrDsdCheck() { + const template = html` + Submit + Heading + `; + + const result = render(template); + let out = ''; + for await (const chunk of result) out += chunk; + + const hasButtonDSD = /]*>\s*