+Added compilation for Apple IPA installers.
+Split the single "Think" button into three buttons: whether to enable the UI-layer thinking box, whether to activate thinking at the parameter level, and whether to incorporate thinking into the context.
+New Architecture Goals --- Normalized inference flow
+① Jinja Built-in + Plain Text A { messages, jinja: true } ✓ Model Built-in
+② Jinja Built-in + Multimodal A { messages, jinja: true } ✓ Model Built-in
+③ Custom Jinja + Plain Text A { messages, chatTemplate, jinja: true } ✓ User Customized
+④ Custom Jinja + Multimodal A { messages, chatTemplate, jinja: true } ✓ User Customized
+⑤ Nunjucks + Plain Text B { prompt, jinja: false } ✓ JS Rendering
+⑥ Nunjucks + Multimodal A { messages, jinja: true } ✗ Falls back to Built-in Template (+ UI Hint)
+Only two JS remain on the entire pipeline.
+JS | Applicable Scenario | Can it be avoided?
+token callback | All 6 scenarios | No, as it is the sole streaming mechanism for llama.rn.
+applyChatTemplate() | Only scenario ⑤ | If users use Jinja exclusively, this JS will not be triggered at all.
+
+Just need to synchronize adaptations whenever llama.rn is updated.
+
+Emphasize that this version is developed based on the original repository's 1.12.2; however, for this version of llama.cpp, control over Qwen 3.5's thinking cannot be handled correctly unless special rules are added to inputs, outputs, and the UI, which is quite messy. This is not planned at the moment; we await official adaptation from LLAMA. Moreover, this new version supports custom templates, allowing you to add {%- set enable_thinking = false %} to control whether thinking occurs. Interestingly, however, the older version 1.11.21 can still use its "Think" button to control Qwen 3.5's thinking.
+I have optimized the compilation for versions 1.11.21 and 1.12.2, enabling direct generation of APK and IPA installer packages via actions; feel free to compile and test them yourself.
+https://github.com/CCSSNE/bianyi-1.11.21
+https://github.com/CCSSNE/bianyi-1.12.2
+
# PocketPal AI 📱🚀
PocketPal AI is a pocket-sized AI assistant powered by small language models (SLMs) that run directly on your phone. Designed for both iOS and Android, PocketPal AI lets you interact with various SLMs without the need for an internet connection. Your privacy is fully protected as all processing happens entirely on-device — your conversations, prompts, and data never leave your phone or get stored on external servers.
From 44f2b40b710c38dc2f2a5642f0647418bf7cd3cc Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Thu, 19 Mar 2026 02:22:33 +0000
Subject: [PATCH 053/240] Update README.md
---
README.md | 57 ++++++++++++++++++++++++++++++++++++++-----------------
1 file changed, 40 insertions(+), 17 deletions(-)
diff --git a/README.md b/README.md
index 604385fa4..2cb87518e 100644
--- a/README.md
+++ b/README.md
@@ -27,26 +27,49 @@ A regrettable omission: I intended to implement real-time monitoring of memory (
-Added compilation for Apple IPA installers.
-Split the single "Think" button into three buttons: whether to enable the UI-layer thinking box, whether to activate thinking at the parameter level, and whether to incorporate thinking into the context.
-New Architecture Goals --- Normalized inference flow
-① Jinja Built-in + Plain Text A { messages, jinja: true } ✓ Model Built-in
-② Jinja Built-in + Multimodal A { messages, jinja: true } ✓ Model Built-in
-③ Custom Jinja + Plain Text A { messages, chatTemplate, jinja: true } ✓ User Customized
-④ Custom Jinja + Multimodal A { messages, chatTemplate, jinja: true } ✓ User Customized
-⑤ Nunjucks + Plain Text B { prompt, jinja: false } ✓ JS Rendering
-⑥ Nunjucks + Multimodal A { messages, jinja: true } ✗ Falls back to Built-in Template (+ UI Hint)
+* Added compilation for **Apple IPA installers**.
+* Split the single "Think" button into **three buttons**:
+ * Whether to enable the UI-layer thinking box.
+ * Whether to activate thinking at the parameter level.
+ * Whether to incorporate thinking into the context.
+
+## New Architecture Goals --- Normalized inference flow
+
+| # | Architecture Type | Message Type | Logic | Status |
+| :--- | :--- | :--- | :--- | :--- |
+| ① | Jinja Built-in | Plain Text | A { messages, jinja: true } | ✓ Model Built-in |
+| ② | Jinja Built-in | Multimodal | A { messages, jinja: true } | ✓ Model Built-in |
+| ③ | Custom Jinja | Plain Text | A { messages, chatTemplate, jinja: true } | ✓ User Customized |
+| ④ | Custom Jinja | Multimodal | A { messages, chatTemplate, jinja: true } | ✓ User Customized |
+| ⑤ | Nunjucks | Plain Text | B { prompt, jinja: false } | ✓ JS Rendering |
+| ⑥ | Nunjucks | Multimodal | A { messages, jinja: true } | ✗ Falls back to Built-in Template (+ UI Hint) |
+
+### Pipeline Optimization
Only two JS remain on the entire pipeline.
-JS | Applicable Scenario | Can it be avoided?
-token callback | All 6 scenarios | No, as it is the sole streaming mechanism for llama.rn.
-applyChatTemplate() | Only scenario ⑤ | If users use Jinja exclusively, this JS will not be triggered at all.
-Just need to synchronize adaptations whenever llama.rn is updated.
+| JS | Applicable Scenario | Can it be avoided? |
+| :--- | :--- | :--- |
+| **token callback** | All 6 scenarios | **No**, as it is the sole streaming mechanism for llama.rn. |
+| **applyChatTemplate()** | Only scenario ⑤ | **Yes**. If users use Jinja exclusively, this JS will not be triggered at all. |
-Emphasize that this version is developed based on the original repository's 1.12.2; however, for this version of llama.cpp, control over Qwen 3.5's thinking cannot be handled correctly unless special rules are added to inputs, outputs, and the UI, which is quite messy. This is not planned at the moment; we await official adaptation from LLAMA. Moreover, this new version supports custom templates, allowing you to add {%- set enable_thinking = false %} to control whether thinking occurs. Interestingly, however, the older version 1.11.21 can still use its "Think" button to control Qwen 3.5's thinking.
-I have optimized the compilation for versions 1.11.21 and 1.12.2, enabling direct generation of APK and IPA installer packages via actions; feel free to compile and test them yourself.
-https://github.com/CCSSNE/bianyi-1.11.21
-https://github.com/CCSSNE/bianyi-1.12.2
+> [!IMPORTANT]
+> Just need to synchronize adaptations whenever **llama.rn** is updated.
+
+---
+
+### Version Notes & Compatibility
+Emphasize that this version is developed based on the original repository's **1.12.2**; however, for this version of **llama.cpp**, control over **Qwen 3.5's thinking** cannot be handled correctly unless special rules are added to inputs, outputs, and the UI, which is quite messy. This is not planned at the moment; we await official adaptation from LLAMA.
+
+Moreover, this new version supports **custom templates**, allowing you to add `{%- set enable_thinking = false %}` to control whether thinking occurs. Interestingly, however, the older version **1.11.21** can still use its "Think" button to control Qwen 3.5's thinking.
+
+### CI/CD & Downloads
+I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabling direct generation of **APK** and **IPA** installer packages via actions; feel free to compile and test them yourself.
+
+* [https://github.com/CCSSNE/bianyi-1.11.21](https://github.com/CCSSNE/bianyi-1.11.21)
+* [https://github.com/CCSSNE/bianyi-1.12.2](https://github.com/CCSSNE/bianyi-1.12.2)
+
+---
+Would you like me to help you draft the GitHub Release notes based on this content?
# PocketPal AI 📱🚀
From 0968097de6ed6f4b4fb17d16690ace28d360a637 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Thu, 19 Mar 2026 03:58:03 +0000
Subject: [PATCH 054/240] Update README.md
---
README.md | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 2cb87518e..845cfbd3a 100644
--- a/README.md
+++ b/README.md
@@ -57,10 +57,13 @@ Only two JS remain on the entire pipeline.
---
+
### Version Notes & Compatibility
-Emphasize that this version is developed based on the original repository's **1.12.2**; however, for this version of **llama.cpp**, control over **Qwen 3.5's thinking** cannot be handled correctly unless special rules are added to inputs, outputs, and the UI, which is quite messy. This is not planned at the moment; we await official adaptation from LLAMA.
+the new llama version 0.11.3 (app-1.12.2 This repository is also developed based on this version) can control Qwen 3.5's thinking capabilities. In the default template, versions of 9B and above possess both enable/disable functions for thinking, whereas versions below 9B do not have this feature by default. Simply copy the 9B template and apply it to the 4B, 2B, and 0.8B models; you will then be able to control thinking with the new version!!!
+
+Please note that when you turn off the "resemble format" (RF button), your thinking chain will merge into the main text and thus won't appear in the thinking box. The next context will still carry over the thinking process, which I think is unnecessary to change since resemble format is usually disabled anyway.
-Moreover, this new version supports **custom templates**, allowing you to add `{%- set enable_thinking = false %}` to control whether thinking occurs. Interestingly, however, the older version **1.11.21** can still use its "Think" button to control Qwen 3.5's thinking.
+in the older llama version 0.11.0 (app-1.11.21)can you control their thinking without configuring templates for the 4B, 2B, and 0.8B models. This repository also includes a branch specifically designed to be compatible with llama version 0.11.0; please note that under the Android framework, engine switching is not possible—you can only have one engine per app.
### CI/CD & Downloads
I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabling direct generation of **APK** and **IPA** installer packages via actions; feel free to compile and test them yourself.
From a147aa2d2ec086f5cae191c50525dde22b627bd6 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Thu, 19 Mar 2026 03:59:42 +0000
Subject: [PATCH 055/240] Update README.md
---
README.md | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 845cfbd3a..bd7db8912 100644
--- a/README.md
+++ b/README.md
@@ -71,8 +71,11 @@ I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabli
* [https://github.com/CCSSNE/bianyi-1.11.21](https://github.com/CCSSNE/bianyi-1.11.21)
* [https://github.com/CCSSNE/bianyi-1.12.2](https://github.com/CCSSNE/bianyi-1.12.2)
----
-Would you like me to help you draft the GitHub Release notes based on this content?
+
+
+
+
+
# PocketPal AI 📱🚀
From 9c6bdff462cbb52e96644aceb791c91e23908f19 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 04:08:37 +0000
Subject: [PATCH 056/240] =?UTF-8?q?llama=20=E6=98=BE=E7=A4=BA=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/screens/AboutScreen/AboutScreen.tsx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/screens/AboutScreen/AboutScreen.tsx b/src/screens/AboutScreen/AboutScreen.tsx
index 64d2926bb..61fd769d1 100644
--- a/src/screens/AboutScreen/AboutScreen.tsx
+++ b/src/screens/AboutScreen/AboutScreen.tsx
@@ -129,8 +129,7 @@ export const AboutScreen: React.FC = () => {
- llama.cpp {BuildInfo.number} ({BuildInfo.commit.substring(0, 7)}
- )
+ llama.cpp {BuildInfo.number}
From 6ad1b4b33dd47f78e679ae6e5da7fbd4e8e3cb34 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 04:36:57 +0000
Subject: [PATCH 057/240] =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=A6=81=E6=AD=A2?=
=?UTF-8?q?=E6=88=AA=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
可以收起来 可以做总条数限制 但是每一条不能做截断
---
src/hooks/useChatSession.ts | 2 +-
src/store/ModelStore.ts | 4 ++--
src/utils/debug.ts | 15 +++++----------
3 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/src/hooks/useChatSession.ts b/src/hooks/useChatSession.ts
index 5aaa40d4e..5aa57b56e 100644
--- a/src/hooks/useChatSession.ts
+++ b/src/hooks/useChatSession.ts
@@ -230,7 +230,7 @@ const prepareCompletion = async ({
getFormattedChatResultType: typeof diagResult,
hasThinkTag: diagPrompt.includes(''),
hasEnableThinkingInTemplate: diagPrompt.includes('enable_thinking'),
- promptPreview: diagPrompt.slice(-300),
+ promptPreview: diagPrompt,
promptLength: diagPrompt.length,
});
} catch (diagError) {
diff --git a/src/store/ModelStore.ts b/src/store/ModelStore.ts
index 05d97e829..77eecdb8e 100644
--- a/src/store/ModelStore.ts
+++ b/src/store/ModelStore.ts
@@ -2355,7 +2355,7 @@ class ModelStore {
modelTemplateName: storeModel.chatTemplate?.name,
modelTemplateLength: template?.length ?? 0,
contextTemplateLength: contextTemplate.length,
- contextTemplatePreview: contextTemplate.slice(0, 160),
+ contextTemplatePreview: contextTemplate,
architecture:
(ctx.model as any)?.metadata?.['general.architecture'] ||
storeModel.ggufMetadata?.architecture,
@@ -2934,7 +2934,7 @@ class ModelStore {
activeProjectionModelId: this.activeProjectionModelId,
imageCount: processedImagePaths.length,
promptLength: params.prompt.length,
- imageSources: processedImagePaths.map(path => path.slice(0, 120)),
+ imageSources: processedImagePaths,
});
// Create a system message if provided
diff --git a/src/utils/debug.ts b/src/utils/debug.ts
index 576bf2fd3..1cb176212 100644
--- a/src/utils/debug.ts
+++ b/src/utils/debug.ts
@@ -2,17 +2,12 @@ import {debugStore} from '../store/DebugStore';
let consoleCaptureInitialized = false;
-export function previewText(value: unknown, maxLength: number = 500): string {
+export function previewText(value: unknown, _maxLength?: number): string {
if (value === undefined || value === null) {
return '';
}
- const text = String(value);
- if (text.length <= maxLength) {
- return text;
- }
-
- return `${text.slice(0, maxLength)}...`;
+ return String(value);
}
function simpleHash(text: string): string {
@@ -98,7 +93,7 @@ export function getTextDiagnostics(value: unknown) {
repeatedCharMaxRun: maxRun,
repeatedBigramTop: topBigram,
repeatedBigramCount: topBigramCount,
- preview: previewText(text, 240),
+ preview: text,
};
}
@@ -224,14 +219,14 @@ export function buildCompletionParamProbe(params: Record) {
chatParserLength: chatParser.length,
chatParserHash: getTextDiagnostics(chatParser).hash,
preservedTokenCount: preservedTokens.length,
- preservedTokensPreview: preservedTokens.slice(0, 12),
+ preservedTokensPreview: preservedTokens,
grammarTriggersCount: grammarTriggers.length,
promptDiag: getTextDiagnostics(prompt),
promptHasVisionTokens:
prompt.includes('<|vision_start|>') || prompt.includes('<|image_pad|>'),
promptHasThinkTag: prompt.includes(''),
stopCount: stopWords.length,
- stopPreview: stopWords.slice(0, 10),
+ stopPreview: stopWords,
suspectFlags,
};
}
From 8e43b352a961515726d91fff90252dc63f2dc7dd Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 04:51:18 +0000
Subject: [PATCH 058/240] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=9B=E5=BA=A6?=
=?UTF-8?q?=E6=9D=A1=E5=92=8C=E4=B8=8A=E4=B8=8B=E8=B7=B3=E8=BD=AC=E6=8C=89?=
=?UTF-8?q?=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ChatNavigationBar/ChatNavigationBar.tsx | 104 +++++++++
src/components/ChatNavigationBar/index.ts | 2 +
src/components/ChatNavigationBar/styles.ts | 66 ++++++
src/components/ChatView/ChatView.tsx | 207 ++++++++++++++++++
.../CollapsibleUserMessage.tsx | 71 ++++++
.../CollapsibleUserMessage/index.ts | 1 +
.../CollapsibleUserMessage/styles.ts | 29 +++
src/components/TextMessage/TextMessage.tsx | 54 +++--
src/components/index.ts | 2 +
9 files changed, 507 insertions(+), 29 deletions(-)
create mode 100644 src/components/ChatNavigationBar/ChatNavigationBar.tsx
create mode 100644 src/components/ChatNavigationBar/index.ts
create mode 100644 src/components/ChatNavigationBar/styles.ts
create mode 100644 src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
create mode 100644 src/components/CollapsibleUserMessage/index.ts
create mode 100644 src/components/CollapsibleUserMessage/styles.ts
diff --git a/src/components/ChatNavigationBar/ChatNavigationBar.tsx b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
new file mode 100644
index 000000000..91ff97bc4
--- /dev/null
+++ b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
@@ -0,0 +1,104 @@
+import React from 'react';
+import {View, TouchableOpacity, Text} from 'react-native';
+
+import {useTheme} from '../../hooks';
+import {createStyles} from './styles';
+
+export interface UserMessageNode {
+ /** Index in the FlatList data array */
+ index: number;
+ /** Relative position 0..1 within the visible progress window */
+ position: number;
+}
+
+interface ChatNavigationBarProps {
+ /** Node markers representing user message positions (0..1 in the window) */
+ nodes: UserMessageNode[];
+ /** Current scroll position as fraction 0..1 within the window */
+ scrollFraction: number;
+ /** Called when user presses "up" (previous user message) */
+ onPrevious: () => void;
+ /** Called when user presses "down" (next user message) */
+ onNext: () => void;
+ /** Whether the bar should be visible */
+ visible: boolean;
+ /** Bottom offset to avoid overlapping with chat input */
+ bottomOffset?: number;
+}
+
+export const ChatNavigationBar: React.FC = React.memo(
+ ({nodes, scrollFraction, onPrevious, onNext, visible, bottomOffset = 0}) => {
+ const theme = useTheme();
+ const styles = createStyles(theme);
+
+ if (!visible) {
+ return null;
+ }
+
+ // Clamp scroll fraction to 0..1
+ const clampedFraction = Math.max(0, Math.min(1, scrollFraction));
+
+ return (
+
+ {/* Up button - jump to previous user message */}
+
+ {'∧'}
+
+
+ {/* Progress track */}
+
+ {/* Track fill showing visible range */}
+
+
+ {/* Node markers for user messages */}
+ {nodes.map((node, i) => (
+
+ ))}
+
+ {/* Thumb indicator showing current position */}
+
+
+
+ {/* Down button - jump to next user message */}
+
+ {'∨'}
+
+
+ );
+ },
+);
diff --git a/src/components/ChatNavigationBar/index.ts b/src/components/ChatNavigationBar/index.ts
new file mode 100644
index 000000000..ba75b1384
--- /dev/null
+++ b/src/components/ChatNavigationBar/index.ts
@@ -0,0 +1,2 @@
+export {ChatNavigationBar} from './ChatNavigationBar';
+export type {UserMessageNode} from './ChatNavigationBar';
diff --git a/src/components/ChatNavigationBar/styles.ts b/src/components/ChatNavigationBar/styles.ts
new file mode 100644
index 000000000..e49f3cacb
--- /dev/null
+++ b/src/components/ChatNavigationBar/styles.ts
@@ -0,0 +1,66 @@
+import {StyleSheet} from 'react-native';
+import {Theme} from '../../utils/types';
+
+export const createStyles = (theme: Theme) =>
+ StyleSheet.create({
+ container: {
+ position: 'absolute',
+ right: 2,
+ top: 8,
+ // bottom is set dynamically via bottomOffset prop
+ width: 28,
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ zIndex: 50,
+ },
+ navButton: {
+ width: 24,
+ height: 24,
+ borderRadius: 12,
+ backgroundColor: theme.colors.surfaceVariant,
+ justifyContent: 'center',
+ alignItems: 'center',
+ borderWidth: 1,
+ borderColor: theme.colors.outlineVariant,
+ },
+ navButtonText: {
+ fontSize: 14,
+ fontWeight: '700',
+ color: theme.colors.onSurfaceVariant,
+ lineHeight: 16,
+ },
+ trackContainer: {
+ flex: 1,
+ width: 6,
+ marginVertical: 6,
+ borderRadius: 3,
+ backgroundColor: theme.colors.surfaceVariant,
+ overflow: 'hidden',
+ position: 'relative',
+ },
+ trackFill: {
+ position: 'absolute',
+ left: 0,
+ right: 0,
+ backgroundColor: theme.colors.primary,
+ opacity: 0.3,
+ borderRadius: 3,
+ },
+ nodeMarker: {
+ position: 'absolute',
+ left: 0,
+ right: 0,
+ height: 3,
+ backgroundColor: theme.colors.primary,
+ borderRadius: 1.5,
+ },
+ thumbIndicator: {
+ position: 'absolute',
+ left: -2,
+ width: 10,
+ height: 14,
+ borderRadius: 5,
+ backgroundColor: theme.colors.primary,
+ opacity: 0.7,
+ },
+ });
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index a0b61990b..483d6a232 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -27,6 +27,7 @@ import Reanimated, {
useAnimatedReaction,
useAnimatedScrollHandler,
useDerivedValue,
+ runOnJS,
} from 'react-native-reanimated';
import {useComponentSize} from '../KeyboardAccessoryView/hooks';
@@ -63,6 +64,10 @@ import {
VideoPalEmptyPlaceholder,
ContentReportSheet,
} from '..';
+import {
+ ChatNavigationBar,
+ UserMessageNode,
+} from '../ChatNavigationBar';
import {
AlertIcon,
CopyIcon,
@@ -346,6 +351,9 @@ export const ChatView = observer(
} else {
if (clampedY < STICK) atLatest.value = true;
}
+
+ // Update navigation bar state (throttled on JS thread)
+ runOnJS(updateNavState)(clampedY, Hc, Hv);
},
});
@@ -368,6 +376,177 @@ export const ChatView = observer(
});
}, []);
+ // ============ CHAT NAVIGATION BAR COMPUTATIONS ============
+ // Find indices of user messages in chatMessages (inverted list: index 0 = newest)
+ const userMessageIndices = React.useMemo(() => {
+ const indices: number[] = [];
+ chatMessages.forEach((msg, i) => {
+ if (msg.type !== 'dateHeader' && msg.author?.id === user.id) {
+ indices.push(i);
+ }
+ });
+ return indices;
+ }, [chatMessages, user.id]);
+
+ // Compute navigation bar props
+ const navBarProps = React.useMemo(() => {
+ if (
+ chatMessages.length === 0 ||
+ navContentHeight === 0 ||
+ navViewportHeight === 0
+ ) {
+ return {nodes: [] as UserMessageNode[], scrollFraction: 0};
+ }
+
+ const totalH = navContentHeight;
+ const maxScroll = Math.max(0, totalH - navViewportHeight);
+
+ // In inverted FlatList: scrollY=0 → bottom (newest), scrollY=maxScroll → top (oldest)
+ // The "topmost visible point" (furthest from bottom) = navScrollY + navViewportHeight
+ // This represents how far "up" the user has scrolled in pixel terms
+ const visibleTop = navScrollY + navViewportHeight;
+
+ // Window: show last MAX_WINDOW_PX pixels from the current position
+ const windowEnd = visibleTop;
+ const windowStart = Math.max(0, windowEnd - MAX_WINDOW_PX);
+ const windowSize = windowEnd - windowStart;
+
+ if (windowSize === 0) {
+ return {nodes: [] as UserMessageNode[], scrollFraction: 0};
+ }
+
+ // Scroll fraction: where is the current viewport within the window?
+ // navScrollY=0 → at bottom of window → fraction=1
+ // navScrollY=max within window → at top of window → fraction=0
+ const scrollFraction = 1 - (navScrollY - windowStart) / windowSize;
+
+ // Calculate node positions for user messages
+ // Approximate each message's pixel position: in inverted list,
+ // index 0 is at the bottom (offset=0), last index is at the top
+ const avgItemHeight =
+ totalH / Math.max(1, chatMessages.length);
+ const nodes: UserMessageNode[] = [];
+
+ userMessageIndices.forEach(idx => {
+ // Approximate pixel offset from bottom for this message
+ const pixelFromBottom = idx * avgItemHeight;
+
+ // Check if it falls within the window
+ if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
+ // Position within the window (0=top of window, 1=bottom of window)
+ const position = 1 - (pixelFromBottom - windowStart) / windowSize;
+ nodes.push({index: idx, position});
+ }
+ });
+
+ return {nodes, scrollFraction};
+ }, [
+ chatMessages.length,
+ navContentHeight,
+ navViewportHeight,
+ navScrollY,
+ userMessageIndices,
+ MAX_WINDOW_PX,
+ ]);
+
+ // Jump to previous user message (older = higher index in inverted list)
+ const handleNavPrevious = React.useCallback(() => {
+ if (userMessageIndices.length === 0 || navContentHeight === 0) {
+ return;
+ }
+
+ const totalH = navContentHeight;
+ const avgItemHeight = totalH / Math.max(1, chatMessages.length);
+
+ // Current position from bottom in items
+ const currentItemApprox = navScrollY / avgItemHeight;
+
+ // Find the next user message with a higher index (older/above current position)
+ let targetIndex = -1;
+ for (const idx of userMessageIndices) {
+ if (idx > currentItemApprox + 0.5) {
+ targetIndex = idx;
+ break;
+ }
+ }
+
+ // If none found, wrap to the oldest user message
+ if (targetIndex === -1 && userMessageIndices.length > 0) {
+ targetIndex = userMessageIndices[userMessageIndices.length - 1];
+ }
+
+ if (targetIndex >= 0) {
+ list.current?.scrollToIndex({
+ index: targetIndex,
+ animated: true,
+ viewPosition: 1, // align to top of viewport (inverted list: 1=visual top)
+ });
+ }
+ }, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
+
+ // Jump to next user message (newer = lower index in inverted list)
+ const handleNavNext = React.useCallback(() => {
+ if (userMessageIndices.length === 0 || navContentHeight === 0) {
+ return;
+ }
+
+ const totalH = navContentHeight;
+ const avgItemHeight = totalH / Math.max(1, chatMessages.length);
+
+ // Current position from bottom in items
+ const currentItemApprox = navScrollY / avgItemHeight;
+
+ // Find the next user message with a lower index (newer/below current position)
+ let targetIndex = -1;
+ for (let i = userMessageIndices.length - 1; i >= 0; i--) {
+ if (userMessageIndices[i] < currentItemApprox - 0.5) {
+ targetIndex = userMessageIndices[i];
+ break;
+ }
+ }
+
+ // If none found, wrap to the newest user message
+ if (targetIndex === -1 && userMessageIndices.length > 0) {
+ targetIndex = userMessageIndices[0];
+ }
+
+ if (targetIndex >= 0) {
+ list.current?.scrollToIndex({
+ index: targetIndex,
+ animated: true,
+ viewPosition: 1, // align to top of viewport (inverted list: 1=visual top)
+ });
+ }
+ }, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
+
+ // ============ CHAT NAVIGATION BAR STATE ============
+ // JS-thread state for navigation bar (doesn't need 60fps)
+ const [navScrollY, setNavScrollY] = React.useState(0);
+ const [navContentHeight, setNavContentHeight] = React.useState(0);
+ const [navViewportHeight, setNavViewportHeight] = React.useState(0);
+
+ // Approximate pixel height for "1000 visual lines" (~20px per line)
+ const MAX_WINDOW_PX = 20000;
+
+ // Throttle nav state updates to avoid excessive re-renders
+ const navUpdateTimer = React.useRef | null>(
+ null,
+ );
+ const updateNavState = React.useCallback(
+ (scrollY: number, contentH: number, viewportH: number) => {
+ if (navUpdateTimer.current) {
+ return;
+ }
+ navUpdateTimer.current = setTimeout(() => {
+ navUpdateTimer.current = null;
+ setNavScrollY(scrollY);
+ setNavContentHeight(contentH);
+ setNavViewportHeight(viewportH);
+ }, 100);
+ },
+ [],
+ );
+
// ============ MESSAGE PROCESSING & CALCULATIONS ============
// Calculate chat messages with date headers and user names
const {chatMessages, gallery} = calculateChatMessages(messages, user, {
@@ -827,6 +1006,24 @@ export const ChatView = observer(
onEndReached={handleEndReached}
ref={list}
renderItem={renderMessage}
+ onScrollToIndexFailed={info => {
+ // Scroll to approximate offset when index is not rendered yet
+ const offset = info.averageItemLength * info.index;
+ list.current?.scrollToOffset({offset, animated: true});
+ // Retry after layout
+ setTimeout(() => {
+ if (
+ list.current &&
+ info.index < chatMessages.length
+ ) {
+ list.current.scrollToIndex({
+ index: info.index,
+ animated: true,
+ viewPosition: 0,
+ });
+ }
+ }, 200);
+ }}
maintainVisibleContentPosition={
isStreaming // || hasHiddenContentState
? {
@@ -918,6 +1115,16 @@ export const ChatView = observer(
{customContent}
{renderChatList()}
+ {/* Chat navigation bar */}
+ 0}
+ bottomOffset={bottomComponentHeight}
+ />
+
{/* Chat input */}
=
+ React.memo(({children}) => {
+ const theme = useTheme();
+ const styles = createStyles(theme);
+
+ const [contentHeight, setContentHeight] = useState(0);
+ const [measured, setMeasured] = useState(false);
+ const [expanded, setExpanded] = useState(false);
+
+ const needsCollapse = measured && contentHeight > COLLAPSED_HEIGHT + 10;
+
+ const handleLayout = useCallback((e: LayoutChangeEvent) => {
+ const height = e.nativeEvent.layout.height;
+ if (height > 0) {
+ setContentHeight(height);
+ setMeasured(true);
+ }
+ }, []);
+
+ const toggleExpanded = useCallback(() => {
+ setExpanded(prev => !prev);
+ }, []);
+
+ // If content doesn't need collapsing, render normally
+ if (!needsCollapse) {
+ return (
+ {children}
+ );
+ }
+
+ return (
+
+
+ {children}
+
+
+ {/* Fade overlay when collapsed */}
+ {!expanded && }
+
+ {/* Expand/collapse toggle */}
+
+
+ {expanded ? '▲ 收起' : '▼ 展开'}
+
+
+
+ );
+ });
diff --git a/src/components/CollapsibleUserMessage/index.ts b/src/components/CollapsibleUserMessage/index.ts
new file mode 100644
index 000000000..2b48c282d
--- /dev/null
+++ b/src/components/CollapsibleUserMessage/index.ts
@@ -0,0 +1 @@
+export {CollapsibleUserMessage} from './CollapsibleUserMessage';
diff --git a/src/components/CollapsibleUserMessage/styles.ts b/src/components/CollapsibleUserMessage/styles.ts
new file mode 100644
index 000000000..8f909808e
--- /dev/null
+++ b/src/components/CollapsibleUserMessage/styles.ts
@@ -0,0 +1,29 @@
+import {StyleSheet} from 'react-native';
+import {Theme} from '../../utils/types';
+
+export const createStyles = (theme: Theme) =>
+ StyleSheet.create({
+ fadeOverlay: {
+ position: 'absolute',
+ left: 0,
+ right: 0,
+ bottom: 24, // above the toggle button
+ height: 40,
+ background: undefined, // RN doesn't support CSS gradient
+ backgroundColor: 'transparent',
+ // Use a semi-transparent overlay to hint at hidden content
+ borderBottomWidth: 1,
+ borderBottomColor: theme.colors.outlineVariant,
+ },
+ toggleButton: {
+ alignSelf: 'flex-start',
+ paddingVertical: 4,
+ paddingHorizontal: 8,
+ marginTop: 2,
+ },
+ toggleText: {
+ fontSize: 12,
+ color: theme.colors.primary,
+ fontWeight: '600',
+ },
+ });
diff --git a/src/components/TextMessage/TextMessage.tsx b/src/components/TextMessage/TextMessage.tsx
index 07b3bc063..8c2688048 100644
--- a/src/components/TextMessage/TextMessage.tsx
+++ b/src/components/TextMessage/TextMessage.tsx
@@ -21,6 +21,7 @@ import {useTheme} from '../../hooks';
import {styles} from './styles';
import {MarkdownView} from '../MarkdownView';
+import {CollapsibleUserMessage} from '../CollapsibleUserMessage';
import {MessageType} from '../../utils/types';
import {
@@ -62,6 +63,8 @@ export const TextMessage = observer(
const theme = useTheme();
const user = React.useContext(UserContext);
+ const isCurrentUser = user?.id === message.author.id;
+
const showThinkingBubble = (() => {
const currentSession = chatSessionStore.sessions.find(
s => s.id === chatSessionStore.activeSessionId,
@@ -253,35 +256,28 @@ export const TextMessage = observer(
{/* Render images above the text */}
{renderImages()}
-
-
- {/*Platform.OS === 'ios' ? (
-
- {message.text.trim()}
-
- ) : (
-
- {message.text}
-
- )*/}
+ {isCurrentUser ? (
+
+
+
+ ) : (
+
+ )}
)}
diff --git a/src/components/index.ts b/src/components/index.ts
index b0802e884..18b97e0ff 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -3,7 +3,9 @@ export * from './Avatar';
export * from './Bubble';
export * from './ChatGenerationSettingsSheet';
export * from './ChatInput';
+export * from './ChatNavigationBar';
export * from './ChatView';
+export * from './CollapsibleUserMessage';
export * from './ChatHeader';
export * from './ChatPalModelPickerSheet';
export * from './ChatEmptyPlaceholder';
From 69d85434527739abca5accbdb8bc5e0487655644 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 04:55:37 +0000
Subject: [PATCH 059/240] bug
---
.../ChatNavigationBar/ChatNavigationBar.tsx | 10 +---------
src/components/ChatNavigationBar/styles.ts | 2 ++
src/components/ChatView/ChatView.tsx | 16 ++++------------
.../CollapsibleUserMessage.tsx | 15 +++------------
src/components/CollapsibleUserMessage/styles.ts | 6 ++++++
5 files changed, 16 insertions(+), 33 deletions(-)
diff --git a/src/components/ChatNavigationBar/ChatNavigationBar.tsx b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
index 91ff97bc4..3e4adf13a 100644
--- a/src/components/ChatNavigationBar/ChatNavigationBar.tsx
+++ b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
@@ -55,15 +55,7 @@ export const ChatNavigationBar: React.FC = React.memo(
{/* Progress track */}
{/* Track fill showing visible range */}
-
+
{/* Node markers for user messages */}
{nodes.map((node, i) => (
diff --git a/src/components/ChatNavigationBar/styles.ts b/src/components/ChatNavigationBar/styles.ts
index e49f3cacb..f52453be0 100644
--- a/src/components/ChatNavigationBar/styles.ts
+++ b/src/components/ChatNavigationBar/styles.ts
@@ -42,6 +42,8 @@ export const createStyles = (theme: Theme) =>
position: 'absolute',
left: 0,
right: 0,
+ top: 0,
+ bottom: 0,
backgroundColor: theme.colors.primary,
opacity: 0.3,
borderRadius: 3,
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 483d6a232..74ace226b 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -64,10 +64,7 @@ import {
VideoPalEmptyPlaceholder,
ContentReportSheet,
} from '..';
-import {
- ChatNavigationBar,
- UserMessageNode,
-} from '../ChatNavigationBar';
+import {ChatNavigationBar, UserMessageNode} from '../ChatNavigationBar';
import {
AlertIcon,
CopyIcon,
@@ -399,9 +396,8 @@ export const ChatView = observer(
}
const totalH = navContentHeight;
- const maxScroll = Math.max(0, totalH - navViewportHeight);
- // In inverted FlatList: scrollY=0 → bottom (newest), scrollY=maxScroll → top (oldest)
+ // In inverted FlatList: scrollY=0 → bottom (newest), scrollY=(totalH-viewport) → top (oldest)
// The "topmost visible point" (furthest from bottom) = navScrollY + navViewportHeight
// This represents how far "up" the user has scrolled in pixel terms
const visibleTop = navScrollY + navViewportHeight;
@@ -423,8 +419,7 @@ export const ChatView = observer(
// Calculate node positions for user messages
// Approximate each message's pixel position: in inverted list,
// index 0 is at the bottom (offset=0), last index is at the top
- const avgItemHeight =
- totalH / Math.max(1, chatMessages.length);
+ const avgItemHeight = totalH / Math.max(1, chatMessages.length);
const nodes: UserMessageNode[] = [];
userMessageIndices.forEach(idx => {
@@ -1012,10 +1007,7 @@ export const ChatView = observer(
list.current?.scrollToOffset({offset, animated: true});
// Retry after layout
setTimeout(() => {
- if (
- list.current &&
- info.index < chatMessages.length
- ) {
+ if (list.current && info.index < chatMessages.length) {
list.current.scrollToIndex({
index: info.index,
animated: true,
diff --git a/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx b/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
index 44efacbcc..1fd38496a 100644
--- a/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
+++ b/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
@@ -2,11 +2,7 @@ import React, {useState, useCallback} from 'react';
import {View, TouchableOpacity, Text, LayoutChangeEvent} from 'react-native';
import {useTheme} from '../../hooks';
-import {createStyles} from './styles';
-
-const COLLAPSED_MAX_LINES = 8;
-const LINE_HEIGHT_ESTIMATE = 20; // approximate line height in px
-const COLLAPSED_HEIGHT = COLLAPSED_MAX_LINES * LINE_HEIGHT_ESTIMATE;
+import {createStyles, COLLAPSED_HEIGHT_PX} from './styles';
interface CollapsibleUserMessageProps {
children: React.ReactNode;
@@ -21,7 +17,7 @@ export const CollapsibleUserMessage: React.FC =
const [measured, setMeasured] = useState(false);
const [expanded, setExpanded] = useState(false);
- const needsCollapse = measured && contentHeight > COLLAPSED_HEIGHT + 10;
+ const needsCollapse = measured && contentHeight > COLLAPSED_HEIGHT_PX + 10;
const handleLayout = useCallback((e: LayoutChangeEvent) => {
const height = e.nativeEvent.layout.height;
@@ -45,12 +41,7 @@ export const CollapsibleUserMessage: React.FC =
return (
+ style={!expanded ? styles.collapsedContent : undefined}>
{children}
diff --git a/src/components/CollapsibleUserMessage/styles.ts b/src/components/CollapsibleUserMessage/styles.ts
index 8f909808e..694e663a5 100644
--- a/src/components/CollapsibleUserMessage/styles.ts
+++ b/src/components/CollapsibleUserMessage/styles.ts
@@ -1,8 +1,14 @@
import {StyleSheet} from 'react-native';
import {Theme} from '../../utils/types';
+export const COLLAPSED_HEIGHT_PX = 160; // 8 lines * ~20px per line
+
export const createStyles = (theme: Theme) =>
StyleSheet.create({
+ collapsedContent: {
+ height: COLLAPSED_HEIGHT_PX,
+ overflow: 'hidden',
+ },
fadeOverlay: {
position: 'absolute',
left: 0,
From 6093c72771c3ba20e82eb3a6b3c195b5888316c4 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 04:58:30 +0000
Subject: [PATCH 060/240] Update CollapsibleUserMessage.tsx
---
.../CollapsibleUserMessage/CollapsibleUserMessage.tsx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx b/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
index 1fd38496a..16d4fbadb 100644
--- a/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
+++ b/src/components/CollapsibleUserMessage/CollapsibleUserMessage.tsx
@@ -40,8 +40,7 @@ export const CollapsibleUserMessage: React.FC =
return (
-
+ {children}
From fb0587659cd4543397a41283a8e5186cf5f0969b Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 05:06:44 +0000
Subject: [PATCH 061/240] bugs
---
src/components/ChatView/ChatView.tsx | 116 +++++++-----------
.../CollapsibleUserMessage/styles.ts | 4 +-
2 files changed, 45 insertions(+), 75 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 74ace226b..b8f1b8779 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -373,6 +373,46 @@ export const ChatView = observer(
});
}, []);
+ // ============ CHAT NAVIGATION BAR STATE ============
+ // JS-thread state for navigation bar (doesn't need 60fps)
+ const [navScrollY, setNavScrollY] = React.useState(0);
+ const [navContentHeight, setNavContentHeight] = React.useState(0);
+ const [navViewportHeight, setNavViewportHeight] = React.useState(0);
+
+ // Approximate pixel height for "1000 visual lines" (~20px per line)
+ const MAX_WINDOW_PX = 20000;
+
+ // Throttle nav state updates to avoid excessive re-renders
+ const navUpdateTimer = React.useRef | null>(
+ null,
+ );
+ const updateNavState = React.useCallback(
+ (scrollY: number, contentH: number, viewportH: number) => {
+ if (navUpdateTimer.current) {
+ return;
+ }
+ navUpdateTimer.current = setTimeout(() => {
+ navUpdateTimer.current = null;
+ setNavScrollY(scrollY);
+ setNavContentHeight(contentH);
+ setNavViewportHeight(viewportH);
+ }, 100);
+ },
+ [],
+ );
+
+ // ============ MESSAGE PROCESSING & CALCULATIONS ============
+ // Calculate chat messages with date headers and user names
+ const {chatMessages, gallery} = calculateChatMessages(messages, user, {
+ customDateHeaderText,
+ dateFormat,
+ showUserNames,
+ timeFormat,
+ showDateHeaders,
+ });
+
+ const previousChatMessages = usePrevious(chatMessages);
+
// ============ CHAT NAVIGATION BAR COMPUTATIONS ============
// Find indices of user messages in chatMessages (inverted list: index 0 = newest)
const userMessageIndices = React.useMemo(() => {
@@ -398,8 +438,6 @@ export const ChatView = observer(
const totalH = navContentHeight;
// In inverted FlatList: scrollY=0 → bottom (newest), scrollY=(totalH-viewport) → top (oldest)
- // The "topmost visible point" (furthest from bottom) = navScrollY + navViewportHeight
- // This represents how far "up" the user has scrolled in pixel terms
const visibleTop = navScrollY + navViewportHeight;
// Window: show last MAX_WINDOW_PX pixels from the current position
@@ -411,24 +449,14 @@ export const ChatView = observer(
return {nodes: [] as UserMessageNode[], scrollFraction: 0};
}
- // Scroll fraction: where is the current viewport within the window?
- // navScrollY=0 → at bottom of window → fraction=1
- // navScrollY=max within window → at top of window → fraction=0
const scrollFraction = 1 - (navScrollY - windowStart) / windowSize;
- // Calculate node positions for user messages
- // Approximate each message's pixel position: in inverted list,
- // index 0 is at the bottom (offset=0), last index is at the top
const avgItemHeight = totalH / Math.max(1, chatMessages.length);
const nodes: UserMessageNode[] = [];
userMessageIndices.forEach(idx => {
- // Approximate pixel offset from bottom for this message
const pixelFromBottom = idx * avgItemHeight;
-
- // Check if it falls within the window
if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
- // Position within the window (0=top of window, 1=bottom of window)
const position = 1 - (pixelFromBottom - windowStart) / windowSize;
nodes.push({index: idx, position});
}
@@ -449,14 +477,9 @@ export const ChatView = observer(
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
-
- const totalH = navContentHeight;
- const avgItemHeight = totalH / Math.max(1, chatMessages.length);
-
- // Current position from bottom in items
+ const avgItemHeight = navContentHeight / Math.max(1, chatMessages.length);
const currentItemApprox = navScrollY / avgItemHeight;
- // Find the next user message with a higher index (older/above current position)
let targetIndex = -1;
for (const idx of userMessageIndices) {
if (idx > currentItemApprox + 0.5) {
@@ -464,17 +487,14 @@ export const ChatView = observer(
break;
}
}
-
- // If none found, wrap to the oldest user message
if (targetIndex === -1 && userMessageIndices.length > 0) {
targetIndex = userMessageIndices[userMessageIndices.length - 1];
}
-
if (targetIndex >= 0) {
list.current?.scrollToIndex({
index: targetIndex,
animated: true,
- viewPosition: 1, // align to top of viewport (inverted list: 1=visual top)
+ viewPosition: 1,
});
}
}, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
@@ -484,14 +504,9 @@ export const ChatView = observer(
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
-
- const totalH = navContentHeight;
- const avgItemHeight = totalH / Math.max(1, chatMessages.length);
-
- // Current position from bottom in items
+ const avgItemHeight = navContentHeight / Math.max(1, chatMessages.length);
const currentItemApprox = navScrollY / avgItemHeight;
- // Find the next user message with a lower index (newer/below current position)
let targetIndex = -1;
for (let i = userMessageIndices.length - 1; i >= 0; i--) {
if (userMessageIndices[i] < currentItemApprox - 0.5) {
@@ -499,61 +514,18 @@ export const ChatView = observer(
break;
}
}
-
- // If none found, wrap to the newest user message
if (targetIndex === -1 && userMessageIndices.length > 0) {
targetIndex = userMessageIndices[0];
}
-
if (targetIndex >= 0) {
list.current?.scrollToIndex({
index: targetIndex,
animated: true,
- viewPosition: 1, // align to top of viewport (inverted list: 1=visual top)
+ viewPosition: 1,
});
}
}, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
- // ============ CHAT NAVIGATION BAR STATE ============
- // JS-thread state for navigation bar (doesn't need 60fps)
- const [navScrollY, setNavScrollY] = React.useState(0);
- const [navContentHeight, setNavContentHeight] = React.useState(0);
- const [navViewportHeight, setNavViewportHeight] = React.useState(0);
-
- // Approximate pixel height for "1000 visual lines" (~20px per line)
- const MAX_WINDOW_PX = 20000;
-
- // Throttle nav state updates to avoid excessive re-renders
- const navUpdateTimer = React.useRef | null>(
- null,
- );
- const updateNavState = React.useCallback(
- (scrollY: number, contentH: number, viewportH: number) => {
- if (navUpdateTimer.current) {
- return;
- }
- navUpdateTimer.current = setTimeout(() => {
- navUpdateTimer.current = null;
- setNavScrollY(scrollY);
- setNavContentHeight(contentH);
- setNavViewportHeight(viewportH);
- }, 100);
- },
- [],
- );
-
- // ============ MESSAGE PROCESSING & CALCULATIONS ============
- // Calculate chat messages with date headers and user names
- const {chatMessages, gallery} = calculateChatMessages(messages, user, {
- customDateHeaderText,
- dateFormat,
- showUserNames,
- timeFormat,
- showDateHeaders,
- });
-
- const previousChatMessages = usePrevious(chatMessages);
-
// ============ MESSAGE INPUT HANDLERS ============
const wrappedOnSendPress = React.useCallback(
async (message: MessageType.PartialText) => {
diff --git a/src/components/CollapsibleUserMessage/styles.ts b/src/components/CollapsibleUserMessage/styles.ts
index 694e663a5..47a45fe82 100644
--- a/src/components/CollapsibleUserMessage/styles.ts
+++ b/src/components/CollapsibleUserMessage/styles.ts
@@ -13,11 +13,9 @@ export const createStyles = (theme: Theme) =>
position: 'absolute',
left: 0,
right: 0,
- bottom: 24, // above the toggle button
+ bottom: 24,
height: 40,
- background: undefined, // RN doesn't support CSS gradient
backgroundColor: 'transparent',
- // Use a semi-transparent overlay to hint at hidden content
borderBottomWidth: 1,
borderBottomColor: theme.colors.outlineVariant,
},
From 807c20f830f26c76113f8a5be5c9775fe425e310 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 06:01:22 +0000
Subject: [PATCH 062/240] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20bug=20=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=20rf=20=E6=80=9D=E8=80=83=E6=B0=94=E6=B3=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
"1.rf\345\274\200\345\220\257.txt" | 11 +
"2,rf\345\205\263\351\227\255.txt" | 13 +
...2\351\200\200\346\227\245\345\277\227.txt" | 353 ++++++++++++++++++
src/hooks/useChatSession.ts | 115 +++++-
4 files changed, 484 insertions(+), 8 deletions(-)
create mode 100644 "1.rf\345\274\200\345\220\257.txt"
create mode 100644 "2,rf\345\205\263\351\227\255.txt"
create mode 100644 "3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
diff --git "a/1.rf\345\274\200\345\220\257.txt" "b/1.rf\345\274\200\345\220\257.txt"
new file mode 100644
index 000000000..79300a2f6
--- /dev/null
+++ "b/1.rf\345\274\200\345\220\257.txt"
@@ -0,0 +1,11 @@
+2026-03-19T04:38:12.406Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773895092404-gtas52","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
+2026-03-19T04:38:12.406Z LOG [EngineInput] request {"requestId":"1773895092404-gtas52","completionTransport":"messages-api","model":{"id":"47987c0d-2453-408e-bd09-915ca7de3c3d","name":"Qwen3.5-9B-ultra-heretic-Q4_K_M.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":false,"isNunjucksFallback":false},"probe":{"paramKeys":["enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
+2026-03-19T04:38:12.730Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773895092404-gtas52","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":false,"completionSettled":false,"isStreaming":false,"inferencing":true}
+2026-03-19T04:38:13.511Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773895092404-gtas52","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T04:38:15.106Z LOG [EngineOutput] completion:result {"requestId":"1773895092404-gtas52","timings":{"cache_n":22,"prompt_n":12,"prompt_ms":11550.243,"prompt_per_token_ms":962.52025,"prompt_per_second":1.038939180760093,"predicted_n":10,"predicted_ms":1647.124,"predicted_per_token_ms":164.7124,"predicted_per_second":6.071188325833392},"time_to_first_token_ms":778,"streamChunkCount":11,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"Here","finalTextDiag":{"length":62,"hash":"b55e991f","asciiRatio":1,"symbolRatio":0.016,"digitRatio":0,"whitespaceRatio":0.145,"repeatedCharMaxRun":2,"repeatedBigramTop":" t","repeatedBigramCount":4,"preview":"Here's a thinking process that leads to the suggested response"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
+2026-03-19T04:38:47.159Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773895127153-2dysbn","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":90}
+2026-03-19T04:38:47.160Z LOG [EngineInput] request {"requestId":"1773895127153-2dysbn","completionTransport":"messages-api","model":{"id":"47987c0d-2453-408e-bd09-915ca7de3c3d","name":"Qwen3.5-9B-ultra-heretic-Q4_K_M.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":false,"isNunjucksFallback":false},"probe":{"paramKeys":["enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":null,"chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
+2026-03-19T04:38:47.504Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":false,"completionSettled":false,"isStreaming":false,"inferencing":true}
+2026-03-19T04:38:48.256Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T04:38:50.329Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T04:38:54.382Z LOG [EngineOutput] completion:result {"requestId":"1773895127153-2dysbn","timings":{"cache_n":53,"prompt_n":18,"prompt_ms":33236.286,"prompt_per_token_ms":1846.4603333333334,"prompt_per_second":0.5415767574030383,"predicted_n":35,"predicted_ms":6016.271,"predicted_per_token_ms":171.89345714285713,"predicted_per_second":5.8175570881032455},"time_to_first_token_ms":894,"streamChunkCount":36,"firstCallbackKeys":["token","content","accumulated_text"],"firstTokenPreview":"嗯","finalTextDiag":{"length":66,"hash":"b1f47c8b","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":1,"repeatedBigramTop":"用户","repeatedBigramCount":2,"preview":"嗯,用户说“你好”,看起来是想打招呼。我需要先回应友好的问候,然后可能询问有什么可以帮助的。不过用户之前也发过“你好”,所以可能是在"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
\ No newline at end of file
diff --git "a/2,rf\345\205\263\351\227\255.txt" "b/2,rf\345\205\263\351\227\255.txt"
new file mode 100644
index 000000000..7f33f7ebe
--- /dev/null
+++ "b/2,rf\345\205\263\351\227\255.txt"
@@ -0,0 +1,13 @@
+2026-03-19T05:45:09.572Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899109568-0ohn5d","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
+2026-03-19T05:45:09.573Z LOG [EngineInput] request {"requestId":"1773899109568-0ohn5d","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
+2026-03-19T05:45:09.870Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:10.644Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:12.623Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:17.620Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":8000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:19.419Z LOG [EngineOutput] completion:result {"requestId":"1773899109568-0ohn5d","timings":{"cache_n":280,"prompt_n":11,"prompt_ms":163.218,"prompt_per_token_ms":14.838,"prompt_per_second":67.39452756436178,"predicted_n":269,"predicted_ms":9477.93,"predicted_per_token_ms":35.2339405204461,"predicted_per_second":28.381724701490725},"time_to_first_token_ms":172,"streamChunkCount":268,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"嗯","finalTextDiag":{"length":486,"hash":"544981b8","asciiRatio":0.043,"symbolRatio":0.006,"digitRatio":0,"whitespaceRatio":0.041,"repeatedCharMaxRun":2,"repeatedBigramTop":"你好","repeatedBigramCount":6,"preview":"嗯,用户现在说“你好”,看起来是个简单的打招呼。不过作为 AI 助手,需要判断一下这个请求的意图。首先,用户可能是在测试我的响应,或者希望我介绍自己,或者只是想确认一下问候。\n\n接下来,考虑常见的场景。如果是日常交流,可能用户希望我简单回应,比如用中文问候,或者提供帮助。需要确保回复简洁友好,同时保持友好。\n\n另外,要注意用户可能之前有过对话,但当前没有上下文。不过根据问题,直接回应比较好。需要确认是否有什么具体需求,但这里没有,所以保持通用回应。\n\n还要考虑是否要添加一些礼貌用语,比如“你好,我是谁”,或者用更亲切的称呼。比如“你好呀,我是你的 AI 助手,有什么可以帮你的吗?”这样更友好。\n\n需要检查是否有必要提到自己的功能,比如问答、协助任务等。但用户可能只是单纯问候,所以保持简洁即可。\n\n最后,确保回复符合中文习惯,用常见的问候语,比如“你好,很高兴为您服务”或者“你好,随时欢迎提问”,同时保持友好。\n\n\n你好呀!我是你的 AI 助手,很高兴和你交流。有什么我可以帮你的吗?无论是解答问题、提供建议,还是其他需求,随时欢迎提问哦~ 😊"},"finalReasoningDiag":{"length":410,"hash":"60dfc5b9","asciiRatio":0.02,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0.034,"repeatedCharMaxRun":2,"repeatedBigramTop":"用户","repeatedBigramCount":5,"preview":"嗯,用户现在说“你好”,看起来是个简单的打招呼。不过作为 AI 助手,需要判断一下这个请求的意图。首先,用户可能是在测试我的响应,或者希望我介绍自己,或者只是想确认一下问候。\n\n接下来,考虑常见的场景。如果是日常交流,可能用户希望我简单回应,比如用中文问候,或者提供帮助。需要确保回复简洁友好,同时保持友好。\n\n另外,要注意用户可能之前有过对话,但当前没有上下文。不过根据问题,直接回应比较好。需要确认是否有什么具体需求,但这里没有,所以保持通用回应。\n\n还要考虑是否要添加一些礼貌用语,比如“你好,我是谁”,或者用更亲切的称呼。比如“你好呀,我是你的 AI 助手,有什么可以帮你的吗?”这样更友好。\n\n需要检查是否有必要提到自己的功能,比如问答、协助任务等。但用户可能只是单纯问候,所以保持简洁即可。\n\n最后,确保回复符合中文习惯,用常见的问候语,比如“你好,很高兴为您服务”或者“你好,随时欢迎提问”,同时保持友好。"}}
+2026-03-19T05:45:41.091Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899141081-6ti5f7","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
+2026-03-19T05:45:41.092Z LOG [EngineInput] request {"requestId":"1773899141081-6ti5f7","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":null,"chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
+2026-03-19T05:45:41.403Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:42.167Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:44.143Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:45:48.559Z LOG [EngineOutput] completion:result {"requestId":"1773899141081-6ti5f7","timings":{"cache_n":212,"prompt_n":11,"prompt_ms":168.767,"prompt_per_token_ms":15.342454545454546,"prompt_per_second":65.17861904282236,"predicted_n":201,"predicted_ms":7124.5470000000005,"predicted_per_token_ms":35.44550746268657,"predicted_per_second":28.21232002539951},"time_to_first_token_ms":177,"streamChunkCount":201,"firstCallbackKeys":["token","content","accumulated_text"],"firstTokenPreview":"好的","finalTextDiag":{"length":367,"hash":"cf6962cf","asciiRatio":0.025,"symbolRatio":0.008,"digitRatio":0,"whitespaceRatio":0.027,"repeatedCharMaxRun":2,"repeatedBigramTop":"用户","repeatedBigramCount":6,"preview":"好的,用户第一次打招呼,我回复了“你好”,然后用户问“你好”怎么回复?可能需要更全面的回答。\n\n首先,用户可能只是想测试我的反应,或者需要更自然的回应。我应该保持友好,并展示多语言支持,比如用中文回复。然后可以提到一些日常问候,比如“你好”是常见问候,可以解释原因。还要考虑用户可能想要更多信息,比如文化背景,或者是否有其他需求。需要检查是否有其他未提及的问题,但当前对话结束,所以保持简洁。\n\n然后,用户可能希望了解如何回复,或者需要更多帮助。我应该提供几个例子,比如用不同的语气,或者询问是否需要更详细的信息。同时,可以提到文化差异,比如不同地区可能有不同的问候方式,但保持友好和开放。\n\n最后,总结时强调我的多语言能力和希望用户继续提问,确保友好和积极。\n\n\n你好!很高兴见到你~✨ 有什么我可以帮助你的吗?😊"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
\ No newline at end of file
diff --git "a/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt" "b/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
new file mode 100644
index 000000000..e1e948bf0
--- /dev/null
+++ "b/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
@@ -0,0 +1,353 @@
+2026-03-19T05:47:41.946Z LOG [Lifecycle] App state change: active → background
+2026-03-19T05:47:45.938Z LOG Pal store initialized
+2026-03-19T05:47:45.938Z LOG Pals number: 0
+2026-03-19T05:47:45.944Z WARN [🍉] JSI SQLiteAdapter not available… falling back to asynchronous operation. This will happen if you're using remote debugger, and may happen if you forgot to recompile native app after WatermelonDB update
+2026-03-19T05:47:45.945Z LOG [Lifecycle] App state change: active → active
+2026-03-19T05:47:45.964Z LOG [Lifecycle] [ModelStore] models summary: {"total":11,"downloaded":1,"local":1}
+2026-03-19T05:47:45.969Z LOG Pal database migration already completed
+2026-03-19T05:47:45.980Z LOG Lookie pal already exists, skipping creation
+2026-03-19T05:47:45.980Z LOG Pal store initialization completed
+2026-03-19T05:47:47.991Z LOG Checking for settings that need migration...
+2026-03-19T05:47:48.027Z LOG Found 0 session settings and 0 global settings that need migration
+2026-03-19T05:47:48.027Z LOG No settings need migration
+2026-03-19T05:47:50.015Z LOG [Lifecycle] resolveMultimodalConfig:start {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","visionEnabled":false,"supportsMultimodal":false,"explicitMmprojProvided":false}
+2026-03-19T05:47:50.016Z LOG [Lifecycle] resolveMultimodalConfig:text-only {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d"}
+2026-03-19T05:47:50.041Z LOG [Lifecycle] initContext:resolved-config {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","isMultimodalInit":false}
+2026-03-19T05:47:50.044Z LOG [Lifecycle] attempt to release
+2026-03-19T05:47:50.245Z LOG [Lifecycle] initContext:model-summary {"model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf","filename":"Qwen3.5-0.8B-heretic-Q8_0.gguf","origin":"local","path":"/data/user/0/com.pocketpalai/files/models/local/Qwen3.5-0.8B-heretic-Q8_0.gguf"},"multimodal":{"requested":false},"initParams":{"n_ctx":2048,"n_batch":512,"n_ubatch":512,"n_threads":6,"n_gpu_layers":0,"cache_type_k":"f16","cache_type_v":"f16","use_mmap":true,"use_mlock":false}}
+2026-03-19T05:48:02.017Z LOG [Lifecycle] init time: 11772
+2026-03-19T05:48:02.018Z LOG [Lifecycle] template: {%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is defined %}
+ {%- for args_name, args_value in tool_call.arguments|items %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is false %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n' }}
+ {%- endif %}
+{%- endif %}
+2026-03-19T05:48:02.018Z LOG [Lifecycle] context template (gguf): {%- set image_count = namespace(value=0) %}
+{%- set video_count = namespace(value=0) %}
+{%- macro render_content(content, do_vision_count, is_system_content=false) %}
+ {%- if content is string %}
+ {{- content }}
+ {%- elif content is iterable and content is not mapping %}
+ {%- for item in content %}
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain images.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set image_count.value = image_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
+ {%- elif 'video' in item or item.type == 'video' %}
+ {%- if is_system_content %}
+ {{- raise_exception('System message cannot contain videos.') }}
+ {%- endif %}
+ {%- if do_vision_count %}
+ {%- set video_count.value = video_count.value + 1 %}
+ {%- endif %}
+ {%- if add_vision_id %}
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
+ {%- endif %}
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
+ {%- elif 'text' in item %}
+ {{- item.text }}
+ {%- else %}
+ {{- raise_exception('Unexpected item type in content.') }}
+ {%- endif %}
+ {%- endfor %}
+ {%- elif content is none or content is undefined %}
+ {{- '' }}
+ {%- else %}
+ {{- raise_exception('Unexpected content type.') }}
+ {%- endif %}
+{%- endmacro %}
+{%- if not messages %}
+ {{- raise_exception('No messages provided.') }}
+{%- endif %}
+{%- if tools and tools is iterable and tools is not mapping %}
+ {{- '<|im_start|>system\n' }}
+ {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
+ {%- for tool in tools %}
+ {{- "\n" }}
+ {{- tool | tojson }}
+ {%- endfor %}
+ {{- "\n" }}
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {%- if content %}
+ {{- '\n\n' + content }}
+ {%- endif %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+{%- else %}
+ {%- if messages[0].role == 'system' %}
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
+ {%- endif %}
+{%- endif %}
+{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
+{%- for message in messages[::-1] %}
+ {%- set index = (messages|length - 1) - loop.index0 %}
+ {%- if ns.multi_step_tool and message.role == "user" %}
+ {%- set content = render_content(message.content, false)|trim %}
+ {%- if not(content.startswith('') and content.endswith('')) %}
+ {%- set ns.multi_step_tool = false %}
+ {%- set ns.last_query_index = index %}
+ {%- endif %}
+ {%- endif %}
+{%- endfor %}
+{%- if ns.multi_step_tool %}
+ {{- raise_exception('No user query found in messages.') }}
+{%- endif %}
+{%- for message in messages %}
+ {%- set content = render_content(message.content, true)|trim %}
+ {%- if message.role == "system" %}
+ {%- if not loop.first %}
+ {{- raise_exception('System message must be at the beginning.') }}
+ {%- endif %}
+ {%- elif message.role == "user" %}
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
+ {%- elif message.role == "assistant" %}
+ {%- set reasoning_content = '' %}
+ {%- if message.reasoning_content is string %}
+ {%- set reasoning_content = message.reasoning_content %}
+ {%- else %}
+ {%- if '' in content %}
+ {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
+ {%- set content = content.split('')[-1].lstrip('\n') %}
+ {%- endif %}
+ {%- endif %}
+ {%- set reasoning_content = reasoning_content|trim %}
+ {%- if loop.index0 > ns.last_query_index %}
+ {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
+ {%- else %}
+ {{- '<|im_start|>' + message.role + '\n' + content }}
+ {%- endif %}
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
+ {%- for tool_call in message.tool_calls %}
+ {%- if tool_call.function is defined %}
+ {%- set tool_call = tool_call.function %}
+ {%- endif %}
+ {%- if loop.first %}
+ {%- if content|trim %}
+ {{- '\n\n\n\n' }}
+ {%- else %}
+ {{- '\n\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- '\n\n\n' }}
+ {%- endif %}
+ {%- if tool_call.arguments is mapping %}
+ {%- for args_name in tool_call.arguments %}
+ {%- set args_value = tool_call.arguments[args_name] %}
+ {{- '\n' }}
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
+ {{- args_value }}
+ {{- '\n\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '\n' }}
+ {%- endfor %}
+ {%- endif %}
+ {{- '<|im_end|>\n' }}
+ {%- elif message.role == "tool" %}
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
+ {{- '<|im_start|>user' }}
+ {%- endif %}
+ {{- '\n\n' }}
+ {{- content }}
+ {{- '\n' }}
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
+ {{- '<|im_end|>\n' }}
+ {%- elif loop.last %}
+ {{- '<|im_end|>\n' }}
+ {%- endif %}
+ {%- else %}
+ {{- raise_exception('Unexpected message role.') }}
+ {%- endif %}
+{%- endfor %}
+{%- if add_generation_prompt %}
+ {{- '<|im_start|>assistant\n' }}
+ {%- if enable_thinking is defined and enable_thinking is true %}
+ {{- '\n' }}
+ {%- else %}
+ {{- '\n\n\n\n' }}
+ {%- endif %}
+{%- endif %}
+2026-03-19T05:48:02.019Z LOG [Lifecycle] [ModelStore] template summary: {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","modelTemplateLength":7756}
+2026-03-19T05:48:02.019Z LOG [PromptBuild] template:metadata {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","modelFilename":"Qwen3.5-0.8B-heretic-Q8_0.gguf","modelTemplateName":"custom","modelTemplateLength":7756,"contextTemplateLength":7816,"contextTemplatePreview":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}","architecture":"qwen35","modelTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n' }}\n {%- endif %}\n{%- endif %}","contextTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}","tokenizerMetadata":{"eosTokenId":"248046","tokenizerModel":"gpt2"}}
+2026-03-19T05:48:02.021Z LOG [Lifecycle] [ModelStore] stopTokens summary: {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","count":3}
+2026-03-19T05:48:08.696Z LOG [PromptBuild] prepareCompletion:messages {"messageCount":1,"hasImages":false,"isMultimodalEnabled":false,"lastUserMessage":{"type":"text","textLength":13}}
+2026-03-19T05:48:08.703Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899288697-awwrg3","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n帮我生成一个1万字的小说。<|im_end|>\n<|im_start|>assistant\n\n","promptLength":71}
+2026-03-19T05:48:08.703Z LOG [EngineInput] request {"requestId":"1773899288697-awwrg3","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":13,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
+2026-03-19T05:48:08.704Z LOG [ParamSource] thinkingAssembly {"requestId":"1773899288697-awwrg3","thinkingAssembly":{"enable_thinking":true,"reasoning_format":"auto","include_thinking_in_context":true,"add_generation_prompt":true}}
+2026-03-19T05:48:08.721Z LOG [PromptBuild] prepareCompletion:params {"requestId":"1773899288697-awwrg3","completionTransport":"messages-api","template":{"selectedTemplateName":"custom","effectiveTemplateInterpreter":"jinja","modelTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n' }}\n {%- endif %}\n{%- endif %}","contextTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}"},"systemMessages":[],"contextMetadata":{"architecture":"qwen35","eosTokenId":"248046","chatTemplateHash":"84b954b8"}}
+2026-03-19T05:48:09.000Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:48:09.820Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:48:10.536Z LOG [EngineOutput] completion:anomalous-chunk {"requestId":"1773899288697-awwrg3","streamChunkCount":45,"callbackKeys":["token","reasoning_content","accumulated_text"],"tokenPreview":" **","contentDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"reasoningDiag":{"length":139,"hash":"ff9a44a1","asciiRatio":0.971,"symbolRatio":0.144,"digitRatio":0.043,"whitespaceRatio":0.245,"repeatedCharMaxRun":4,"repeatedBigramTop":" ","repeatedBigramCount":11,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **"}}
+2026-03-19T05:48:11.746Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:48:16.879Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":8000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
+2026-03-19T05:48:52.901Z LOG [EngineOutput] completion:result {"requestId":"1773899288697-awwrg3","timings":{"cache_n":1041,"prompt_n":18,"prompt_ms":185.298,"prompt_per_token_ms":10.294333333333334,"prompt_per_second":97.14082181135252,"predicted_n":1023,"predicted_ms":43321.418,"predicted_per_token_ms":42.34742717497556,"predicted_per_second":23.614185482109566},"time_to_first_token_ms":202,"streamChunkCount":1024,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"Here","finalTextDiag":{"length":3922,"hash":"86113fb6","asciiRatio":0.976,"symbolRatio":0.082,"digitRatio":0.011,"whitespaceRatio":0.233,"repeatedCharMaxRun":8,"repeatedBigramTop":" ","repeatedBigramCount":282,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **Language:** Chinese.\n * **Challenge:** A 10,000-word novel is quite long for a single response. A human can't easily write 10k words in a chat without hitting token limits or feeling repetitive.\n * **Strategy:** I need to maximize word count while maintaining quality and flow. This means:\n * Setting a good scene (character-driven, world-building).\n * Developing a complex plot (multi-plot, interweaving).\n * Using metaphors and imagery to expand.\n * Maintaining a consistent tone (mystery, suspense, or fantasy).\n * Filling in gaps with subplots, character arcs, and descriptions.\n * Formatting the response to look like a full story (beginning, middle, end).\n * **Constraint:** Since I am an AI, I need to ensure the text flows naturally and doesn't look like a rigid list of paragraphs. I will aim for a \"novel\" structure: Title, Plot Summary, Chapter Breakdown, Character Introductions, and Endings.\n\n2. **Determine the Genre & Tone:**\n * Genre: Sci-Fi / Mystery / Urban Fantasy.\n * Tone: Introspective, slightly melancholic, grounded in modern Chinese culture.\n * Theme: Memory, identity, connection, the passage of time.\n\n3. **Outline the Structure:**\n * **Title:** 《时光的裂痕》 (Cracks of Time) or《记忆的重量》 (Weight of Memory). Let's go with《时光的裂痕》 (Time's Cracks) because it allows for a narrative about memory and identity.\n * **Characters:**\n * Protagonist: Lin Yuan (Lin Yuan).\n * Antagonist/Conflict: The Architect (The old man).\n * Supporting: A visitor or a lost friend.\n * **Plot Outline:**\n * Chapter 1: Introduction to the setting and the protagonist's dilemma.\n * Chapter 2: The discovery of the \"Lost Timeline\".\n * Chapter 3: The journey through the time loop.\n * Chapter 4: The climax – finding the truth about the timeline.\n * Chapter 5: Resolution and the meaning of the \"Time Cracks\".\n * **Word Count Management:** To hit ~10,000 words, I need to expand on descriptions, internal monologues, and dialogue.\n\n4. **Drafting - Section by Section (Mental or Scratchpad):**\n\n * *Title:* 《时光的裂痕》 (Time's Cracks) - Wait, let's make it more poetic. 《旧时光的裂痕》(Cracks in the Old Time). Let's use the prompt's request for \"10,000 words\". To ensure I reach the count without hitting a token limit too quickly, I will write a long, detailed chapter structure.\n\n * *Setting:* Modern city. Shanghai or Beijing. Let's choose a bustling, slightly dystopian city. \"The city of silence\" (The City of Silence). No, \"The City of Echoes\".\n * *Plot:* Lin Yuan finds a timeline that loops back to the past. The \"Time Cracks\" are the threads connecting the past.\n * *Characters:* Lin Yuan (protagonist), The Old Man (mentor/father figure), The Clockmaker (the antagonist).\n\n * *Expansion Technique:*\n * Describe the city in detail.\n * Describe the characters' internal states (emotions, memories).\n * Use dialogue to drive the narrative.\n * Add a sub-plot: A lost generation or a specific memory.\n * Include a climax scene that ends the story.\n\n5. **Writing Strategy for Length:**\n * I will write the story in a continuous narrative style, expanding on descriptions.\n * I will include a \"Chapter Summary\" at the beginning to set the stage for the 10,000 words.\n * I will write in a way that feels like a novel, not a list.\n\n *(Self-Correction during drafting)*: 10,000 words is a lot for a chat response. I need to be mindful of the token limit. I will focus on high-quality narrative and ensure the story flows continuously. I will aim for a very long, detailed chapter structure to ensure the word count is met.\n\n *Plan:*"},"finalReasoningDiag":{"length":3922,"hash":"86113fb6","asciiRatio":0.976,"symbolRatio":0.082,"digitRatio":0.011,"whitespaceRatio":0.233,"repeatedCharMaxRun":8,"repeatedBigramTop":" ","repeatedBigramCount":282,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **Language:** Chinese.\n * **Challenge:** A 10,000-word novel is quite long for a single response. A human can't easily write 10k words in a chat without hitting token limits or feeling repetitive.\n * **Strategy:** I need to maximize word count while maintaining quality and flow. This means:\n * Setting a good scene (character-driven, world-building).\n * Developing a complex plot (multi-plot, interweaving).\n * Using metaphors and imagery to expand.\n * Maintaining a consistent tone (mystery, suspense, or fantasy).\n * Filling in gaps with subplots, character arcs, and descriptions.\n * Formatting the response to look like a full story (beginning, middle, end).\n * **Constraint:** Since I am an AI, I need to ensure the text flows naturally and doesn't look like a rigid list of paragraphs. I will aim for a \"novel\" structure: Title, Plot Summary, Chapter Breakdown, Character Introductions, and Endings.\n\n2. **Determine the Genre & Tone:**\n * Genre: Sci-Fi / Mystery / Urban Fantasy.\n * Tone: Introspective, slightly melancholic, grounded in modern Chinese culture.\n * Theme: Memory, identity, connection, the passage of time.\n\n3. **Outline the Structure:**\n * **Title:** 《时光的裂痕》 (Cracks of Time) or《记忆的重量》 (Weight of Memory). Let's go with《时光的裂痕》 (Time's Cracks) because it allows for a narrative about memory and identity.\n * **Characters:**\n * Protagonist: Lin Yuan (Lin Yuan).\n * Antagonist/Conflict: The Architect (The old man).\n * Supporting: A visitor or a lost friend.\n * **Plot Outline:**\n * Chapter 1: Introduction to the setting and the protagonist's dilemma.\n * Chapter 2: The discovery of the \"Lost Timeline\".\n * Chapter 3: The journey through the time loop.\n * Chapter 4: The climax – finding the truth about the timeline.\n * Chapter 5: Resolution and the meaning of the \"Time Cracks\".\n * **Word Count Management:** To hit ~10,000 words, I need to expand on descriptions, internal monologues, and dialogue.\n\n4. **Drafting - Section by Section (Mental or Scratchpad):**\n\n * *Title:* 《时光的裂痕》 (Time's Cracks) - Wait, let's make it more poetic. 《旧时光的裂痕》(Cracks in the Old Time). Let's use the prompt's request for \"10,000 words\". To ensure I reach the count without hitting a token limit too quickly, I will write a long, detailed chapter structure.\n\n * *Setting:* Modern city. Shanghai or Beijing. Let's choose a bustling, slightly dystopian city. \"The city of silence\" (The City of Silence). No, \"The City of Echoes\".\n * *Plot:* Lin Yuan finds a timeline that loops back to the past. The \"Time Cracks\" are the threads connecting the past.\n * *Characters:* Lin Yuan (protagonist), The Old Man (mentor/father figure), The Clockmaker (the antagonist).\n\n * *Expansion Technique:*\n * Describe the city in detail.\n * Describe the characters' internal states (emotions, memories).\n * Use dialogue to drive the narrative.\n * Add a sub-plot: A lost generation or a specific memory.\n * Include a climax scene that ends the story.\n\n5. **Writing Strategy for Length:**\n * I will write the story in a continuous narrative style, expanding on descriptions.\n * I will include a \"Chapter Summary\" at the beginning to set the stage for the 10,000 words.\n * I will write in a way that feels like a novel, not a list.\n\n *(Self-Correction during drafting)*: 10,000 words is a lot for a chat response. I need to be mindful of the token limit. I will focus on high-quality narrative and ensure the story flows continuously. I will aim for a very long, detailed chapter structure to ensure the word count is met.\n\n *Plan:*"}}
+2026-03-19T05:49:59.834Z LOG Pal store initialized
+2026-03-19T05:49:59.834Z LOG Pal store initialized
+2026-03-19T05:49:59.834Z LOG Pals number: 0
+2026-03-19T05:49:59.840Z WARN [🍉] JSI SQLiteAdapter not available… falling back to asynchronous operation. This will happen if you're using remote debugger, and may happen if you forgot to recompile native app after WatermelonDB update
+2026-03-19T05:49:59.841Z LOG [Lifecycle] App state change: active → active
+2026-03-19T05:49:59.861Z LOG [Lifecycle] [ModelStore] models summary: {"total":11,"downloaded":1,"local":1}
+2026-03-19T05:49:59.866Z LOG Pal database migration already completed
+2026-03-19T05:49:59.921Z LOG Lookie pal already exists, skipping creation
+2026-03-19T05:49:59.921Z LOG Pal store initialization completed
+2026-03-19T05:50:01.931Z LOG Checking for settings that need migration...
+2026-03-19T05:50:01.935Z LOG Found 0 session settings and 0 global settings that need migration
+2026-03-19T05:50:01.936Z LOG No settings need migration
\ No newline at end of file
diff --git a/src/hooks/useChatSession.ts b/src/hooks/useChatSession.ts
index 5aa57b56e..bf26235ee 100644
--- a/src/hooks/useChatSession.ts
+++ b/src/hooks/useChatSession.ts
@@ -448,6 +448,14 @@ export const useChatSession = (
let firstCallbackKeys: string[] = [];
let firstTokenPreview = '';
+ // State machine for real-time tag parsing when RF is off.
+ // When RF is on, llama.rn natively splits reasoning_content/content.
+ // When RF is off, ... is embedded in content stream.
+ let thinkParseInBlock = false; // currently inside ...
+ let thinkParseDone = false; // has been seen, now pure response
+ let thinkParseBuffer = ''; // partial tag buffer for split-chunk detection
+ let thinkParseAccumReasoning = ''; // accumulated reasoning for partial update
+
cancelNativeCallHeartbeats = scheduleEngineOutputHeartbeats(
'completion:native-call-heartbeat',
() => ({
@@ -485,9 +493,80 @@ export const useChatSession = (
modelStore.setIsStreaming(true);
}
- // Use content and reasoning_content from the streaming data
- // llama.rn already separates these for us when enable_thinking is true
- const {content = '', reasoning_content: reasoningContent} = data;
+ // Use content and reasoning_content from the streaming data.
+ // When RF is on, llama.rn natively splits them. When RF is off,
+ // we parse ... from the content stream in real-time.
+ let {content = '', reasoning_content: reasoningContent} = data;
+ if (!reasoningContent && content && !thinkParseDone) {
+ // RF is off — run state machine on this chunk
+ let chunk = thinkParseBuffer + content;
+ thinkParseBuffer = '';
+ let parsedReasoning = '';
+ let parsedContent = '';
+ let i = 0;
+ while (i < chunk.length) {
+ if (!thinkParseInBlock && !thinkParseDone) {
+ const openIdx = chunk.indexOf('', i);
+ if (openIdx === i) {
+ thinkParseInBlock = true;
+ i += 7;
+ } else if (openIdx !== -1) {
+ parsedContent += chunk.slice(i, openIdx);
+ thinkParseInBlock = true;
+ i = openIdx + 7;
+ } else {
+ // Check if chunk ends with a partial '' prefix
+ const tag = '';
+ let overlap = 0;
+ for (let k = 1; k < tag.length; k++) {
+ if (chunk.endsWith(tag.slice(0, k))) {
+ overlap = k;
+ }
+ }
+ if (overlap > 0) {
+ parsedContent += chunk.slice(i, chunk.length - overlap);
+ thinkParseBuffer = chunk.slice(chunk.length - overlap);
+ } else {
+ parsedContent += chunk.slice(i);
+ }
+ break;
+ }
+ } else if (thinkParseInBlock) {
+ const closeIdx = chunk.indexOf('', i);
+ if (closeIdx !== -1) {
+ parsedReasoning += chunk.slice(i, closeIdx);
+ thinkParseInBlock = false;
+ thinkParseDone = true;
+ i = closeIdx + 8;
+ } else {
+ // Check for partial '' at end
+ const tag = '';
+ let overlap = 0;
+ for (let k = 1; k < tag.length; k++) {
+ if (chunk.endsWith(tag.slice(0, k))) {
+ overlap = k;
+ }
+ }
+ if (overlap > 0) {
+ parsedReasoning += chunk.slice(i, chunk.length - overlap);
+ thinkParseBuffer = chunk.slice(chunk.length - overlap);
+ } else {
+ parsedReasoning += chunk.slice(i);
+ }
+ break;
+ }
+ } else {
+ // thinkParseDone — rest is pure response
+ parsedContent += chunk.slice(i);
+ break;
+ }
+ }
+ if (parsedReasoning) {
+ thinkParseAccumReasoning += parsedReasoning;
+ }
+ content = parsedContent;
+ reasoningContent = thinkParseAccumReasoning || undefined;
+ }
if (content || reasoningContent) {
streamChunkCount += 1;
@@ -582,11 +661,31 @@ export const useChatSession = (
copyable: true,
// Add multimodal flag if this was a multimodal completion
multimodal: hasImages && isMultimodalEnabled,
- // Save the final completion result with reasoning_content
- completionResult: {
- reasoning_content: result.reasoning_content,
- content: result.text,
- },
+ // Save the final completion result with reasoning_content.
+ // Parse tag: model always embeds ... in result.text.
+ // Strip it out so displayed content is clean, and use it as reasoning_content
+ // when RF is off (result.reasoning_content is empty). Also prevents OOM crash
+ // when RF is on and result.text === result.reasoning_content (identical content).
+ completionResult: (() => {
+ const thinkEnd = result.text.indexOf('');
+ if (thinkEnd !== -1) {
+ const thinkStart = result.text.indexOf('');
+ const thinkContent =
+ thinkStart !== -1
+ ? result.text.slice(thinkStart + 7, thinkEnd)
+ : result.text.slice(0, thinkEnd);
+ const cleanText = result.text.slice(thinkEnd + 8).trimStart();
+ return {
+ reasoning_content:
+ result.reasoning_content || thinkContent,
+ content: cleanText,
+ };
+ }
+ return {
+ reasoning_content: result.reasoning_content,
+ content: result.text,
+ };
+ })(),
},
},
);
From c6792483f74ab02f9d267dbd2a20bfcbd6d6f002 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 06:06:21 +0000
Subject: [PATCH 063/240] Update useChatSession.ts
---
src/hooks/useChatSession.ts | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/hooks/useChatSession.ts b/src/hooks/useChatSession.ts
index bf26235ee..930ac1933 100644
--- a/src/hooks/useChatSession.ts
+++ b/src/hooks/useChatSession.ts
@@ -675,11 +675,7 @@ export const useChatSession = (
? result.text.slice(thinkStart + 7, thinkEnd)
: result.text.slice(0, thinkEnd);
const cleanText = result.text.slice(thinkEnd + 8).trimStart();
- return {
- reasoning_content:
- result.reasoning_content || thinkContent,
- content: cleanText,
- };
+ return {reasoning_content: result.reasoning_content || thinkContent, content: cleanText};
}
return {
reasoning_content: result.reasoning_content,
From e1e89b319883769e8b408a510917facb7cec08db Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 06:08:36 +0000
Subject: [PATCH 064/240] Update useChatSession.ts
---
src/hooks/useChatSession.ts | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hooks/useChatSession.ts b/src/hooks/useChatSession.ts
index 930ac1933..1c22d36d5 100644
--- a/src/hooks/useChatSession.ts
+++ b/src/hooks/useChatSession.ts
@@ -675,7 +675,10 @@ export const useChatSession = (
? result.text.slice(thinkStart + 7, thinkEnd)
: result.text.slice(0, thinkEnd);
const cleanText = result.text.slice(thinkEnd + 8).trimStart();
- return {reasoning_content: result.reasoning_content || thinkContent, content: cleanText};
+ return {
+ reasoning_content: result.reasoning_content || thinkContent,
+ content: cleanText,
+ };
}
return {
reasoning_content: result.reasoning_content,
From 856a89c5f982f73255b95aa4b939590aa069f9f0 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 07:08:03 +0000
Subject: [PATCH 065/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index b8f1b8779..e69012fdb 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -321,6 +321,15 @@ export const ChatView = observer(
const underflow = useSharedValue(true);
const atLatest = useSharedValue(true);
+ // Guard to prevent runOnJS calls after unmount
+ const isMounted = useSharedValue(true);
+ React.useEffect(() => {
+ isMounted.value = true;
+ return () => {
+ isMounted.value = false;
+ };
+ }, []);
+
const STICK = 24;
const LEAVE = 40;
const EPS = 1;
@@ -350,7 +359,9 @@ export const ChatView = observer(
}
// Update navigation bar state (throttled on JS thread)
- runOnJS(updateNavState)(clampedY, Hc, Hv);
+ if (isMounted.value) {
+ runOnJS(updateNavState)(clampedY, Hc, Hv);
+ }
},
});
From 55235c4fbcf6dda667b8968d8dd28d99da26adfa Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 07:13:30 +0000
Subject: [PATCH 066/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index e69012fdb..77f38b923 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -328,6 +328,7 @@ export const ChatView = observer(
return () => {
isMounted.value = false;
};
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const STICK = 24;
From a4c79b67471d343303bd0337872d1000ac4d481f Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 07:15:11 +0000
Subject: [PATCH 067/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 77f38b923..99e9548d5 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -328,7 +328,7 @@ export const ChatView = observer(
return () => {
isMounted.value = false;
};
- // eslint-disable-next-line react-hooks/exhaustive-deps
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const STICK = 24;
From 569db1ec74b5e815e76085b30eae5ee0bf4f5569 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 07:53:51 +0000
Subject: [PATCH 068/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 73 +++++++++++++++++-----------
1 file changed, 45 insertions(+), 28 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 99e9548d5..53fc7addb 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -316,6 +316,47 @@ export const ChatView = observer(
[keyboard, trackingKeyboardMovement, bottomOffset],
);
+ // ============ CHAT NAVIGATION BAR STATE ============
+ // JS-thread state for navigation bar (doesn't need 60fps)
+ const [navScrollY, setNavScrollY] = React.useState(0);
+ const [navContentHeight, setNavContentHeight] = React.useState(0);
+ const [navViewportHeight, setNavViewportHeight] = React.useState(0);
+
+ // Approximate pixel height for "1000 visual lines" (~20px per line)
+ const MAX_WINDOW_PX = 20000;
+
+ // Throttle nav state updates to avoid excessive re-renders
+ const navUpdateTimer = React.useRef | null>(
+ null,
+ );
+
+ // updateNavState: stable function for runOnJS in the scroll handler worklet.
+ // Uses a ref so the worklet always has a valid __remoteFunction binding,
+ // even across re-renders triggered by MobX observer.
+ const updateNavStateImpl = React.useCallback(
+ (scrollY: number, contentH: number, viewportH: number) => {
+ if (navUpdateTimer.current) {
+ return;
+ }
+ navUpdateTimer.current = setTimeout(() => {
+ navUpdateTimer.current = null;
+ setNavScrollY(scrollY);
+ setNavContentHeight(contentH);
+ setNavViewportHeight(viewportH);
+ }, 100);
+ },
+ [],
+ );
+ const updateNavStateRef = React.useRef(updateNavStateImpl);
+ updateNavStateRef.current = updateNavStateImpl;
+ const updateNavState = React.useCallback(
+ (scrollY: number, contentH: number, viewportH: number) => {
+ updateNavStateRef.current(scrollY, contentH, viewportH);
+ },
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ [],
+ );
+
// ============ SCROLL TRACKING & SCROLL-TO-BOTTOM ============
// Shared values for tracking scroll position and content overflow
const underflow = useSharedValue(true);
@@ -327,6 +368,10 @@ export const ChatView = observer(
isMounted.value = true;
return () => {
isMounted.value = false;
+ if (navUpdateTimer.current) {
+ clearTimeout(navUpdateTimer.current);
+ navUpdateTimer.current = null;
+ }
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
@@ -385,34 +430,6 @@ export const ChatView = observer(
});
}, []);
- // ============ CHAT NAVIGATION BAR STATE ============
- // JS-thread state for navigation bar (doesn't need 60fps)
- const [navScrollY, setNavScrollY] = React.useState(0);
- const [navContentHeight, setNavContentHeight] = React.useState(0);
- const [navViewportHeight, setNavViewportHeight] = React.useState(0);
-
- // Approximate pixel height for "1000 visual lines" (~20px per line)
- const MAX_WINDOW_PX = 20000;
-
- // Throttle nav state updates to avoid excessive re-renders
- const navUpdateTimer = React.useRef | null>(
- null,
- );
- const updateNavState = React.useCallback(
- (scrollY: number, contentH: number, viewportH: number) => {
- if (navUpdateTimer.current) {
- return;
- }
- navUpdateTimer.current = setTimeout(() => {
- navUpdateTimer.current = null;
- setNavScrollY(scrollY);
- setNavContentHeight(contentH);
- setNavViewportHeight(viewportH);
- }, 100);
- },
- [],
- );
-
// ============ MESSAGE PROCESSING & CALCULATIONS ============
// Calculate chat messages with date headers and user names
const {chatMessages, gallery} = calculateChatMessages(messages, user, {
From 34ac44dbf5e70211b42094501834e111f582e484 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:39:19 +0000
Subject: [PATCH 069/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 69 +++++++++++++++++++++++-----
1 file changed, 58 insertions(+), 11 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 53fc7addb..6413283cc 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -212,6 +212,8 @@ export const ChatView = observer(
// ============ REFS ============
const animationRef = React.useRef(false);
const list = React.useRef>(null);
+ // Measured heights per FlatList index for accurate nav-bar node positioning
+ const itemHeightsRef = React.useRef(new Map());
// ============ COMPONENT STATE ============
// Input state
@@ -442,6 +444,12 @@ export const ChatView = observer(
const previousChatMessages = usePrevious(chatMessages);
+ // Clear cached item heights when the message list changes length
+ // (new messages shift indices in the inverted list)
+ React.useEffect(() => {
+ itemHeightsRef.current.clear();
+ }, [chatMessages.length]);
+
// ============ CHAT NAVIGATION BAR COMPUTATIONS ============
// Find indices of user messages in chatMessages (inverted list: index 0 = newest)
const userMessageIndices = React.useMemo(() => {
@@ -480,11 +488,28 @@ export const ChatView = observer(
const scrollFraction = 1 - (navScrollY - windowStart) / windowSize;
+ // Compute cumulative heights using actual measured heights when available,
+ // falling back to average for unmeasured items.
const avgItemHeight = totalH / Math.max(1, chatMessages.length);
+ const heights = itemHeightsRef.current;
+
+ // Build cumulative height array: cumH[i] = sum of heights[0..i-1]
+ // In inverted list, index 0 is at bottom, so cumH[idx] = pixel offset
+ // from the bottom to the top edge of item idx.
+ const cumH = new Float64Array(chatMessages.length + 1);
+ for (let i = 0; i < chatMessages.length; i++) {
+ cumH[i + 1] = cumH[i] + (heights.get(i) ?? avgItemHeight);
+ }
+
+ // Scale factor: measured cumulative total may differ from actual
+ // contentSize (due to separators, headers, footers, etc.)
+ const measuredTotal = cumH[chatMessages.length];
+ const scale = measuredTotal > 0 ? totalH / measuredTotal : 1;
+
const nodes: UserMessageNode[] = [];
userMessageIndices.forEach(idx => {
- const pixelFromBottom = idx * avgItemHeight;
+ const pixelFromBottom = cumH[idx] * scale;
if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
const position = 1 - (pixelFromBottom - windowStart) / windowSize;
nodes.push({index: idx, position});
@@ -501,17 +526,31 @@ export const ChatView = observer(
MAX_WINDOW_PX,
]);
+ // Helper: find which item index the current scroll position corresponds to,
+ // using actual measured heights when available.
+ const findCurrentItemIndex = React.useCallback(() => {
+ const heights = itemHeightsRef.current;
+ const avgH = navContentHeight / Math.max(1, chatMessages.length);
+ let cumH = 0;
+ for (let i = 0; i < chatMessages.length; i++) {
+ cumH += heights.get(i) ?? avgH;
+ if (cumH > navScrollY) {
+ return i;
+ }
+ }
+ return chatMessages.length - 1;
+ }, [navContentHeight, navScrollY, chatMessages.length]);
+
// Jump to previous user message (older = higher index in inverted list)
const handleNavPrevious = React.useCallback(() => {
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
- const avgItemHeight = navContentHeight / Math.max(1, chatMessages.length);
- const currentItemApprox = navScrollY / avgItemHeight;
+ const currentItem = findCurrentItemIndex();
let targetIndex = -1;
for (const idx of userMessageIndices) {
- if (idx > currentItemApprox + 0.5) {
+ if (idx > currentItem) {
targetIndex = idx;
break;
}
@@ -526,19 +565,18 @@ export const ChatView = observer(
viewPosition: 1,
});
}
- }, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
+ }, [userMessageIndices, navContentHeight, findCurrentItemIndex]);
// Jump to next user message (newer = lower index in inverted list)
const handleNavNext = React.useCallback(() => {
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
- const avgItemHeight = navContentHeight / Math.max(1, chatMessages.length);
- const currentItemApprox = navScrollY / avgItemHeight;
+ const currentItem = findCurrentItemIndex();
let targetIndex = -1;
for (let i = userMessageIndices.length - 1; i >= 0; i--) {
- if (userMessageIndices[i] < currentItemApprox - 0.5) {
+ if (userMessageIndices[i] < currentItem) {
targetIndex = userMessageIndices[i];
break;
}
@@ -553,7 +591,7 @@ export const ChatView = observer(
viewPosition: 1,
});
}
- }, [userMessageIndices, navContentHeight, navScrollY, chatMessages.length]);
+ }, [userMessageIndices, navContentHeight, findCurrentItemIndex]);
// ============ MESSAGE INPUT HANDLERS ============
const wrappedOnSendPress = React.useCallback(
@@ -844,7 +882,13 @@ export const ChatView = observer(
// Render individual message
const renderMessage = React.useCallback(
- ({item: message}: {item: MessageType.DerivedAny; index: number}) => {
+ ({
+ item: message,
+ index,
+ }: {
+ item: MessageType.DerivedAny;
+ index: number;
+ }) => {
const messageWidth =
showUserAvatars &&
message.type !== 'dateHeader' &&
@@ -860,7 +904,10 @@ export const ChatView = observer(
const showStatus = message.type !== 'dateHeader' && message.showStatus;
return (
-
+ {
+ itemHeightsRef.current.set(index, e.nativeEvent.layout.height);
+ }}>
Date: Thu, 19 Mar 2026 08:40:44 +0000
Subject: [PATCH 070/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 39 +++++++++++++++++++++-------
1 file changed, 30 insertions(+), 9 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 6413283cc..d6ef1f2cc 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -473,20 +473,33 @@ export const ChatView = observer(
}
const totalH = navContentHeight;
+ const maxScroll = Math.max(1, totalH - navViewportHeight);
+
+ // Determine window range:
+ // - Content ≤ MAX_WINDOW_PX (~1000 lines): show ALL content in the track
+ // - Content > MAX_WINDOW_PX: sliding window around current viewport
+ let windowStart: number;
+ let windowEnd: number;
+
+ if (totalH <= MAX_WINDOW_PX) {
+ // Full-content mode: entire document fits on the progress bar
+ windowStart = 0;
+ windowEnd = totalH;
+ } else {
+ // Windowed mode: show MAX_WINDOW_PX around current viewport
+ const visibleTop = navScrollY + navViewportHeight;
+ windowEnd = visibleTop;
+ windowStart = Math.max(0, windowEnd - MAX_WINDOW_PX);
+ }
- // In inverted FlatList: scrollY=0 → bottom (newest), scrollY=(totalH-viewport) → top (oldest)
- const visibleTop = navScrollY + navViewportHeight;
-
- // Window: show last MAX_WINDOW_PX pixels from the current position
- const windowEnd = visibleTop;
- const windowStart = Math.max(0, windowEnd - MAX_WINDOW_PX);
const windowSize = windowEnd - windowStart;
-
if (windowSize === 0) {
return {nodes: [] as UserMessageNode[], scrollFraction: 0};
}
- const scrollFraction = 1 - (navScrollY - windowStart) / windowSize;
+ // Map scroll position to 0..1 within the window
+ // scrollY=0 (bottom) → fraction=1, scrollY=maxScroll (top) → fraction≈0
+ const scrollFraction = 1 - navScrollY / maxScroll;
// Compute cumulative heights using actual measured heights when available,
// falling back to average for unmeasured items.
@@ -508,10 +521,18 @@ export const ChatView = observer(
const nodes: UserMessageNode[] = [];
+ // Node position formula: align with thumb when the message is at
+ // the top of viewport. When scrollY = pixelFromBottom - viewportH,
+ // scrollFraction = 1 - (pixelFromBottom - viewportH) / maxScroll.
+ // So node position = 1 - max(0, pixelFromBottom - viewportH) / maxScroll.
userMessageIndices.forEach(idx => {
const pixelFromBottom = cumH[idx] * scale;
if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
- const position = 1 - (pixelFromBottom - windowStart) / windowSize;
+ const scrollYWhenAtTop = Math.max(0, pixelFromBottom - navViewportHeight);
+ const position = Math.max(
+ 0,
+ Math.min(1, 1 - scrollYWhenAtTop / maxScroll),
+ );
nodes.push({index: idx, position});
}
});
From 297ff930cf813253502e97ee4dd144bf272eb58c Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:47:03 +0000
Subject: [PATCH 071/240] =?UTF-8?q?=E6=94=B9=20UI=20=E6=94=B9=20UI?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ChatView/ChatView.tsx | 20 ++-
.../ModelSettings/ModelSettings.tsx | 120 ++++++++----------
2 files changed, 68 insertions(+), 72 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index d6ef1f2cc..6d2eec352 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -432,6 +432,18 @@ export const ChatView = observer(
});
}, []);
+ // Fallback auto-scroll: when MVCP fails to keep up during fast streaming,
+ // actively snap to bottom if user was already at the bottom.
+ const handleContentSizeChange = React.useCallback(
+ (_w: number, _h: number) => {
+ if (isStreaming && atLatest.value) {
+ list.current?.scrollToOffset({offset: 0, animated: false});
+ }
+ },
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ [isStreaming],
+ );
+
// ============ MESSAGE PROCESSING & CALCULATIONS ============
// Calculate chat messages with date headers and user names
const {chatMessages, gallery} = calculateChatMessages(messages, user, {
@@ -1062,6 +1074,7 @@ export const ChatView = observer(
style={[styles.flatList, {marginBottom: bottomComponentHeight}]}
showsVerticalScrollIndicator={false}
onScroll={handleScroll}
+ onContentSizeChange={handleContentSizeChange}
{...unwrap(flatListProps)}
data={chatMessages}
inverted={chatMessages.length > 0}
@@ -1086,10 +1099,10 @@ export const ChatView = observer(
}, 200);
}}
maintainVisibleContentPosition={
- isStreaming // || hasHiddenContentState
+ isStreaming
? {
- autoscrollToTopThreshold: 20,
- minIndexForVisible: 1, //isStreaming ? 1 : 0,
+ autoscrollToTopThreshold: 300,
+ minIndexForVisible: 1,
}
: undefined
}
@@ -1132,6 +1145,7 @@ export const ChatView = observer(
renderListHeaderComponent,
bottomComponentHeight,
handleScroll,
+ handleContentSizeChange,
flatListProps,
keyExtractor,
handleEndReached,
diff --git a/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx b/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
index 1580ea864..10500f0ab 100644
--- a/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
+++ b/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
@@ -171,20 +171,6 @@ export const ModelSettings: React.FC = ({
disabled={isTemplateInterpreterLocked}
inputTestID="interpreter_picker_input"
/>
-
- {`${l10n.models.modelSettings.template.selectedLabel} ${getChatTemplateDisplayName(selectedTemplateName || chatTemplate.name)}`}
-
-
- {isTemplateInterpreterLocked
- ? l10n.models.modelSettings.template.interpreterLockedNote
- : l10n.models.modelSettings.template.interpreterCustomNote}
-
-
- {l10n.models.modelSettings.template.autoMatchNote}
-
-
- {l10n.models.modelSettings.template.thinkingNote}
- = ({
testID="template-editor-input"
/>
- {!(localChatTemplate || '').trim() && (
- <>
-
- {runtimeTemplateText?.trim()
- ? l10n.models.modelSettings.template.effectiveSourceGguf
- : defaultTemplateText?.trim()
- ? l10n.models.modelSettings.template.effectiveSourceModelDefault
- : l10n.models.modelSettings.template.effectiveSourceRuntimeAuto}
-
-
+ {runtimeTemplateText?.trim()
+ ? l10n.models.modelSettings.template.effectiveSourceGguf
+ : defaultTemplateText?.trim()
+ ? l10n.models.modelSettings.template.effectiveSourceModelDefault
+ : l10n.models.modelSettings.template.effectiveSourceRuntimeAuto}
+
+
+ {
+ const textToCopy =
+ (runtimeTemplateText || '').trim() ||
+ (defaultTemplateText || '').trim() ||
+ l10n.models.modelSettings.template
+ .builtInTemplateAvailableAfterLoad;
+ Clipboard.setString(textToCopy);
+ }}
+ accessibilityLabel={l10n.components.chatView.menuItems.copy}
+ testID="effective-template-copy-button"
+ contentStyle={styles.previewCopyButtonContent}
+ labelStyle={styles.previewCopyButtonLabel}>
+ {l10n.components.chatView.menuItems.copy}
+
+
+
- {
- const textToCopy =
- (runtimeTemplateText || '').trim() ||
- (defaultTemplateText || '').trim() ||
- l10n.models.modelSettings.template
- .builtInTemplateAvailableAfterLoad;
- Clipboard.setString(textToCopy);
- }}
- accessibilityLabel={l10n.components.chatView.menuItems.copy}
- testID="effective-template-copy-button"
- contentStyle={styles.previewCopyButtonContent}
- labelStyle={styles.previewCopyButtonLabel}>
- {l10n.components.chatView.menuItems.copy}
-
-
- setTemplateScrollLock(true)}
- onScrollEndDrag={() => setTemplateScrollLock(false)}
- onMomentumScrollEnd={() => setTemplateScrollLock(false)}
- contentContainerStyle={styles.previewScrollContent}>
-
- {(runtimeTemplateText || '').trim() ||
- (defaultTemplateText || '').trim() ||
- l10n.models.modelSettings.template
- .builtInTemplateAvailableAfterLoad}
-
-
-
-
- >
- )}
+ onScrollBeginDrag={() => setTemplateScrollLock(true)}
+ onScrollEndDrag={() => setTemplateScrollLock(false)}
+ onMomentumScrollEnd={() => setTemplateScrollLock(false)}
+ contentContainerStyle={styles.previewScrollContent}>
+
+ {(runtimeTemplateText || '').trim() ||
+ (defaultTemplateText || '').trim() ||
+ l10n.models.modelSettings.template
+ .builtInTemplateAvailableAfterLoad}
+
+
+
+
);
From 5bf889ccfa7230a5b49f31c39e8e91f5ffa6918a Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:47:23 +0000
Subject: [PATCH 072/240] Update zh.json
---
src/locales/zh.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/locales/zh.json b/src/locales/zh.json
index b4cf4a0af..ad9529ea5 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -347,9 +347,9 @@
"selectedLabel": "当前预设:",
"autoMatchNote": "仅官方内置模型(通过预设下载)会匹配预设模板;其他导入/本地模型默认使用 GGUF 自带模板。你也可以在这里手动覆盖。",
"thinkingNote": "模板变更可能影响推理/思考能力识别,以及主界面 Thinking 开关的行为。",
- "effectiveSourceGguf": "实际模板来源:GGUF 内置模板(已加载上下文)",
- "effectiveSourceModelDefault": "实际模板来源:模型默认模板",
- "effectiveSourceRuntimeAuto": "实际模板来源:运行时自动模板",
+ "effectiveSourceGguf": "GGUF 内置模板",
+ "effectiveSourceModelDefault": "模型默认模板",
+ "effectiveSourceRuntimeAuto": "运行时自动模板",
"builtInTemplateAvailableAfterLoad": "首次载入模型后可读取内置模板",
"note1": "注意: 更改模板可能会更改BOS、EOS和系统提示",
"note2": "使用Nunjucks,留空以使用模型的模板",
From 5fea8280e1647b4e638ce743d04a6c11fc740402 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:47:30 +0000
Subject: [PATCH 073/240] Update en.json
---
src/locales/en.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/locales/en.json b/src/locales/en.json
index 2a103d8a3..d4e37a27f 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -351,9 +351,9 @@
"selectedLabel": "Selected preset:",
"autoMatchNote": "Official built-in models downloaded from the preset catalog are matched to preset templates. Other imported/local models default to the GGUF built-in template unless you override it here.",
"thinkingNote": "Template changes can affect reasoning/thinking support and the Thinking toggle behavior.",
- "effectiveSourceGguf": "Effective template source: GGUF built-in template (loaded context)",
- "effectiveSourceModelDefault": "Effective template source: model default template",
- "effectiveSourceRuntimeAuto": "Effective template source: runtime auto template",
+ "effectiveSourceGguf": "GGUF built-in template",
+ "effectiveSourceModelDefault": "Model default template",
+ "effectiveSourceRuntimeAuto": "Runtime auto template",
"builtInTemplateAvailableAfterLoad": "Built-in template will be available after the model is loaded for the first time.",
"note1": "Note: Changing the template may alter BOS, EOS, and system prompt.",
"note2": "Uses Nunjucks. Leave empty to use model's template.",
From 0ab53c8e0b32718f48acfd885787174fa4e0a0af Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:54:26 +0000
Subject: [PATCH 074/240] =?UTF-8?q?=E6=94=B9=E6=94=B9=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ChatInput/ChatInput.tsx | 4 ++--
src/components/ChatView/ChatView.tsx | 6 ++++--
src/locales/en.json | 4 +++-
src/locales/zh.json | 4 +++-
src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx | 5 +----
5 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/components/ChatInput/ChatInput.tsx b/src/components/ChatInput/ChatInput.tsx
index 6cd7b9994..143978a11 100644
--- a/src/components/ChatInput/ChatInput.tsx
+++ b/src/components/ChatInput/ChatInput.tsx
@@ -622,7 +622,7 @@ export const ChatInput = observer(
: {color: onSurfaceColorVariant},
{marginLeft: 0},
]}>
- ET
+ {l10n.components.chatInput.thinkingToggle.enableThinkText}
)}
@@ -652,7 +652,7 @@ export const ChatInput = observer(
: {color: onSurfaceColorVariant},
{marginLeft: 0},
]}>
- RF
+ {l10n.components.chatInput.thinkingToggle.saveThinkText}
)}
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 6d2eec352..c6a75ffe9 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -355,7 +355,6 @@ export const ChatView = observer(
(scrollY: number, contentH: number, viewportH: number) => {
updateNavStateRef.current(scrollY, contentH, viewportH);
},
- // eslint-disable-next-line react-hooks/exhaustive-deps
[],
);
@@ -540,7 +539,10 @@ export const ChatView = observer(
userMessageIndices.forEach(idx => {
const pixelFromBottom = cumH[idx] * scale;
if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
- const scrollYWhenAtTop = Math.max(0, pixelFromBottom - navViewportHeight);
+ const scrollYWhenAtTop = Math.max(
+ 0,
+ pixelFromBottom - navViewportHeight,
+ );
const position = Math.max(
0,
Math.min(1, 1 - scrollYWhenAtTop / maxScroll),
diff --git a/src/locales/en.json b/src/locales/en.json
index d4e37a27f..04a34e525 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -518,7 +518,9 @@
"disableThinking": "Disable thinking mode",
"thinkingEnabled": "Thinking mode enabled",
"thinkingDisabled": "Thinking mode disabled",
- "thinkText": "Think"
+ "thinkText": "Show",
+ "enableThinkText": "Think",
+ "saveThinkText": "Save"
}
},
"contentReportSheet": {
diff --git a/src/locales/zh.json b/src/locales/zh.json
index ad9529ea5..8c8d5a2cc 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -514,7 +514,9 @@
"disableThinking": "禁用思考模式",
"thinkingEnabled": "思考模式已启用",
"thinkingDisabled": "思考模式已禁用",
- "thinkText": "思考"
+ "thinkText": "显",
+ "enableThinkText": "思",
+ "saveThinkText": "录"
}
},
"contentReportSheet": {
diff --git a/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx b/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
index 10500f0ab..840a3305a 100644
--- a/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
+++ b/src/screens/ModelsScreen/ModelSettings/ModelSettings.tsx
@@ -21,7 +21,6 @@ import {CompletionParams} from '../../../utils/completionTypes';
import {
chatTemplateInterpreterOptions,
chatTemplates,
- getChatTemplateDisplayName,
getChatTemplateInterpreterDisplayName,
getEffectiveChatTemplateInterpreter,
} from '../../../utils/chat';
@@ -220,9 +219,7 @@ export const ModelSettings: React.FC = ({
labelStyle={styles.previewCopyButtonLabel}>
{l10n.components.chatView.menuItems.copy}
-
+
Date: Thu, 19 Mar 2026 08:57:22 +0000
Subject: [PATCH 075/240] Update AboutScreen.tsx
---
src/screens/AboutScreen/AboutScreen.tsx | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/screens/AboutScreen/AboutScreen.tsx b/src/screens/AboutScreen/AboutScreen.tsx
index 61fd769d1..cd6d136be 100644
--- a/src/screens/AboutScreen/AboutScreen.tsx
+++ b/src/screens/AboutScreen/AboutScreen.tsx
@@ -129,7 +129,12 @@ export const AboutScreen: React.FC = () => {
- llama.cpp {BuildInfo.number}
+ {'llama.rn v' +
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+ (require('llama.rn/package.json').version as string) +
+ ' (llama.cpp build ' +
+ BuildInfo.number +
+ ')'}
From c130915a25948d39005bb4c6d8bd995984dfe76a Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 08:58:49 +0000
Subject: [PATCH 076/240] =?UTF-8?q?=E5=88=A0=E6=8E=89=E4=B8=8D=E7=94=A8?=
=?UTF-8?q?=E7=9A=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/e2e-tests.yml | 334 -----------------
.github/workflows/l10n-upload.yml | 45 ---
.github/workflows/release.yml | 233 ------------
"1.rf\345\274\200\345\220\257.txt" | 11 -
"2,rf\345\205\263\351\227\255.txt" | 13 -
...2\351\200\200\346\227\245\345\277\227.txt" | 353 ------------------
6 files changed, 989 deletions(-)
delete mode 100644 .github/workflows/e2e-tests.yml
delete mode 100644 .github/workflows/l10n-upload.yml
delete mode 100644 .github/workflows/release.yml
delete mode 100644 "1.rf\345\274\200\345\220\257.txt"
delete mode 100644 "2,rf\345\205\263\351\227\255.txt"
delete mode 100644 "3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
deleted file mode 100644
index d1060c6e0..000000000
--- a/.github/workflows/e2e-tests.yml
+++ /dev/null
@@ -1,334 +0,0 @@
-name: E2E Tests (AWS Device Farm)
-
-on:
- # Manual trigger with platform selection
- workflow_dispatch:
- inputs:
- platform:
- description: 'Platform to test'
- required: true
- default: 'android'
- type: choice
- options:
- - android
- - ios
- - both
-
- # Optionally run on main branch pushes
- # push:
- # branches: [main]
-
-env:
- NODE_VERSION: '22'
- JAVA_VERSION: '17'
-
-jobs:
- build-android:
- if: ${{ github.event.inputs.platform == 'android' || github.event.inputs.platform == 'both' }}
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Setup Java
- uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: ${{ env.JAVA_VERSION }}
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ env.NODE_VERSION }}
- cache: 'yarn'
-
- - name: Install dependencies
- run: yarn install --frozen-lockfile
-
- - name: Create dummy google-services.json for CI
- run: |
- cat > android/app/google-services.json << 'EOL'
- {
- "project_info": {
- "project_number": "000000000000",
- "project_id": "dummy-project-for-ci",
- "storage_bucket": "dummy-project-for-ci.appspot.com"
- },
- "client": [{
- "client_info": {
- "mobilesdk_app_id": "1:000000000000:android:0000000000000000",
- "android_client_info": {
- "package_name": "com.pocketpalai"
- }
- },
- "api_key": [{
- "current_key": "dummy-api-key-for-ci-builds"
- }]
- }]
- }
- EOL
-
- - name: Create dummy .env file for CI
- run: |
- cat > .env << 'EOL'
- FIREBASE_FUNCTIONS_URL=https://dummy-firebase-url.com
- SUPABASE_URL=https://dummy-supabase-url.supabase.co
- SUPABASE_ANON_KEY=dummy-anon-key-for-ci-builds
- PALSHUB_API_BASE_URL=https://dummy-palshub-api.com
- APP_URL=pocketpal://app
- ENABLE_PALSHUB_INTEGRATION=true
- ENABLE_AUTHENTICATION=true
- ENABLE_OFFLINE_MODE=true
- GOOGLE_IOS_CLIENT_ID=dummy-ios-client-id.apps.googleusercontent.com
- GOOGLE_WEB_CLIENT_ID=dummy-web-client-id.apps.googleusercontent.com
- EOL
-
- - name: Create dummy release keystore for CI
- working-directory: android/app
- run: |
- keytool -genkeypair -v \
- -storetype PKCS12 \
- -keystore pocketpal-release-key.keystore \
- -alias pocketpal_key_alias \
- -keyalg RSA \
- -keysize 2048 \
- -validity 10000 \
- -storepass dummy-ci-password \
- -keypass dummy-ci-password \
- -dname "CN=CI Build, OU=CI, O=PocketPal, L=CI, S=CI, C=US"
-
- - name: Build Android Release APK
- env:
- APP_RELEASE_STORE_PASSWORD: dummy-ci-password
- APP_RELEASE_KEY_PASSWORD: dummy-ci-password
- run: |
- cd android
- bash ./gradlew assembleRelease
-
- - name: Upload APK artifact
- uses: actions/upload-artifact@v4
- with:
- name: android-apk
- path: android/app/build/outputs/apk/release/app-release.apk
-
- build-ios:
- if: ${{ github.event.inputs.platform == 'ios' || github.event.inputs.platform == 'both' }}
- runs-on: macos-15
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ env.NODE_VERSION }}
- cache: 'yarn'
-
- - name: Install dependencies
- run: yarn install --frozen-lockfile
-
- - name: Create Env.xcconfig
- run: |
- cat > ios/Config/Env.xcconfig << 'EOL'
- // This file contains environment-specific build settings.
-
- GOOGLE_WEB_CLIENT_ID = dummy-web-client-id.apps.googleusercontent.com
- REVERSED_GOOGLE_IOS_CLIENT_ID = com.googleusercontent.apps.dummy-ios-client-id
-
- EOL
-
- - name: Create dummy .env file for CI
- run: |
- cat > .env << 'EOL'
- FIREBASE_FUNCTIONS_URL=https://dummy-firebase-url.com
- SUPABASE_URL=https://dummy-supabase-url.supabase.co
- SUPABASE_ANON_KEY=dummy-anon-key-for-ci-builds
- PALSHUB_API_BASE_URL=https://dummy-palshub-api.com
- APP_URL=pocketpal://app
- ENABLE_PALSHUB_INTEGRATION=true
- ENABLE_AUTHENTICATION=true
- ENABLE_OFFLINE_MODE=true
- GOOGLE_IOS_CLIENT_ID=dummy-ios-client-id.apps.googleusercontent.com
- GOOGLE_WEB_CLIENT_ID=dummy-web-client-id.apps.googleusercontent.com
- EOL
-
- - name: Create dummy GoogleService-Info.plist for CI
- run: |
- cat > ios/GoogleService-Info.plist << 'EOL'
-
-
-
-
- CLIENT_ID
- dummy-client-id.apps.googleusercontent.com
- REVERSED_CLIENT_ID
- com.googleusercontent.apps.dummy-client-id
- API_KEY
- dummy-api-key-for-ci-builds
- GCM_SENDER_ID
- 000000000000
- PLIST_VERSION
- 1
- BUNDLE_ID
- ai.pocketpal
- PROJECT_ID
- dummy-project-for-ci
- STORAGE_BUCKET
- dummy-project-for-ci.appspot.com
- IS_ADS_ENABLED
-
- IS_ANALYTICS_ENABLED
-
- IS_APPINVITE_ENABLED
-
- IS_GCM_ENABLED
-
- IS_SIGNIN_ENABLED
-
- GOOGLE_APP_ID
- 1:000000000000:ios:0000000000000000
-
-
- EOL
-
- - name: Install CocoaPods
- run: |
- cd ios
- pod install
-
- - name: Build iOS Release IPA
- run: |
- cd ios
- xcodebuild -workspace PocketPal.xcworkspace \
- -scheme PocketPal \
- -configuration Release \
- -sdk iphoneos \
- -archivePath build/PocketPal.xcarchive \
- archive \
- CODE_SIGN_IDENTITY="" \
- CODE_SIGNING_REQUIRED=NO \
- CODE_SIGNING_ALLOWED=NO
-
- # Create IPA from archive
- mkdir -p build/Payload
- cp -r build/PocketPal.xcarchive/Products/Applications/PocketPal.app build/Payload/
- cd build
- zip -r PocketPal.ipa Payload
-
- - name: Upload IPA artifact
- uses: actions/upload-artifact@v4
- with:
- name: ios-ipa
- path: ios/build/PocketPal.ipa
-
- test-android:
- needs: build-android
- if: ${{ github.event.inputs.platform == 'android' || github.event.inputs.platform == 'both' }}
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ env.NODE_VERSION }}
-
- - name: Download APK artifact
- uses: actions/download-artifact@v4
- with:
- name: android-apk
- path: ./app
-
- - name: Install E2E dependencies
- run: |
- cd e2e
- yarn install --frozen-lockfile
-
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v4
- with:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- aws-region: ${{ vars.AWS_REGION }}
-
- - name: Run E2E tests on AWS Device Farm
- env:
- AWS_DEVICE_FARM_PROJECT_ARN: ${{ vars.AWS_DEVICE_FARM_PROJECT_ARN }}
- AWS_DEVICE_POOL_ARN_ANDROID: ${{ vars.AWS_DEVICE_POOL_ARN_ANDROID }}
- run: |
- cd e2e
- yarn test:aws --platform android --app ../app/app-release.apk
-
- - name: Upload test artifacts
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: android-test-artifacts
- path: e2e/device-farm-artifacts/
- retention-days: 30
-
- - name: Publish Test Results
- if: always()
- uses: dorny/test-reporter@v1
- with:
- name: Android E2E Test Results
- path: e2e/device-farm-artifacts/**/junit*.xml
- reporter: java-junit
- fail-on-error: false
-
- test-ios:
- needs: build-ios
- if: ${{ github.event.inputs.platform == 'ios' || github.event.inputs.platform == 'both' }}
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: ${{ env.NODE_VERSION }}
-
- - name: Download IPA artifact
- uses: actions/download-artifact@v4
- with:
- name: ios-ipa
- path: ./app
-
- - name: Install E2E dependencies
- run: |
- cd e2e
- yarn install --frozen-lockfile
-
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v4
- with:
- aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- aws-region: ${{ vars.AWS_REGION }}
-
- - name: Run E2E tests on AWS Device Farm
- env:
- AWS_DEVICE_FARM_PROJECT_ARN: ${{ vars.AWS_DEVICE_FARM_PROJECT_ARN }}
- AWS_DEVICE_POOL_ARN_IOS: ${{ vars.AWS_DEVICE_POOL_ARN_IOS }}
- run: |
- cd e2e
- yarn test:aws --platform ios --app ../app/PocketPal.ipa
-
- - name: Upload test artifacts
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: ios-test-artifacts
- path: e2e/device-farm-artifacts/
- retention-days: 30
-
- - name: Publish Test Results
- if: always()
- uses: dorny/test-reporter@v1
- with:
- name: iOS E2E Test Results
- path: e2e/device-farm-artifacts/**/junit*.xml
- reporter: java-junit
- fail-on-error: false
diff --git a/.github/workflows/l10n-upload.yml b/.github/workflows/l10n-upload.yml
deleted file mode 100644
index 520eafc87..000000000
--- a/.github/workflows/l10n-upload.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-# Weblate Translation Workflow Lifecycle:
-#
-# 1. Developer adds/changes English strings in src/locales/en.json, merges PR to main
-# 2. This workflow auto-uploads en.json to Weblate on merge
-# 3. Translators work in Weblate UI at https://hosted.weblate.org/translate/pocketpal-ai
-# 4. Weblate auto-creates a PR with translated files (requires Weblate admin to
-# configure push mode to GitHub)
-# 5. Human reviews and merges the Weblate PR
-# 6. scripts/sync-weblate.js download remains as a backup/convenience tool
-#
-# Required admin setup:
-# - Configure the Weblate component with GitHub PR push mode
-# - Set WEBLATE_TOKEN secret in repo settings -> Secrets -> Actions
-
-name: Upload translations to Weblate
-
-on:
- push:
- branches:
- - main
- paths:
- - 'src/locales/en.json'
-
-permissions:
- contents: read
-
-jobs:
- upload:
- runs-on: ubuntu-latest
- steps:
- - name: Check out code
- uses: actions/checkout@v4
-
- - name: Set up Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '22.21.0'
-
- - name: Install dependencies
- run: yarn install
-
- - name: Upload to Weblate
- env:
- WEBLATE_TOKEN: ${{ secrets.WEBLATE_TOKEN }}
- run: node scripts/sync-weblate.js upload
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index bd1e883ba..000000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,233 +0,0 @@
-name: Release Workflow
-
-on:
- workflow_dispatch:
- inputs:
- version_type:
- description: "Type of version bump (major, minor, patch, premajor, preminor, prepatch, prerelease)"
- required: true
- default: "patch"
- type: choice
- options:
- - major
- - minor
- - patch
- - premajor
- - preminor
- - prepatch
- - prerelease
-
-jobs:
- # Job 1: Version Bumping and Android Build
- build_android:
- runs-on: ubuntu-latest
- permissions:
- contents: 'write' # Allows workflow to checkout repository code
- id-token: 'write' # Required for Google Cloud Workload Identity Federation authentication (OIDC token generation)
-
- steps:
- # Step 1: Checkout the code
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Important for git history
- ssh-key: ${{ secrets.DEPLOY_KEY }}
-
- # Step 2: Set up JDK 17
- - name: Set up JDK 17
- uses: actions/setup-java@v3
- with:
- distribution: 'temurin'
- java-version: '17'
-
- # Step 3: Set up Node.js
- - name: Set up Node.js
- uses: actions/setup-node@v3
- with:
- node-version: '22.21.0' # Use the specified Node.js version
- cache: 'yarn'
-
- # Step 4: Install dependencies using Yarn
- - name: Install dependencies
- run: yarn install
-
- # Step 5: Set up Ruby and Bundler
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.2.3' # Specify a Ruby version
- bundler-cache: true
-
- # Step 6: Combined version bump
- - name: Bump versions
- working-directory: ${{ github.workspace }}
- run: bundle exec fastlane bump_version version_type:${{ github.event_name == 'workflow_dispatch' && github.event.inputs.version_type || 'patch' }}
-
- # Step 7: Commit and push version changes
- - name: Commit and push version changes
- run: |
- VERSION=$(cat .version)
- echo "VERSION=$VERSION" >> $GITHUB_ENV
- git config user.name "GitHub Actions"
- git config user.email "actions@github.com"
- git add .version package.json android/app/build.gradle ios/PocketPal.xcodeproj/project.pbxproj
- git commit -m "chore(release): bump version to $VERSION"
- git push
- git tag "v$VERSION"
- git push origin "v$VERSION"
-
- # Step 8: Set up Android Keystore
- - name: Set up Android Keystore
- working-directory: android
- run: |
- echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > app/pocketpal-release-key.keystore
-
- # Step 9: Authenticate to Google Cloud
- - name: Authenticate to Google Cloud
- id: auth
- uses: google-github-actions/auth@v2
- with:
- service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
- workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}
- create_credentials_file: true
-
- # Add this step before the Android build
- - name: Create .env file
- run: |
- cat > .env << 'EOL'
- FIREBASE_FUNCTIONS_URL=${{ vars.FIREBASE_FUNCTIONS_URL }}
-
- # PalsHub/Supabase Configuration
- SUPABASE_URL=${{ vars.SUPABASE_URL }}
- SUPABASE_ANON_KEY=${{ secrets.SUPABASE_ANON_KEY }}
- PALSHUB_API_BASE_URL=${{ vars.PALSHUB_API_BASE_URL }}
-
- # App Configuration
- APP_URL=pocketpal://app
-
- # Feature Flags (true/false)
- ENABLE_PALSHUB_INTEGRATION=true
- ENABLE_AUTHENTICATION=true
- ENABLE_OFFLINE_MODE=true
-
- # Google Sign-In Configuration
- GOOGLE_IOS_CLIENT_ID=${{ vars.GOOGLE_IOS_CLIENT_ID }}
- GOOGLE_WEB_CLIENT_ID=${{ vars.GOOGLE_WEB_CLIENT_ID }}
- EOL
-
- # Step 10: Build and upload Android app to Alpha track (includes building APK and Bundle)
- - name: Build and upload Android app
- working-directory: android
- env:
- KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
- KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
- KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
- GRADLE_USER_HOME: ${{ runner.temp }}/.gradle
- # GOOGLE_APPLICATION_CREDENTIALS: ${{ steps.auth.outputs.credentials_file_path }} # This is not supported by fastlane, we need to replace it with PLAY_STORE_JSON_KEY in the future.
- PLAY_STORE_JSON_KEY: ${{ secrets.PLAY_STORE_SERVICE_ACCOUNT_JSON }}
- GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
- run: |
- echo "$PLAY_STORE_JSON_KEY" > play-store-key.json
- bundle exec fastlane release_android_alpha
-
- # Step 11: Create GitHub Release with APK
- - name: Create GitHub Release
- uses: softprops/action-gh-release@v1
- with:
- files: android/app/build/outputs/apk/release/app-release.apk
- tag_name: "v${{ env.VERSION }}"
- name: "Release v${{ env.VERSION }}"
- draft: false
- prerelease: false
- generate_release_notes: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- # Job 2: iOS Build and Upload (runs on macOS)
- build_ios:
- runs-on: macos-15 # macOS 15 with Xcode 16
- needs: build_android
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ github.ref }} # This ensures we get the latest changes including the version bump
- fetch-depth: 0
-
- # Step 1: Setup Xcode to use the correct version
- - name: Setup Xcode
- run: |
- sudo xcode-select -s /Applications/Xcode_16.4.app
-
- # Step 2: Set up Node.js
- - name: Set up Node.js
- uses: actions/setup-node@v3
- with:
- node-version: '22.21.0'
- cache: 'yarn'
-
- # Step 3: Install dependencies using Yarn
- - name: Install dependencies
- run: yarn install
-
- # Step 4: Set up Ruby and Bundler
- - name: Set up Ruby
- uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.2.3' # Specify a Ruby version
- bundler-cache: true
-
- # Step 5: Install CocoaPods dependencies
- - name: Install CocoaPods dependencies
- working-directory: ios
- run: pod install
-
- # Step 6: Create Env.xcconfig
- - name: Create Env.xcconfig
- run: |
- cat > ios/Config/Env.xcconfig << 'EOL'
- // This file contains environment-specific build settings.
-
- GOOGLE_WEB_CLIENT_ID = ${{ vars.GOOGLE_WEB_CLIENT_ID }}
- REVERSED_GOOGLE_IOS_CLIENT_ID = ${{ vars.REVERSED_GOOGLE_IOS_CLIENT_ID }}
-
- EOL
-
- # Step 7: Create .env file
- - name: Create .env file
- run: |
- cat > .env << 'EOL'
- FIREBASE_FUNCTIONS_URL=${{ vars.FIREBASE_FUNCTIONS_URL }}
-
- # PalsHub/Supabase Configuration
- SUPABASE_URL=${{ vars.SUPABASE_URL }}
- SUPABASE_ANON_KEY=${{ secrets.SUPABASE_ANON_KEY }}
- PALSHUB_API_BASE_URL=${{ vars.PALSHUB_API_BASE_URL }}
-
- # App Configuration
- APP_URL=pocketpal://app
-
- # Feature Flags (true/false)
- ENABLE_PALSHUB_INTEGRATION=true
- ENABLE_AUTHENTICATION=true
- ENABLE_OFFLINE_MODE=true
-
- # Google Sign-In Configuration
- GOOGLE_IOS_CLIENT_ID=${{ vars.GOOGLE_IOS_CLIENT_ID }}
- GOOGLE_WEB_CLIENT_ID=${{ vars.GOOGLE_WEB_CLIENT_ID }}
- EOL
-
- # Step 8: Build and upload iOS app to TestFlight
- - name: Build and upload iOS app
- working-directory: ios
- env:
- MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
- MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
- MATCH_GITHUB_TOKEN: ${{ secrets.MATCH_GITHUB_TOKEN }}
- APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
- APP_STORE_CONNECT_API_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_ISSUER_ID }}
- APP_STORE_CONNECT_API_KEY_CONTENT: ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}
- APP_STORE_CONNECT_USER_ID: ${{ secrets.APP_STORE_CONNECT_USER_ID }}
- GOOGLE_SERVICES_PLIST: ${{ secrets.GOOGLE_SERVICES_PLIST }}
- run: bundle exec fastlane release_ios_testflight
diff --git "a/1.rf\345\274\200\345\220\257.txt" "b/1.rf\345\274\200\345\220\257.txt"
deleted file mode 100644
index 79300a2f6..000000000
--- "a/1.rf\345\274\200\345\220\257.txt"
+++ /dev/null
@@ -1,11 +0,0 @@
-2026-03-19T04:38:12.406Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773895092404-gtas52","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
-2026-03-19T04:38:12.406Z LOG [EngineInput] request {"requestId":"1773895092404-gtas52","completionTransport":"messages-api","model":{"id":"47987c0d-2453-408e-bd09-915ca7de3c3d","name":"Qwen3.5-9B-ultra-heretic-Q4_K_M.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":false,"isNunjucksFallback":false},"probe":{"paramKeys":["enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
-2026-03-19T04:38:12.730Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773895092404-gtas52","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":false,"completionSettled":false,"isStreaming":false,"inferencing":true}
-2026-03-19T04:38:13.511Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773895092404-gtas52","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T04:38:15.106Z LOG [EngineOutput] completion:result {"requestId":"1773895092404-gtas52","timings":{"cache_n":22,"prompt_n":12,"prompt_ms":11550.243,"prompt_per_token_ms":962.52025,"prompt_per_second":1.038939180760093,"predicted_n":10,"predicted_ms":1647.124,"predicted_per_token_ms":164.7124,"predicted_per_second":6.071188325833392},"time_to_first_token_ms":778,"streamChunkCount":11,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"Here","finalTextDiag":{"length":62,"hash":"b55e991f","asciiRatio":1,"symbolRatio":0.016,"digitRatio":0,"whitespaceRatio":0.145,"repeatedCharMaxRun":2,"repeatedBigramTop":" t","repeatedBigramCount":4,"preview":"Here's a thinking process that leads to the suggested response"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
-2026-03-19T04:38:47.159Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773895127153-2dysbn","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":90}
-2026-03-19T04:38:47.160Z LOG [EngineInput] request {"requestId":"1773895127153-2dysbn","completionTransport":"messages-api","model":{"id":"47987c0d-2453-408e-bd09-915ca7de3c3d","name":"Qwen3.5-9B-ultra-heretic-Q4_K_M.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":false,"isNunjucksFallback":false},"probe":{"paramKeys":["enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":null,"chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
-2026-03-19T04:38:47.504Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":false,"completionSettled":false,"isStreaming":false,"inferencing":true}
-2026-03-19T04:38:48.256Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T04:38:50.329Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773895127153-2dysbn","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T04:38:54.382Z LOG [EngineOutput] completion:result {"requestId":"1773895127153-2dysbn","timings":{"cache_n":53,"prompt_n":18,"prompt_ms":33236.286,"prompt_per_token_ms":1846.4603333333334,"prompt_per_second":0.5415767574030383,"predicted_n":35,"predicted_ms":6016.271,"predicted_per_token_ms":171.89345714285713,"predicted_per_second":5.8175570881032455},"time_to_first_token_ms":894,"streamChunkCount":36,"firstCallbackKeys":["token","content","accumulated_text"],"firstTokenPreview":"嗯","finalTextDiag":{"length":66,"hash":"b1f47c8b","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":1,"repeatedBigramTop":"用户","repeatedBigramCount":2,"preview":"嗯,用户说“你好”,看起来是想打招呼。我需要先回应友好的问候,然后可能询问有什么可以帮助的。不过用户之前也发过“你好”,所以可能是在"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
\ No newline at end of file
diff --git "a/2,rf\345\205\263\351\227\255.txt" "b/2,rf\345\205\263\351\227\255.txt"
deleted file mode 100644
index 7f33f7ebe..000000000
--- "a/2,rf\345\205\263\351\227\255.txt"
+++ /dev/null
@@ -1,13 +0,0 @@
-2026-03-19T05:45:09.572Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899109568-0ohn5d","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
-2026-03-19T05:45:09.573Z LOG [EngineInput] request {"requestId":"1773899109568-0ohn5d","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
-2026-03-19T05:45:09.870Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:10.644Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:12.623Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:17.620Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":8000,"requestId":"1773899109568-0ohn5d","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:19.419Z LOG [EngineOutput] completion:result {"requestId":"1773899109568-0ohn5d","timings":{"cache_n":280,"prompt_n":11,"prompt_ms":163.218,"prompt_per_token_ms":14.838,"prompt_per_second":67.39452756436178,"predicted_n":269,"predicted_ms":9477.93,"predicted_per_token_ms":35.2339405204461,"predicted_per_second":28.381724701490725},"time_to_first_token_ms":172,"streamChunkCount":268,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"嗯","finalTextDiag":{"length":486,"hash":"544981b8","asciiRatio":0.043,"symbolRatio":0.006,"digitRatio":0,"whitespaceRatio":0.041,"repeatedCharMaxRun":2,"repeatedBigramTop":"你好","repeatedBigramCount":6,"preview":"嗯,用户现在说“你好”,看起来是个简单的打招呼。不过作为 AI 助手,需要判断一下这个请求的意图。首先,用户可能是在测试我的响应,或者希望我介绍自己,或者只是想确认一下问候。\n\n接下来,考虑常见的场景。如果是日常交流,可能用户希望我简单回应,比如用中文问候,或者提供帮助。需要确保回复简洁友好,同时保持友好。\n\n另外,要注意用户可能之前有过对话,但当前没有上下文。不过根据问题,直接回应比较好。需要确认是否有什么具体需求,但这里没有,所以保持通用回应。\n\n还要考虑是否要添加一些礼貌用语,比如“你好,我是谁”,或者用更亲切的称呼。比如“你好呀,我是你的 AI 助手,有什么可以帮你的吗?”这样更友好。\n\n需要检查是否有必要提到自己的功能,比如问答、协助任务等。但用户可能只是单纯问候,所以保持简洁即可。\n\n最后,确保回复符合中文习惯,用常见的问候语,比如“你好,很高兴为您服务”或者“你好,随时欢迎提问”,同时保持友好。\n\n\n你好呀!我是你的 AI 助手,很高兴和你交流。有什么我可以帮你的吗?无论是解答问题、提供建议,还是其他需求,随时欢迎提问哦~ 😊"},"finalReasoningDiag":{"length":410,"hash":"60dfc5b9","asciiRatio":0.02,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0.034,"repeatedCharMaxRun":2,"repeatedBigramTop":"用户","repeatedBigramCount":5,"preview":"嗯,用户现在说“你好”,看起来是个简单的打招呼。不过作为 AI 助手,需要判断一下这个请求的意图。首先,用户可能是在测试我的响应,或者希望我介绍自己,或者只是想确认一下问候。\n\n接下来,考虑常见的场景。如果是日常交流,可能用户希望我简单回应,比如用中文问候,或者提供帮助。需要确保回复简洁友好,同时保持友好。\n\n另外,要注意用户可能之前有过对话,但当前没有上下文。不过根据问题,直接回应比较好。需要确认是否有什么具体需求,但这里没有,所以保持通用回应。\n\n还要考虑是否要添加一些礼貌用语,比如“你好,我是谁”,或者用更亲切的称呼。比如“你好呀,我是你的 AI 助手,有什么可以帮你的吗?”这样更友好。\n\n需要检查是否有必要提到自己的功能,比如问答、协助任务等。但用户可能只是单纯问候,所以保持简洁即可。\n\n最后,确保回复符合中文习惯,用常见的问候语,比如“你好,很高兴为您服务”或者“你好,随时欢迎提问”,同时保持友好。"}}
-2026-03-19T05:45:41.091Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899141081-6ti5f7","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n你好<|im_end|>\n<|im_start|>assistant\n\n","promptLength":60}
-2026-03-19T05:45:41.092Z LOG [EngineInput] request {"requestId":"1773899141081-6ti5f7","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":2,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":null,"chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
-2026-03-19T05:45:41.403Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:42.167Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:44.143Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899141081-6ti5f7","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:45:48.559Z LOG [EngineOutput] completion:result {"requestId":"1773899141081-6ti5f7","timings":{"cache_n":212,"prompt_n":11,"prompt_ms":168.767,"prompt_per_token_ms":15.342454545454546,"prompt_per_second":65.17861904282236,"predicted_n":201,"predicted_ms":7124.5470000000005,"predicted_per_token_ms":35.44550746268657,"predicted_per_second":28.21232002539951},"time_to_first_token_ms":177,"streamChunkCount":201,"firstCallbackKeys":["token","content","accumulated_text"],"firstTokenPreview":"好的","finalTextDiag":{"length":367,"hash":"cf6962cf","asciiRatio":0.025,"symbolRatio":0.008,"digitRatio":0,"whitespaceRatio":0.027,"repeatedCharMaxRun":2,"repeatedBigramTop":"用户","repeatedBigramCount":6,"preview":"好的,用户第一次打招呼,我回复了“你好”,然后用户问“你好”怎么回复?可能需要更全面的回答。\n\n首先,用户可能只是想测试我的反应,或者需要更自然的回应。我应该保持友好,并展示多语言支持,比如用中文回复。然后可以提到一些日常问候,比如“你好”是常见问候,可以解释原因。还要考虑用户可能想要更多信息,比如文化背景,或者是否有其他需求。需要检查是否有其他未提及的问题,但当前对话结束,所以保持简洁。\n\n然后,用户可能希望了解如何回复,或者需要更多帮助。我应该提供几个例子,比如用不同的语气,或者询问是否需要更详细的信息。同时,可以提到文化差异,比如不同地区可能有不同的问候方式,但保持友好和开放。\n\n最后,总结时强调我的多语言能力和希望用户继续提问,确保友好和积极。\n\n\n你好!很高兴见到你~✨ 有什么我可以帮助你的吗?😊"},"finalReasoningDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""}}
\ No newline at end of file
diff --git "a/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt" "b/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
deleted file mode 100644
index e1e948bf0..000000000
--- "a/3.\351\227\252\351\200\200\346\227\245\345\277\227.txt"
+++ /dev/null
@@ -1,353 +0,0 @@
-2026-03-19T05:47:41.946Z LOG [Lifecycle] App state change: active → background
-2026-03-19T05:47:45.938Z LOG Pal store initialized
-2026-03-19T05:47:45.938Z LOG Pals number: 0
-2026-03-19T05:47:45.944Z WARN [🍉] JSI SQLiteAdapter not available… falling back to asynchronous operation. This will happen if you're using remote debugger, and may happen if you forgot to recompile native app after WatermelonDB update
-2026-03-19T05:47:45.945Z LOG [Lifecycle] App state change: active → active
-2026-03-19T05:47:45.964Z LOG [Lifecycle] [ModelStore] models summary: {"total":11,"downloaded":1,"local":1}
-2026-03-19T05:47:45.969Z LOG Pal database migration already completed
-2026-03-19T05:47:45.980Z LOG Lookie pal already exists, skipping creation
-2026-03-19T05:47:45.980Z LOG Pal store initialization completed
-2026-03-19T05:47:47.991Z LOG Checking for settings that need migration...
-2026-03-19T05:47:48.027Z LOG Found 0 session settings and 0 global settings that need migration
-2026-03-19T05:47:48.027Z LOG No settings need migration
-2026-03-19T05:47:50.015Z LOG [Lifecycle] resolveMultimodalConfig:start {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","visionEnabled":false,"supportsMultimodal":false,"explicitMmprojProvided":false}
-2026-03-19T05:47:50.016Z LOG [Lifecycle] resolveMultimodalConfig:text-only {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d"}
-2026-03-19T05:47:50.041Z LOG [Lifecycle] initContext:resolved-config {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","isMultimodalInit":false}
-2026-03-19T05:47:50.044Z LOG [Lifecycle] attempt to release
-2026-03-19T05:47:50.245Z LOG [Lifecycle] initContext:model-summary {"model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf","filename":"Qwen3.5-0.8B-heretic-Q8_0.gguf","origin":"local","path":"/data/user/0/com.pocketpalai/files/models/local/Qwen3.5-0.8B-heretic-Q8_0.gguf"},"multimodal":{"requested":false},"initParams":{"n_ctx":2048,"n_batch":512,"n_ubatch":512,"n_threads":6,"n_gpu_layers":0,"cache_type_k":"f16","cache_type_v":"f16","use_mmap":true,"use_mlock":false}}
-2026-03-19T05:48:02.017Z LOG [Lifecycle] init time: 11772
-2026-03-19T05:48:02.018Z LOG [Lifecycle] template: {%- set image_count = namespace(value=0) %}
-{%- set video_count = namespace(value=0) %}
-{%- macro render_content(content, do_vision_count, is_system_content=false) %}
- {%- if content is string %}
- {{- content }}
- {%- elif content is iterable and content is not mapping %}
- {%- for item in content %}
- {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
- {%- if is_system_content %}
- {{- raise_exception('System message cannot contain images.') }}
- {%- endif %}
- {%- if do_vision_count %}
- {%- set image_count.value = image_count.value + 1 %}
- {%- endif %}
- {%- if add_vision_id %}
- {{- 'Picture ' ~ image_count.value ~ ': ' }}
- {%- endif %}
- {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
- {%- elif 'video' in item or item.type == 'video' %}
- {%- if is_system_content %}
- {{- raise_exception('System message cannot contain videos.') }}
- {%- endif %}
- {%- if do_vision_count %}
- {%- set video_count.value = video_count.value + 1 %}
- {%- endif %}
- {%- if add_vision_id %}
- {{- 'Video ' ~ video_count.value ~ ': ' }}
- {%- endif %}
- {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
- {%- elif 'text' in item %}
- {{- item.text }}
- {%- else %}
- {{- raise_exception('Unexpected item type in content.') }}
- {%- endif %}
- {%- endfor %}
- {%- elif content is none or content is undefined %}
- {{- '' }}
- {%- else %}
- {{- raise_exception('Unexpected content type.') }}
- {%- endif %}
-{%- endmacro %}
-{%- if not messages %}
- {{- raise_exception('No messages provided.') }}
-{%- endif %}
-{%- if tools and tools is iterable and tools is not mapping %}
- {{- '<|im_start|>system\n' }}
- {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
- {%- for tool in tools %}
- {{- "\n" }}
- {{- tool | tojson }}
- {%- endfor %}
- {{- "\n" }}
- {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
- {%- if messages[0].role == 'system' %}
- {%- set content = render_content(messages[0].content, false, true)|trim %}
- {%- if content %}
- {{- '\n\n' + content }}
- {%- endif %}
- {%- endif %}
- {{- '<|im_end|>\n' }}
-{%- else %}
- {%- if messages[0].role == 'system' %}
- {%- set content = render_content(messages[0].content, false, true)|trim %}
- {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
- {%- endif %}
-{%- endif %}
-{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
-{%- for message in messages[::-1] %}
- {%- set index = (messages|length - 1) - loop.index0 %}
- {%- if ns.multi_step_tool and message.role == "user" %}
- {%- set content = render_content(message.content, false)|trim %}
- {%- if not(content.startswith('') and content.endswith('')) %}
- {%- set ns.multi_step_tool = false %}
- {%- set ns.last_query_index = index %}
- {%- endif %}
- {%- endif %}
-{%- endfor %}
-{%- if ns.multi_step_tool %}
- {{- raise_exception('No user query found in messages.') }}
-{%- endif %}
-{%- for message in messages %}
- {%- set content = render_content(message.content, true)|trim %}
- {%- if message.role == "system" %}
- {%- if not loop.first %}
- {{- raise_exception('System message must be at the beginning.') }}
- {%- endif %}
- {%- elif message.role == "user" %}
- {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
- {%- elif message.role == "assistant" %}
- {%- set reasoning_content = '' %}
- {%- if message.reasoning_content is string %}
- {%- set reasoning_content = message.reasoning_content %}
- {%- else %}
- {%- if '' in content %}
- {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
- {%- set content = content.split('')[-1].lstrip('\n') %}
- {%- endif %}
- {%- endif %}
- {%- set reasoning_content = reasoning_content|trim %}
- {%- if loop.index0 > ns.last_query_index %}
- {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
- {%- else %}
- {{- '<|im_start|>' + message.role + '\n' + content }}
- {%- endif %}
- {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
- {%- for tool_call in message.tool_calls %}
- {%- if tool_call.function is defined %}
- {%- set tool_call = tool_call.function %}
- {%- endif %}
- {%- if loop.first %}
- {%- if content|trim %}
- {{- '\n\n\n\n' }}
- {%- else %}
- {{- '\n\n' }}
- {%- endif %}
- {%- else %}
- {{- '\n\n\n' }}
- {%- endif %}
- {%- if tool_call.arguments is defined %}
- {%- for args_name, args_value in tool_call.arguments|items %}
- {{- '\n' }}
- {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
- {{- args_value }}
- {{- '\n\n' }}
- {%- endfor %}
- {%- endif %}
- {{- '\n' }}
- {%- endfor %}
- {%- endif %}
- {{- '<|im_end|>\n' }}
- {%- elif message.role == "tool" %}
- {%- if loop.previtem and loop.previtem.role != "tool" %}
- {{- '<|im_start|>user' }}
- {%- endif %}
- {{- '\n\n' }}
- {{- content }}
- {{- '\n' }}
- {%- if not loop.last and loop.nextitem.role != "tool" %}
- {{- '<|im_end|>\n' }}
- {%- elif loop.last %}
- {{- '<|im_end|>\n' }}
- {%- endif %}
- {%- else %}
- {{- raise_exception('Unexpected message role.') }}
- {%- endif %}
-{%- endfor %}
-{%- if add_generation_prompt %}
- {{- '<|im_start|>assistant\n' }}
- {%- if enable_thinking is defined and enable_thinking is false %}
- {{- '\n\n\n\n' }}
- {%- else %}
- {{- '\n' }}
- {%- endif %}
-{%- endif %}
-2026-03-19T05:48:02.018Z LOG [Lifecycle] context template (gguf): {%- set image_count = namespace(value=0) %}
-{%- set video_count = namespace(value=0) %}
-{%- macro render_content(content, do_vision_count, is_system_content=false) %}
- {%- if content is string %}
- {{- content }}
- {%- elif content is iterable and content is not mapping %}
- {%- for item in content %}
- {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
- {%- if is_system_content %}
- {{- raise_exception('System message cannot contain images.') }}
- {%- endif %}
- {%- if do_vision_count %}
- {%- set image_count.value = image_count.value + 1 %}
- {%- endif %}
- {%- if add_vision_id %}
- {{- 'Picture ' ~ image_count.value ~ ': ' }}
- {%- endif %}
- {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
- {%- elif 'video' in item or item.type == 'video' %}
- {%- if is_system_content %}
- {{- raise_exception('System message cannot contain videos.') }}
- {%- endif %}
- {%- if do_vision_count %}
- {%- set video_count.value = video_count.value + 1 %}
- {%- endif %}
- {%- if add_vision_id %}
- {{- 'Video ' ~ video_count.value ~ ': ' }}
- {%- endif %}
- {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
- {%- elif 'text' in item %}
- {{- item.text }}
- {%- else %}
- {{- raise_exception('Unexpected item type in content.') }}
- {%- endif %}
- {%- endfor %}
- {%- elif content is none or content is undefined %}
- {{- '' }}
- {%- else %}
- {{- raise_exception('Unexpected content type.') }}
- {%- endif %}
-{%- endmacro %}
-{%- if not messages %}
- {{- raise_exception('No messages provided.') }}
-{%- endif %}
-{%- if tools and tools is iterable and tools is not mapping %}
- {{- '<|im_start|>system\n' }}
- {{- "# Tools\n\nYou have access to the following functions:\n\n" }}
- {%- for tool in tools %}
- {{- "\n" }}
- {{- tool | tojson }}
- {%- endfor %}
- {{- "\n" }}
- {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n\n\n\nvalue_1\n\n\nThis is the value for the second parameter\nthat can span\nmultiple lines\n\n\n\n\n\nReminder:\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n' }}
- {%- if messages[0].role == 'system' %}
- {%- set content = render_content(messages[0].content, false, true)|trim %}
- {%- if content %}
- {{- '\n\n' + content }}
- {%- endif %}
- {%- endif %}
- {{- '<|im_end|>\n' }}
-{%- else %}
- {%- if messages[0].role == 'system' %}
- {%- set content = render_content(messages[0].content, false, true)|trim %}
- {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
- {%- endif %}
-{%- endif %}
-{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
-{%- for message in messages[::-1] %}
- {%- set index = (messages|length - 1) - loop.index0 %}
- {%- if ns.multi_step_tool and message.role == "user" %}
- {%- set content = render_content(message.content, false)|trim %}
- {%- if not(content.startswith('') and content.endswith('')) %}
- {%- set ns.multi_step_tool = false %}
- {%- set ns.last_query_index = index %}
- {%- endif %}
- {%- endif %}
-{%- endfor %}
-{%- if ns.multi_step_tool %}
- {{- raise_exception('No user query found in messages.') }}
-{%- endif %}
-{%- for message in messages %}
- {%- set content = render_content(message.content, true)|trim %}
- {%- if message.role == "system" %}
- {%- if not loop.first %}
- {{- raise_exception('System message must be at the beginning.') }}
- {%- endif %}
- {%- elif message.role == "user" %}
- {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
- {%- elif message.role == "assistant" %}
- {%- set reasoning_content = '' %}
- {%- if message.reasoning_content is string %}
- {%- set reasoning_content = message.reasoning_content %}
- {%- else %}
- {%- if '' in content %}
- {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %}
- {%- set content = content.split('')[-1].lstrip('\n') %}
- {%- endif %}
- {%- endif %}
- {%- set reasoning_content = reasoning_content|trim %}
- {%- if loop.index0 > ns.last_query_index %}
- {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content + '\n\n\n' + content }}
- {%- else %}
- {{- '<|im_start|>' + message.role + '\n' + content }}
- {%- endif %}
- {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
- {%- for tool_call in message.tool_calls %}
- {%- if tool_call.function is defined %}
- {%- set tool_call = tool_call.function %}
- {%- endif %}
- {%- if loop.first %}
- {%- if content|trim %}
- {{- '\n\n\n\n' }}
- {%- else %}
- {{- '\n\n' }}
- {%- endif %}
- {%- else %}
- {{- '\n\n\n' }}
- {%- endif %}
- {%- if tool_call.arguments is mapping %}
- {%- for args_name in tool_call.arguments %}
- {%- set args_value = tool_call.arguments[args_name] %}
- {{- '\n' }}
- {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
- {{- args_value }}
- {{- '\n\n' }}
- {%- endfor %}
- {%- endif %}
- {{- '\n' }}
- {%- endfor %}
- {%- endif %}
- {{- '<|im_end|>\n' }}
- {%- elif message.role == "tool" %}
- {%- if loop.previtem and loop.previtem.role != "tool" %}
- {{- '<|im_start|>user' }}
- {%- endif %}
- {{- '\n\n' }}
- {{- content }}
- {{- '\n' }}
- {%- if not loop.last and loop.nextitem.role != "tool" %}
- {{- '<|im_end|>\n' }}
- {%- elif loop.last %}
- {{- '<|im_end|>\n' }}
- {%- endif %}
- {%- else %}
- {{- raise_exception('Unexpected message role.') }}
- {%- endif %}
-{%- endfor %}
-{%- if add_generation_prompt %}
- {{- '<|im_start|>assistant\n' }}
- {%- if enable_thinking is defined and enable_thinking is true %}
- {{- '\n' }}
- {%- else %}
- {{- '\n\n\n\n' }}
- {%- endif %}
-{%- endif %}
-2026-03-19T05:48:02.019Z LOG [Lifecycle] [ModelStore] template summary: {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","modelTemplateLength":7756}
-2026-03-19T05:48:02.019Z LOG [PromptBuild] template:metadata {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","modelFilename":"Qwen3.5-0.8B-heretic-Q8_0.gguf","modelTemplateName":"custom","modelTemplateLength":7756,"contextTemplateLength":7816,"contextTemplatePreview":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}","architecture":"qwen35","modelTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n' }}\n {%- endif %}\n{%- endif %}","contextTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}","tokenizerMetadata":{"eosTokenId":"248046","tokenizerModel":"gpt2"}}
-2026-03-19T05:48:02.021Z LOG [Lifecycle] [ModelStore] stopTokens summary: {"modelId":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","count":3}
-2026-03-19T05:48:08.696Z LOG [PromptBuild] prepareCompletion:messages {"messageCount":1,"hasImages":false,"isMultimodalEnabled":false,"lastUserMessage":{"type":"text","textLength":13}}
-2026-03-19T05:48:08.703Z LOG [EngineInput] thinking-diagnostic {"requestId":"1773899288697-awwrg3","getFormattedChatResultType":"object","hasThinkTag":true,"hasEnableThinkingInTemplate":false,"promptPreview":"<|im_start|>user\n帮我生成一个1万字的小说。<|im_end|>\n<|im_start|>assistant\n\n","promptLength":71}
-2026-03-19T05:48:08.703Z LOG [EngineInput] request {"requestId":"1773899288697-awwrg3","completionTransport":"messages-api","model":{"id":"d2d77437-a61f-4f32-b74b-9d78e412fe4d","name":"Qwen3.5-0.8B-heretic-Q8_0.gguf"},"input":{"userMessageLength":13,"imageCount":0,"systemMessageCount":0},"settings":{"temperature":0.7,"top_k":40,"top_p":0.95,"min_p":0.05,"seed":-1,"n_predict":1024,"enable_thinking":true,"reasoning_format":"auto","stop":["","<|im_end|>"]},"template":{"effectiveInterpreter":"jinja","hasCustomTemplate":true,"isNunjucksFallback":false},"probe":{"paramKeys":["chatTemplate","enable_thinking","jinja","messages","min_p","mirostat","mirostat_eta","mirostat_tau","n_predict","n_probs","penalty_freq","penalty_last_n","penalty_present","penalty_repeat","reasoning_format","seed","stop","temperature","top_k","top_p","typical_p","xtc_probability","xtc_threshold"],"hasMessages":true,"mediaPathPreview":[],"enableThinking":true,"reasoningFormat":"auto","chatParserLength":0,"chatParserHash":"811c9dc5","preservedTokenCount":0,"preservedTokensPreview":[],"grammarTriggersCount":0,"promptDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"promptHasVisionTokens":false,"promptHasThinkTag":false,"stopCount":2,"stopPreview":["","<|im_end|>"],"suspectFlags":[]}}
-2026-03-19T05:48:08.704Z LOG [ParamSource] thinkingAssembly {"requestId":"1773899288697-awwrg3","thinkingAssembly":{"enable_thinking":true,"reasoning_format":"auto","include_thinking_in_context":true,"add_generation_prompt":true}}
-2026-03-19T05:48:08.721Z LOG [PromptBuild] prepareCompletion:params {"requestId":"1773899288697-awwrg3","completionTransport":"messages-api","template":{"selectedTemplateName":"custom","effectiveTemplateInterpreter":"jinja","modelTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n' }}\n {%- endif %}\n{%- endif %}","contextTemplateFull":"{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n\\n\\n\\nvalue_1\\n\\n\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n\\n\\n\\n\\n\\nReminder:\\n- Function calls MUST follow the specified format: an inner block must be nested within XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('') and content.endswith('')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '' in content %}\n {%- set reasoning_content = content.split('')[0].rstrip('\\n').split('')[-1].lstrip('\\n') %}\n {%- set content = content.split('')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n\\n' + reasoning_content + '\\n\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n\\n\\n' }}\n {%- else %}\n {{- '\\n\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n\\n\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is mapping %}\n {%- for args_name in tool_call.arguments %}\n {%- set args_value = tool_call.arguments[args_name] %}\n {{- '\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- '\\n\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n\\n' }}\n {{- content }}\n {{- '\\n' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- '\\n' }}\n {%- else %}\n {{- '\\n\\n\\n\\n' }}\n {%- endif %}\n{%- endif %}"},"systemMessages":[],"contextMetadata":{"architecture":"qwen35","eosTokenId":"248046","chatTemplateHash":"84b954b8"}}
-2026-03-19T05:48:09.000Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":250,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:48:09.820Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":1000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:48:10.536Z LOG [EngineOutput] completion:anomalous-chunk {"requestId":"1773899288697-awwrg3","streamChunkCount":45,"callbackKeys":["token","reasoning_content","accumulated_text"],"tokenPreview":" **","contentDiag":{"length":0,"hash":"811c9dc5","asciiRatio":0,"symbolRatio":0,"digitRatio":0,"whitespaceRatio":0,"repeatedCharMaxRun":0,"repeatedBigramTop":"","repeatedBigramCount":0,"preview":""},"reasoningDiag":{"length":139,"hash":"ff9a44a1","asciiRatio":0.971,"symbolRatio":0.144,"digitRatio":0.043,"whitespaceRatio":0.245,"repeatedCharMaxRun":4,"repeatedBigramTop":" ","repeatedBigramCount":11,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **"}}
-2026-03-19T05:48:11.746Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":3000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:48:16.879Z LOG [EngineOutput] completion:native-call-heartbeat {"elapsedMs":8000,"requestId":"1773899288697-awwrg3","transport":"messages-api","nativeBridgeReturned":true,"firstNativeChunkSeen":true,"completionSettled":false,"isStreaming":true,"inferencing":true}
-2026-03-19T05:48:52.901Z LOG [EngineOutput] completion:result {"requestId":"1773899288697-awwrg3","timings":{"cache_n":1041,"prompt_n":18,"prompt_ms":185.298,"prompt_per_token_ms":10.294333333333334,"prompt_per_second":97.14082181135252,"predicted_n":1023,"predicted_ms":43321.418,"predicted_per_token_ms":42.34742717497556,"predicted_per_second":23.614185482109566},"time_to_first_token_ms":202,"streamChunkCount":1024,"firstCallbackKeys":["token","reasoning_content","accumulated_text"],"firstTokenPreview":"Here","finalTextDiag":{"length":3922,"hash":"86113fb6","asciiRatio":0.976,"symbolRatio":0.082,"digitRatio":0.011,"whitespaceRatio":0.233,"repeatedCharMaxRun":8,"repeatedBigramTop":" ","repeatedBigramCount":282,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **Language:** Chinese.\n * **Challenge:** A 10,000-word novel is quite long for a single response. A human can't easily write 10k words in a chat without hitting token limits or feeling repetitive.\n * **Strategy:** I need to maximize word count while maintaining quality and flow. This means:\n * Setting a good scene (character-driven, world-building).\n * Developing a complex plot (multi-plot, interweaving).\n * Using metaphors and imagery to expand.\n * Maintaining a consistent tone (mystery, suspense, or fantasy).\n * Filling in gaps with subplots, character arcs, and descriptions.\n * Formatting the response to look like a full story (beginning, middle, end).\n * **Constraint:** Since I am an AI, I need to ensure the text flows naturally and doesn't look like a rigid list of paragraphs. I will aim for a \"novel\" structure: Title, Plot Summary, Chapter Breakdown, Character Introductions, and Endings.\n\n2. **Determine the Genre & Tone:**\n * Genre: Sci-Fi / Mystery / Urban Fantasy.\n * Tone: Introspective, slightly melancholic, grounded in modern Chinese culture.\n * Theme: Memory, identity, connection, the passage of time.\n\n3. **Outline the Structure:**\n * **Title:** 《时光的裂痕》 (Cracks of Time) or《记忆的重量》 (Weight of Memory). Let's go with《时光的裂痕》 (Time's Cracks) because it allows for a narrative about memory and identity.\n * **Characters:**\n * Protagonist: Lin Yuan (Lin Yuan).\n * Antagonist/Conflict: The Architect (The old man).\n * Supporting: A visitor or a lost friend.\n * **Plot Outline:**\n * Chapter 1: Introduction to the setting and the protagonist's dilemma.\n * Chapter 2: The discovery of the \"Lost Timeline\".\n * Chapter 3: The journey through the time loop.\n * Chapter 4: The climax – finding the truth about the timeline.\n * Chapter 5: Resolution and the meaning of the \"Time Cracks\".\n * **Word Count Management:** To hit ~10,000 words, I need to expand on descriptions, internal monologues, and dialogue.\n\n4. **Drafting - Section by Section (Mental or Scratchpad):**\n\n * *Title:* 《时光的裂痕》 (Time's Cracks) - Wait, let's make it more poetic. 《旧时光的裂痕》(Cracks in the Old Time). Let's use the prompt's request for \"10,000 words\". To ensure I reach the count without hitting a token limit too quickly, I will write a long, detailed chapter structure.\n\n * *Setting:* Modern city. Shanghai or Beijing. Let's choose a bustling, slightly dystopian city. \"The city of silence\" (The City of Silence). No, \"The City of Echoes\".\n * *Plot:* Lin Yuan finds a timeline that loops back to the past. The \"Time Cracks\" are the threads connecting the past.\n * *Characters:* Lin Yuan (protagonist), The Old Man (mentor/father figure), The Clockmaker (the antagonist).\n\n * *Expansion Technique:*\n * Describe the city in detail.\n * Describe the characters' internal states (emotions, memories).\n * Use dialogue to drive the narrative.\n * Add a sub-plot: A lost generation or a specific memory.\n * Include a climax scene that ends the story.\n\n5. **Writing Strategy for Length:**\n * I will write the story in a continuous narrative style, expanding on descriptions.\n * I will include a \"Chapter Summary\" at the beginning to set the stage for the 10,000 words.\n * I will write in a way that feels like a novel, not a list.\n\n *(Self-Correction during drafting)*: 10,000 words is a lot for a chat response. I need to be mindful of the token limit. I will focus on high-quality narrative and ensure the story flows continuously. I will aim for a very long, detailed chapter structure to ensure the word count is met.\n\n *Plan:*"},"finalReasoningDiag":{"length":3922,"hash":"86113fb6","asciiRatio":0.976,"symbolRatio":0.082,"digitRatio":0.011,"whitespaceRatio":0.233,"repeatedCharMaxRun":8,"repeatedBigramTop":" ","repeatedBigramCount":282,"preview":"Here's a thinking process that leads to the novel:\n\n1. **Analyze the Request:**\n * **Task:** Generate a 10,000-word novel.\n * **Language:** Chinese.\n * **Challenge:** A 10,000-word novel is quite long for a single response. A human can't easily write 10k words in a chat without hitting token limits or feeling repetitive.\n * **Strategy:** I need to maximize word count while maintaining quality and flow. This means:\n * Setting a good scene (character-driven, world-building).\n * Developing a complex plot (multi-plot, interweaving).\n * Using metaphors and imagery to expand.\n * Maintaining a consistent tone (mystery, suspense, or fantasy).\n * Filling in gaps with subplots, character arcs, and descriptions.\n * Formatting the response to look like a full story (beginning, middle, end).\n * **Constraint:** Since I am an AI, I need to ensure the text flows naturally and doesn't look like a rigid list of paragraphs. I will aim for a \"novel\" structure: Title, Plot Summary, Chapter Breakdown, Character Introductions, and Endings.\n\n2. **Determine the Genre & Tone:**\n * Genre: Sci-Fi / Mystery / Urban Fantasy.\n * Tone: Introspective, slightly melancholic, grounded in modern Chinese culture.\n * Theme: Memory, identity, connection, the passage of time.\n\n3. **Outline the Structure:**\n * **Title:** 《时光的裂痕》 (Cracks of Time) or《记忆的重量》 (Weight of Memory). Let's go with《时光的裂痕》 (Time's Cracks) because it allows for a narrative about memory and identity.\n * **Characters:**\n * Protagonist: Lin Yuan (Lin Yuan).\n * Antagonist/Conflict: The Architect (The old man).\n * Supporting: A visitor or a lost friend.\n * **Plot Outline:**\n * Chapter 1: Introduction to the setting and the protagonist's dilemma.\n * Chapter 2: The discovery of the \"Lost Timeline\".\n * Chapter 3: The journey through the time loop.\n * Chapter 4: The climax – finding the truth about the timeline.\n * Chapter 5: Resolution and the meaning of the \"Time Cracks\".\n * **Word Count Management:** To hit ~10,000 words, I need to expand on descriptions, internal monologues, and dialogue.\n\n4. **Drafting - Section by Section (Mental or Scratchpad):**\n\n * *Title:* 《时光的裂痕》 (Time's Cracks) - Wait, let's make it more poetic. 《旧时光的裂痕》(Cracks in the Old Time). Let's use the prompt's request for \"10,000 words\". To ensure I reach the count without hitting a token limit too quickly, I will write a long, detailed chapter structure.\n\n * *Setting:* Modern city. Shanghai or Beijing. Let's choose a bustling, slightly dystopian city. \"The city of silence\" (The City of Silence). No, \"The City of Echoes\".\n * *Plot:* Lin Yuan finds a timeline that loops back to the past. The \"Time Cracks\" are the threads connecting the past.\n * *Characters:* Lin Yuan (protagonist), The Old Man (mentor/father figure), The Clockmaker (the antagonist).\n\n * *Expansion Technique:*\n * Describe the city in detail.\n * Describe the characters' internal states (emotions, memories).\n * Use dialogue to drive the narrative.\n * Add a sub-plot: A lost generation or a specific memory.\n * Include a climax scene that ends the story.\n\n5. **Writing Strategy for Length:**\n * I will write the story in a continuous narrative style, expanding on descriptions.\n * I will include a \"Chapter Summary\" at the beginning to set the stage for the 10,000 words.\n * I will write in a way that feels like a novel, not a list.\n\n *(Self-Correction during drafting)*: 10,000 words is a lot for a chat response. I need to be mindful of the token limit. I will focus on high-quality narrative and ensure the story flows continuously. I will aim for a very long, detailed chapter structure to ensure the word count is met.\n\n *Plan:*"}}
-2026-03-19T05:49:59.834Z LOG Pal store initialized
-2026-03-19T05:49:59.834Z LOG Pal store initialized
-2026-03-19T05:49:59.834Z LOG Pals number: 0
-2026-03-19T05:49:59.840Z WARN [🍉] JSI SQLiteAdapter not available… falling back to asynchronous operation. This will happen if you're using remote debugger, and may happen if you forgot to recompile native app after WatermelonDB update
-2026-03-19T05:49:59.841Z LOG [Lifecycle] App state change: active → active
-2026-03-19T05:49:59.861Z LOG [Lifecycle] [ModelStore] models summary: {"total":11,"downloaded":1,"local":1}
-2026-03-19T05:49:59.866Z LOG Pal database migration already completed
-2026-03-19T05:49:59.921Z LOG Lookie pal already exists, skipping creation
-2026-03-19T05:49:59.921Z LOG Pal store initialization completed
-2026-03-19T05:50:01.931Z LOG Checking for settings that need migration...
-2026-03-19T05:50:01.935Z LOG Found 0 session settings and 0 global settings that need migration
-2026-03-19T05:50:01.936Z LOG No settings need migration
\ No newline at end of file
From 7061e6fec71079622f5ef37c498e4106a0b1a8ad Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Thu, 19 Mar 2026 09:03:27 +0000
Subject: [PATCH 077/240] Update README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index bd7db8912..ba1e810fa 100644
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@ Only two JS remain on the entire pipeline.
### Version Notes & Compatibility
the new llama version 0.11.3 (app-1.12.2 This repository is also developed based on this version) can control Qwen 3.5's thinking capabilities. In the default template, versions of 9B and above possess both enable/disable functions for thinking, whereas versions below 9B do not have this feature by default. Simply copy the 9B template and apply it to the 4B, 2B, and 0.8B models; you will then be able to control thinking with the new version!!!
-Please note that when you turn off the "resemble format" (RF button), your thinking chain will merge into the main text and thus won't appear in the thinking box. The next context will still carry over the thinking process, which I think is unnecessary to change since resemble format is usually disabled anyway.
+Please note that when you turn off the "resemble format" (RF button), your thinking chain will merge into the main text and thus won't appear in the thinking box.
in the older llama version 0.11.0 (app-1.11.21)can you control their thinking without configuring templates for the 4B, 2B, and 0.8B models. This repository also includes a branch specifically designed to be compatible with llama version 0.11.0; please note that under the Android framework, engine switching is not possible—you can only have one engine per app.
@@ -73,7 +73,7 @@ I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabli
-
+Add a progress bar featuring location markers for each conversation, along with up/down navigation toggles to quickly jump between different conversations.
From 8353ff5b66f115840f999bbafa8d9ce0c655c464 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 09:13:32 +0000
Subject: [PATCH 078/240] =?UTF-8?q?=E8=BE=93=E5=87=BA=E9=99=90=E5=88=B6?=
=?UTF-8?q?=E5=8F=96=E6=B6=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/completionSettingsVersions.ts | 2 +-
src/utils/modelSettings.ts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/utils/completionSettingsVersions.ts b/src/utils/completionSettingsVersions.ts
index 5bfb6d650..d111ab77d 100644
--- a/src/utils/completionSettingsVersions.ts
+++ b/src/utils/completionSettingsVersions.ts
@@ -27,7 +27,7 @@ export const defaultCompletionParams: CompletionParams = {
// llama.rn API properties
prompt: '',
- n_predict: 1024, // The maximum number of tokens to predict when generating text.
+ n_predict: -1, // The maximum number of tokens to predict (-1 = unlimited).
temperature: 0.7, // The randomness of the generated text.
top_k: 40, // Limit the next token selection to the K most probable tokens.
top_p: 0.95, // Limit the next token selection to a subset of tokens with a cumulative probability above a threshold P.
diff --git a/src/utils/modelSettings.ts b/src/utils/modelSettings.ts
index ed81b1e24..14a791fa8 100644
--- a/src/utils/modelSettings.ts
+++ b/src/utils/modelSettings.ts
@@ -32,7 +32,7 @@ export const COMPLETION_PARAMS_METADATA: Partial<
defaultValue: defaultCompletionParams.n_threads,
},
n_predict: {
- validation: {type: 'numeric', min: 1, max: 4096, required: true},
+ validation: {type: 'numeric', min: -1, max: Infinity, required: true},
defaultValue: defaultCompletionParams.n_predict,
},
temperature: {
From 7c6495cff308ca635aa59db6b10add1daaebbff0 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 09:58:14 +0000
Subject: [PATCH 079/240] =?UTF-8?q?=E9=87=8D=E5=86=99=E8=BF=9B=E5=BA=A6?=
=?UTF-8?q?=E6=9D=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ChatNavigationBar/ChatNavigationBar.tsx | 21 +-
src/components/ChatNavigationBar/styles.ts | 2 +-
src/components/ChatView/ChatView.tsx | 191 ++++++++++--------
3 files changed, 124 insertions(+), 90 deletions(-)
diff --git a/src/components/ChatNavigationBar/ChatNavigationBar.tsx b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
index 3e4adf13a..3ab277a45 100644
--- a/src/components/ChatNavigationBar/ChatNavigationBar.tsx
+++ b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
@@ -7,15 +7,17 @@ import {createStyles} from './styles';
export interface UserMessageNode {
/** Index in the FlatList data array */
index: number;
- /** Relative position 0..1 within the visible progress window */
+ /** Relative position 0..1 within the track (0 = top/oldest, 1 = bottom/newest) */
position: number;
}
interface ChatNavigationBarProps {
- /** Node markers representing user message positions (0..1 in the window) */
+ /** Node markers representing user message positions (0..1) */
nodes: UserMessageNode[];
- /** Current scroll position as fraction 0..1 within the window */
- scrollFraction: number;
+ /** Top edge of the thumb as fraction 0..1 */
+ thumbTop: number;
+ /** Height of the thumb as fraction 0..1 (viewport / content ratio) */
+ thumbHeight: number;
/** Called when user presses "up" (previous user message) */
onPrevious: () => void;
/** Called when user presses "down" (next user message) */
@@ -27,7 +29,7 @@ interface ChatNavigationBarProps {
}
export const ChatNavigationBar: React.FC = React.memo(
- ({nodes, scrollFraction, onPrevious, onNext, visible, bottomOffset = 0}) => {
+ ({nodes, thumbTop, thumbHeight, onPrevious, onNext, visible, bottomOffset = 0}) => {
const theme = useTheme();
const styles = createStyles(theme);
@@ -35,8 +37,8 @@ export const ChatNavigationBar: React.FC = React.memo(
return null;
}
- // Clamp scroll fraction to 0..1
- const clampedFraction = Math.max(0, Math.min(1, scrollFraction));
+ const clampedTop = Math.max(0, Math.min(1, thumbTop));
+ const clampedHeight = Math.max(0.02, Math.min(1, thumbHeight));
return (
= React.memo(
/>
))}
- {/* Thumb indicator showing current position */}
+ {/* Thumb indicator representing current viewport */}
diff --git a/src/components/ChatNavigationBar/styles.ts b/src/components/ChatNavigationBar/styles.ts
index f52453be0..66b24b360 100644
--- a/src/components/ChatNavigationBar/styles.ts
+++ b/src/components/ChatNavigationBar/styles.ts
@@ -60,7 +60,7 @@ export const createStyles = (theme: Theme) =>
position: 'absolute',
left: -2,
width: 10,
- height: 14,
+ minHeight: 8,
borderRadius: 5,
backgroundColor: theme.colors.primary,
opacity: 0.7,
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index c6a75ffe9..a53100413 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -473,85 +473,109 @@ export const ChatView = observer(
return indices;
}, [chatMessages, user.id]);
- // Compute navigation bar props
+ // Build cumulative height array from measured item heights.
+ // cumH[i] = pixel offset from bottom to the top edge of item i.
+ // Reused by navBarProps and navigation handlers.
+ const buildCumulativeHeights = React.useCallback(() => {
+ const len = chatMessages.length;
+ const totalH = navContentHeight;
+ const avgH = totalH / Math.max(1, len);
+ const heights = itemHeightsRef.current;
+ const cumH = new Float64Array(len + 1);
+ for (let i = 0; i < len; i++) {
+ cumH[i + 1] = cumH[i] + (heights.get(i) ?? avgH);
+ }
+ // Scale so cumulative total matches actual contentSize
+ const measured = cumH[len];
+ const scale = measured > 0 ? totalH / measured : 1;
+ if (scale !== 1) {
+ for (let i = 1; i <= len; i++) {
+ cumH[i] *= scale;
+ }
+ }
+ return cumH;
+ }, [chatMessages.length, navContentHeight]);
+
+ // Compute navigation bar props.
+ //
+ // Model (full-content mode, totalH ≤ MAX_WINDOW_PX):
+ // Track = entire content (0 = oldest/top, 1 = newest/bottom)
+ // Thumb = current viewport (has height proportional to viewport/content)
+ // Node = user message position in content
+ // Alignment: thumb TOP touches node marker ↔ message at screen top
+ //
+ // In inverted FlatList: scrollY=0 → bottom (newest), scrollY grows → top (older)
+ // Mapping to track: fraction = 1 − pixelFromBottom / totalH
+ // pixelFromBottom=0 (newest) → fraction=1 (track bottom)
+ // pixelFromBottom=totalH (oldest) → fraction=0 (track top)
+ //
+ // Thumb top = 1 − (scrollY + viewportH) / totalH (top of viewport)
+ // Thumb height = viewportH / totalH
+ // Node position = 1 − pixelFromBottom / totalH
const navBarProps = React.useMemo(() => {
if (
chatMessages.length === 0 ||
navContentHeight === 0 ||
navViewportHeight === 0
) {
- return {nodes: [] as UserMessageNode[], scrollFraction: 0};
+ return {
+ nodes: [] as UserMessageNode[],
+ thumbTop: 0,
+ thumbHeight: 1,
+ };
}
const totalH = navContentHeight;
- const maxScroll = Math.max(1, totalH - navViewportHeight);
- // Determine window range:
- // - Content ≤ MAX_WINDOW_PX (~1000 lines): show ALL content in the track
- // - Content > MAX_WINDOW_PX: sliding window around current viewport
- let windowStart: number;
- let windowEnd: number;
+ // Determine window for the track
+ let winStart: number;
+ let winSize: number;
if (totalH <= MAX_WINDOW_PX) {
- // Full-content mode: entire document fits on the progress bar
- windowStart = 0;
- windowEnd = totalH;
+ winStart = 0;
+ winSize = totalH;
} else {
- // Windowed mode: show MAX_WINDOW_PX around current viewport
const visibleTop = navScrollY + navViewportHeight;
- windowEnd = visibleTop;
- windowStart = Math.max(0, windowEnd - MAX_WINDOW_PX);
+ winStart = Math.max(0, visibleTop - MAX_WINDOW_PX);
+ winSize = Math.min(totalH, MAX_WINDOW_PX);
}
- const windowSize = windowEnd - windowStart;
- if (windowSize === 0) {
- return {nodes: [] as UserMessageNode[], scrollFraction: 0};
- }
-
- // Map scroll position to 0..1 within the window
- // scrollY=0 (bottom) → fraction=1, scrollY=maxScroll (top) → fraction≈0
- const scrollFraction = 1 - navScrollY / maxScroll;
+ // Thumb: maps viewport position within the window
+ const vpTop = navScrollY + navViewportHeight; // top of viewport (pixels from bottom)
+ const vpBot = navScrollY; // bottom of viewport
+ const thumbTop = 1 - (vpTop - winStart) / winSize;
+ const thumbHeight = navViewportHeight / winSize;
- // Compute cumulative heights using actual measured heights when available,
- // falling back to average for unmeasured items.
- const avgItemHeight = totalH / Math.max(1, chatMessages.length);
- const heights = itemHeightsRef.current;
-
- // Build cumulative height array: cumH[i] = sum of heights[0..i-1]
- // In inverted list, index 0 is at bottom, so cumH[idx] = pixel offset
- // from the bottom to the top edge of item idx.
- const cumH = new Float64Array(chatMessages.length + 1);
- for (let i = 0; i < chatMessages.length; i++) {
- cumH[i + 1] = cumH[i] + (heights.get(i) ?? avgItemHeight);
- }
-
- // Scale factor: measured cumulative total may differ from actual
- // contentSize (due to separators, headers, footers, etc.)
- const measuredTotal = cumH[chatMessages.length];
- const scale = measuredTotal > 0 ? totalH / measuredTotal : 1;
+ // Build cumulative heights
+ const cumH = buildCumulativeHeights();
+ // Node markers
const nodes: UserMessageNode[] = [];
-
- // Node position formula: align with thumb when the message is at
- // the top of viewport. When scrollY = pixelFromBottom - viewportH,
- // scrollFraction = 1 - (pixelFromBottom - viewportH) / maxScroll.
- // So node position = 1 - max(0, pixelFromBottom - viewportH) / maxScroll.
userMessageIndices.forEach(idx => {
- const pixelFromBottom = cumH[idx] * scale;
- if (pixelFromBottom >= windowStart && pixelFromBottom <= windowEnd) {
- const scrollYWhenAtTop = Math.max(
- 0,
- pixelFromBottom - navViewportHeight,
- );
- const position = Math.max(
- 0,
- Math.min(1, 1 - scrollYWhenAtTop / maxScroll),
- );
+ const pxFromBottom = cumH[idx];
+ if (pxFromBottom >= winStart && pxFromBottom <= winStart + winSize) {
+ const position = 1 - (pxFromBottom - winStart) / winSize;
nodes.push({index: idx, position});
}
});
- return {nodes, scrollFraction};
+ // Also include nodes for messages currently inside the viewport
+ // (between vpBot and vpTop) to ensure they're always visible
+ if (totalH > MAX_WINDOW_PX) {
+ userMessageIndices.forEach(idx => {
+ const pxFromBottom = cumH[idx];
+ if (
+ pxFromBottom >= vpBot &&
+ pxFromBottom <= vpTop &&
+ !nodes.some(n => n.index === idx)
+ ) {
+ const position = 1 - (pxFromBottom - winStart) / winSize;
+ nodes.push({index: idx, position});
+ }
+ });
+ }
+
+ return {nodes, thumbTop, thumbHeight};
}, [
chatMessages.length,
navContentHeight,
@@ -559,37 +583,27 @@ export const ChatView = observer(
navScrollY,
userMessageIndices,
MAX_WINDOW_PX,
+ buildCumulativeHeights,
]);
- // Helper: find which item index the current scroll position corresponds to,
- // using actual measured heights when available.
- const findCurrentItemIndex = React.useCallback(() => {
- const heights = itemHeightsRef.current;
- const avgH = navContentHeight / Math.max(1, chatMessages.length);
- let cumH = 0;
- for (let i = 0; i < chatMessages.length; i++) {
- cumH += heights.get(i) ?? avgH;
- if (cumH > navScrollY) {
- return i;
- }
- }
- return chatMessages.length - 1;
- }, [navContentHeight, navScrollY, chatMessages.length]);
-
- // Jump to previous user message (older = higher index in inverted list)
+ // Jump to previous user message (older = higher index = scroll UP).
+ // Find the first user message whose position is ABOVE the current viewport top.
const handleNavPrevious = React.useCallback(() => {
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
- const currentItem = findCurrentItemIndex();
+ const cumH = buildCumulativeHeights();
+ const vpTop = navScrollY + navViewportHeight;
+ // Find user message above viewport top (with small tolerance)
let targetIndex = -1;
for (const idx of userMessageIndices) {
- if (idx > currentItem) {
+ if (cumH[idx] > vpTop + 10) {
targetIndex = idx;
break;
}
}
+ // Wrap around to the top-most if none found above
if (targetIndex === -1 && userMessageIndices.length > 0) {
targetIndex = userMessageIndices[userMessageIndices.length - 1];
}
@@ -600,22 +614,33 @@ export const ChatView = observer(
viewPosition: 1,
});
}
- }, [userMessageIndices, navContentHeight, findCurrentItemIndex]);
+ }, [
+ userMessageIndices,
+ navContentHeight,
+ navViewportHeight,
+ navScrollY,
+ buildCumulativeHeights,
+ ]);
- // Jump to next user message (newer = lower index in inverted list)
+ // Jump to next user message (newer = lower index = scroll DOWN).
+ // Find the first user message whose position is BELOW the current viewport bottom.
const handleNavNext = React.useCallback(() => {
if (userMessageIndices.length === 0 || navContentHeight === 0) {
return;
}
- const currentItem = findCurrentItemIndex();
+ const cumH = buildCumulativeHeights();
+ const vpBot = navScrollY;
+ // Find user message below viewport bottom (with small tolerance)
let targetIndex = -1;
for (let i = userMessageIndices.length - 1; i >= 0; i--) {
- if (userMessageIndices[i] < currentItem) {
- targetIndex = userMessageIndices[i];
+ const idx = userMessageIndices[i];
+ if (cumH[idx] < vpBot - 10) {
+ targetIndex = idx;
break;
}
}
+ // Wrap around to the bottom-most if none found below
if (targetIndex === -1 && userMessageIndices.length > 0) {
targetIndex = userMessageIndices[0];
}
@@ -626,7 +651,12 @@ export const ChatView = observer(
viewPosition: 1,
});
}
- }, [userMessageIndices, navContentHeight, findCurrentItemIndex]);
+ }, [
+ userMessageIndices,
+ navContentHeight,
+ navScrollY,
+ buildCumulativeHeights,
+ ]);
// ============ MESSAGE INPUT HANDLERS ============
const wrappedOnSendPress = React.useCallback(
@@ -1195,7 +1225,8 @@ export const ChatView = observer(
{/* Chat navigation bar */}
0}
From 648d7f4725f5829f86f1a983309b9128177e4dd6 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 10:02:52 +0000
Subject: [PATCH 080/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 56 ++++++++++++----------------
1 file changed, 23 insertions(+), 33 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index a53100413..82c1bfbd7 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -527,49 +527,39 @@ export const ChatView = observer(
const totalH = navContentHeight;
- // Determine window for the track
- let winStart: number;
- let winSize: number;
-
- if (totalH <= MAX_WINDOW_PX) {
- winStart = 0;
- winSize = totalH;
- } else {
- const visibleTop = navScrollY + navViewportHeight;
- winStart = Math.max(0, visibleTop - MAX_WINDOW_PX);
- winSize = Math.min(totalH, MAX_WINDOW_PX);
- }
-
- // Thumb: maps viewport position within the window
- const vpTop = navScrollY + navViewportHeight; // top of viewport (pixels from bottom)
- const vpBot = navScrollY; // bottom of viewport
- const thumbTop = 1 - (vpTop - winStart) / winSize;
- const thumbHeight = navViewportHeight / winSize;
+ // Thumb always maps linearly to the FULL content, regardless of window.
+ // This gives a reliable sense of "where am I in the document".
+ // track top (0) = oldest content, track bottom (1) = newest content
+ // thumbTop = 1 − (scrollY + viewportH) / totalH
+ // thumbHeight = viewportH / totalH
+ const vpTop = navScrollY + navViewportHeight;
+ const thumbTop = 1 - vpTop / totalH;
+ const thumbHeight = navViewportHeight / totalH;
// Build cumulative heights
const cumH = buildCumulativeHeights();
- // Node markers
+ // Node markers: position maps linearly to FULL content (same as thumb).
+ // In windowed mode, only show markers within MAX_WINDOW_PX of viewport.
const nodes: UserMessageNode[] = [];
- userMessageIndices.forEach(idx => {
- const pxFromBottom = cumH[idx];
- if (pxFromBottom >= winStart && pxFromBottom <= winStart + winSize) {
- const position = 1 - (pxFromBottom - winStart) / winSize;
- nodes.push({index: idx, position});
- }
- });
- // Also include nodes for messages currently inside the viewport
- // (between vpBot and vpTop) to ensure they're always visible
- if (totalH > MAX_WINDOW_PX) {
+ if (totalH <= MAX_WINDOW_PX) {
+ // Full-content mode: show ALL markers
+ userMessageIndices.forEach(idx => {
+ const position = 1 - cumH[idx] / totalH;
+ nodes.push({index: idx, position});
+ });
+ } else {
+ // Windowed mode: only show markers near the viewport
+ const vpCenter = navScrollY + navViewportHeight / 2;
+ const half = MAX_WINDOW_PX / 2;
userMessageIndices.forEach(idx => {
const pxFromBottom = cumH[idx];
if (
- pxFromBottom >= vpBot &&
- pxFromBottom <= vpTop &&
- !nodes.some(n => n.index === idx)
+ pxFromBottom >= vpCenter - half &&
+ pxFromBottom <= vpCenter + half
) {
- const position = 1 - (pxFromBottom - winStart) / winSize;
+ const position = 1 - pxFromBottom / totalH;
nodes.push({index: idx, position});
}
});
From 55802c303a41e4265430c44bb195332ed3638b49 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 10:05:36 +0000
Subject: [PATCH 081/240] Update ChatView.tsx
---
src/components/ChatView/ChatView.tsx | 61 ++++++++++++++--------------
1 file changed, 31 insertions(+), 30 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 82c1bfbd7..b07a74832 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -527,43 +527,44 @@ export const ChatView = observer(
const totalH = navContentHeight;
- // Thumb always maps linearly to the FULL content, regardless of window.
- // This gives a reliable sense of "where am I in the document".
- // track top (0) = oldest content, track bottom (1) = newest content
- // thumbTop = 1 − (scrollY + viewportH) / totalH
- // thumbHeight = viewportH / totalH
+ // Window: track represents at most MAX_WINDOW_PX of content.
+ // When content ≤ MAX_WINDOW_PX: window = all content.
+ // When content > MAX_WINDOW_PX: sliding window of MAX_WINDOW_PX,
+ // centered on viewport, with edge compensation so it always
+ // covers exactly MAX_WINDOW_PX (e.g. bottom has only 400 lines
+ // → top gets 600 lines).
+ let winStart: number;
+ const winSize =
+ totalH <= MAX_WINDOW_PX ? totalH : MAX_WINDOW_PX;
+
+ if (totalH <= MAX_WINDOW_PX) {
+ winStart = 0;
+ } else {
+ const vpCenter = navScrollY + navViewportHeight / 2;
+ const ideal = vpCenter - MAX_WINDOW_PX / 2;
+ winStart = Math.max(0, Math.min(totalH - MAX_WINDOW_PX, ideal));
+ }
+
+ // All coordinates map within the window:
+ // fraction(px) = 1 - (px - winStart) / winSize
+ // track top (0) = oldest in window, track bottom (1) = newest
const vpTop = navScrollY + navViewportHeight;
- const thumbTop = 1 - vpTop / totalH;
- const thumbHeight = navViewportHeight / totalH;
+ const thumbTop = 1 - (vpTop - winStart) / winSize;
+ const thumbHeight = navViewportHeight / winSize;
// Build cumulative heights
const cumH = buildCumulativeHeights();
- // Node markers: position maps linearly to FULL content (same as thumb).
- // In windowed mode, only show markers within MAX_WINDOW_PX of viewport.
+ // Node markers within the window
const nodes: UserMessageNode[] = [];
-
- if (totalH <= MAX_WINDOW_PX) {
- // Full-content mode: show ALL markers
- userMessageIndices.forEach(idx => {
- const position = 1 - cumH[idx] / totalH;
+ const winEnd = winStart + winSize;
+ userMessageIndices.forEach(idx => {
+ const px = cumH[idx];
+ if (px >= winStart && px <= winEnd) {
+ const position = 1 - (px - winStart) / winSize;
nodes.push({index: idx, position});
- });
- } else {
- // Windowed mode: only show markers near the viewport
- const vpCenter = navScrollY + navViewportHeight / 2;
- const half = MAX_WINDOW_PX / 2;
- userMessageIndices.forEach(idx => {
- const pxFromBottom = cumH[idx];
- if (
- pxFromBottom >= vpCenter - half &&
- pxFromBottom <= vpCenter + half
- ) {
- const position = 1 - pxFromBottom / totalH;
- nodes.push({index: idx, position});
- }
- });
- }
+ }
+ });
return {nodes, thumbTop, thumbHeight};
}, [
From aae67038f1cbc6b1c21d34462364e69a1333d07b Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 10:13:24 +0000
Subject: [PATCH 082/240] 1
---
src/components/ChatNavigationBar/ChatNavigationBar.tsx | 10 +++++++++-
src/components/ChatView/ChatView.tsx | 3 +--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/components/ChatNavigationBar/ChatNavigationBar.tsx b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
index 3ab277a45..ed42e01de 100644
--- a/src/components/ChatNavigationBar/ChatNavigationBar.tsx
+++ b/src/components/ChatNavigationBar/ChatNavigationBar.tsx
@@ -29,7 +29,15 @@ interface ChatNavigationBarProps {
}
export const ChatNavigationBar: React.FC = React.memo(
- ({nodes, thumbTop, thumbHeight, onPrevious, onNext, visible, bottomOffset = 0}) => {
+ ({
+ nodes,
+ thumbTop,
+ thumbHeight,
+ onPrevious,
+ onNext,
+ visible,
+ bottomOffset = 0,
+ }) => {
const theme = useTheme();
const styles = createStyles(theme);
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index b07a74832..8057ea701 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -534,8 +534,7 @@ export const ChatView = observer(
// covers exactly MAX_WINDOW_PX (e.g. bottom has only 400 lines
// → top gets 600 lines).
let winStart: number;
- const winSize =
- totalH <= MAX_WINDOW_PX ? totalH : MAX_WINDOW_PX;
+ const winSize = totalH <= MAX_WINDOW_PX ? totalH : MAX_WINDOW_PX;
if (totalH <= MAX_WINDOW_PX) {
winStart = 0;
From 7d75f62fed65397d9a1b4a3064d70ffba5baf27a Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 10:44:22 +0000
Subject: [PATCH 083/240] 11
---
src/components/ChatView/ChatView.tsx | 155 +++++--
yarn.lock | 646 ++++++++++-----------------
2 files changed, 351 insertions(+), 450 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 8057ea701..9464eb7d7 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -576,76 +576,137 @@ export const ChatView = observer(
buildCumulativeHeights,
]);
- // Jump to previous user message (older = higher index = scroll UP).
- // Find the first user message whose position is ABOVE the current viewport top.
- const handleNavPrevious = React.useCallback(() => {
- if (userMessageIndices.length === 0 || navContentHeight === 0) {
- return;
+ // --- Pointer-based navigation ---
+ // Track current position in userMessageIndices array (-1 = uninitialized).
+ // userMessageIndices: [newest(idx0), ..., oldest(idxN)]
+ // UP = older = higher position in array, DOWN = newer = lower position.
+ const navCursorRef = React.useRef(-1);
+
+ // Reset cursor when the message list changes (new messages added, etc.)
+ React.useEffect(() => {
+ navCursorRef.current = -1;
+ }, [userMessageIndices.length]);
+
+ // Initialize cursor from current scroll position.
+ // Finds the position in userMessageIndices of the user message closest to
+ // the viewport top (the "standard position" reference point).
+ const initNavCursor = React.useCallback(() => {
+ if (userMessageIndices.length === 0) {
+ return 0;
}
const cumH = buildCumulativeHeights();
const vpTop = navScrollY + navViewportHeight;
- // Find user message above viewport top (with small tolerance)
- let targetIndex = -1;
- for (const idx of userMessageIndices) {
- if (cumH[idx] > vpTop + 10) {
- targetIndex = idx;
+ // Find the last user message whose bottom edge is at or below vpTop
+ // (i.e., visible on screen or below). Messages after this are above viewport.
+ let pos = 0;
+ for (let i = 0; i < userMessageIndices.length; i++) {
+ if (cumH[userMessageIndices[i]] <= vpTop) {
+ pos = i;
+ } else {
break;
}
}
- // Wrap around to the top-most if none found above
- if (targetIndex === -1 && userMessageIndices.length > 0) {
- targetIndex = userMessageIndices[userMessageIndices.length - 1];
+ return pos;
+ }, [
+ userMessageIndices,
+ buildCumulativeHeights,
+ navScrollY,
+ navViewportHeight,
+ ]);
+
+ // Skip clustered messages: when navigating to a user message, if subsequent
+ // messages in the same direction are within one viewport height (i.e., they'd
+ // all be visible on screen at the standard position), jump past them to the
+ // first message of the next cluster.
+ //
+ // UP: after stepping to cursor, keep advancing while the next older message
+ // is within navViewportHeight of the current target → stop at the oldest
+ // in that cluster (the "first" one the user would see at standard position).
+ // DOWN: after stepping to cursor, keep advancing while the next newer message
+ // is within navViewportHeight of the current target → stop at the newest
+ // in that cluster.
+
+ // Jump to previous user message (older = higher position in array = scroll UP).
+ const handleNavPrevious = React.useCallback(() => {
+ const len = userMessageIndices.length;
+ if (len === 0) {
+ return;
}
- if (targetIndex >= 0) {
- list.current?.scrollToIndex({
- index: targetIndex,
- animated: true,
- viewPosition: 1,
- });
+
+ let cursor = navCursorRef.current;
+ if (cursor === -1) {
+ cursor = initNavCursor() + 1;
+ } else {
+ cursor = cursor + 1;
+ }
+
+ if (cursor >= len) {
+ cursor = len - 1;
+ }
+
+ // Skip cluster: keep going older while next message is within one screen
+ const cumH = buildCumulativeHeights();
+ const anchorH = cumH[userMessageIndices[cursor]];
+ while (
+ cursor + 1 < len &&
+ cumH[userMessageIndices[cursor + 1]] - anchorH < navViewportHeight
+ ) {
+ cursor++;
}
+
+ navCursorRef.current = cursor;
+ list.current?.scrollToIndex({
+ index: userMessageIndices[cursor],
+ animated: true,
+ viewPosition: 1,
+ });
}, [
userMessageIndices,
- navContentHeight,
- navViewportHeight,
- navScrollY,
+ initNavCursor,
buildCumulativeHeights,
+ navViewportHeight,
]);
- // Jump to next user message (newer = lower index = scroll DOWN).
- // Find the first user message whose position is BELOW the current viewport bottom.
+ // Jump to next user message (newer = lower position in array = scroll DOWN).
const handleNavNext = React.useCallback(() => {
- if (userMessageIndices.length === 0 || navContentHeight === 0) {
+ const len = userMessageIndices.length;
+ if (len === 0) {
return;
}
- const cumH = buildCumulativeHeights();
- const vpBot = navScrollY;
-
- // Find user message below viewport bottom (with small tolerance)
- let targetIndex = -1;
- for (let i = userMessageIndices.length - 1; i >= 0; i--) {
- const idx = userMessageIndices[i];
- if (cumH[idx] < vpBot - 10) {
- targetIndex = idx;
- break;
- }
+
+ let cursor = navCursorRef.current;
+ if (cursor === -1) {
+ cursor = initNavCursor() - 1;
+ } else {
+ cursor = cursor - 1;
}
- // Wrap around to the bottom-most if none found below
- if (targetIndex === -1 && userMessageIndices.length > 0) {
- targetIndex = userMessageIndices[0];
+
+ if (cursor < 0) {
+ cursor = 0;
}
- if (targetIndex >= 0) {
- list.current?.scrollToIndex({
- index: targetIndex,
- animated: true,
- viewPosition: 1,
- });
+
+ // Skip cluster: keep going newer while next message is within one screen
+ const cumH = buildCumulativeHeights();
+ const anchorH = cumH[userMessageIndices[cursor]];
+ while (
+ cursor - 1 >= 0 &&
+ anchorH - cumH[userMessageIndices[cursor - 1]] < navViewportHeight
+ ) {
+ cursor--;
}
+
+ navCursorRef.current = cursor;
+ list.current?.scrollToIndex({
+ index: userMessageIndices[cursor],
+ animated: true,
+ viewPosition: 1,
+ });
}, [
userMessageIndices,
- navContentHeight,
- navScrollY,
+ initNavCursor,
buildCumulativeHeights,
+ navViewportHeight,
]);
// ============ MESSAGE INPUT HANDLERS ============
diff --git a/yarn.lock b/yarn.lock
index d3e1e4dd8..e26cc9d50 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -993,11 +993,6 @@
"@babel/plugin-transform-modules-commonjs" "^7.27.1"
"@babel/plugin-transform-typescript" "^7.27.1"
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.25.0", "@babel/runtime@^7.3.1":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
- integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
-
"@babel/runtime@7.26.0":
version "7.26.0"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz"
@@ -1005,6 +1000,11 @@
dependencies:
regenerator-runtime "^0.14.0"
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.25.0", "@babel/runtime@^7.3.1":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
+ integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
+
"@babel/template@^7.25.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3":
version "7.27.2"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
@@ -1901,13 +1901,6 @@
strip-ansi "^6.0.0"
v8-to-istanbul "^9.0.1"
-"@jest/schemas@^29.6.3":
- version "29.6.3"
- resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz"
- integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
- dependencies:
- "@sinclair/typebox" "^0.27.8"
-
"@jest/schemas@30.0.5":
version "30.0.5"
resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz"
@@ -1915,6 +1908,13 @@
dependencies:
"@sinclair/typebox" "^0.34.0"
+"@jest/schemas@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz"
+ integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
+ dependencies:
+ "@sinclair/typebox" "^0.27.8"
+
"@jest/source-map@^29.6.3":
version "29.6.3"
resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz"
@@ -1944,27 +1944,6 @@
jest-haste-map "^29.7.0"
slash "^3.0.0"
-"@jest/transform@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
- integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/types" "^29.6.3"
- "@jridgewell/trace-mapping" "^0.3.18"
- babel-plugin-istanbul "^6.1.1"
- chalk "^4.0.0"
- convert-source-map "^2.0.0"
- fast-json-stable-stringify "^2.1.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.7.0"
- jest-regex-util "^29.6.3"
- jest-util "^29.7.0"
- micromatch "^4.0.4"
- pirates "^4.0.4"
- slash "^3.0.0"
- write-file-atomic "^4.0.2"
-
"@jest/transform@30.2.0":
version "30.2.0"
resolved "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz"
@@ -1986,17 +1965,26 @@
slash "^3.0.0"
write-file-atomic "^5.0.1"
-"@jest/types@^29.6.3":
- version "29.6.3"
- resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
- integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
+"@jest/transform@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
+ integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
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"
+ "@babel/core" "^7.11.6"
+ "@jest/types" "^29.6.3"
+ "@jridgewell/trace-mapping" "^0.3.18"
+ babel-plugin-istanbul "^6.1.1"
chalk "^4.0.0"
+ convert-source-map "^2.0.0"
+ fast-json-stable-stringify "^2.1.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.7.0"
+ jest-regex-util "^29.6.3"
+ jest-util "^29.7.0"
+ micromatch "^4.0.4"
+ pirates "^4.0.4"
+ slash "^3.0.0"
+ write-file-atomic "^4.0.2"
"@jest/types@30.2.0":
version "30.2.0"
@@ -2011,6 +1999,18 @@
"@types/yargs" "^17.0.33"
chalk "^4.1.2"
+"@jest/types@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
+ integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
+ 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"
+
"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
version "0.3.13"
resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz"
@@ -2100,7 +2100,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@@ -3084,7 +3084,7 @@
"@typescript-eslint/types" "8.52.0"
"@typescript-eslint/visitor-keys" "8.52.0"
-"@typescript-eslint/tsconfig-utils@^8.52.0", "@typescript-eslint/tsconfig-utils@8.52.0":
+"@typescript-eslint/tsconfig-utils@8.52.0", "@typescript-eslint/tsconfig-utils@^8.52.0":
version "8.52.0"
resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz"
integrity sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==
@@ -3100,7 +3100,7 @@
debug "^4.4.3"
ts-api-utils "^2.4.0"
-"@typescript-eslint/types@^8.52.0", "@typescript-eslint/types@8.52.0":
+"@typescript-eslint/types@8.52.0", "@typescript-eslint/types@^8.52.0":
version "8.52.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz"
integrity sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==
@@ -3120,7 +3120,7 @@
tinyglobby "^0.2.15"
ts-api-utils "^2.4.0"
-"@typescript-eslint/utils@^8.0.0", "@typescript-eslint/utils@8.52.0":
+"@typescript-eslint/utils@8.52.0", "@typescript-eslint/utils@^8.0.0":
version "8.52.0"
resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz"
integrity sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==
@@ -3153,6 +3153,14 @@
resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"
integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
+JSONStream@^1.3.5:
+ version "1.3.5"
+ resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
+ integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
a-sync-waterfall@^1.0.0:
version "1.0.1"
resolved "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz"
@@ -3246,14 +3254,7 @@ ansi-styles@^3.2.0:
dependencies:
color-convert "^1.9.0"
-ansi-styles@^4.0.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-ansi-styles@^4.1.0:
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
@@ -3462,6 +3463,13 @@ babel-plugin-istanbul@^7.0.1:
istanbul-lib-instrument "^6.0.2"
test-exclude "^6.0.0"
+babel-plugin-jest-hoist@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz"
+ integrity sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==
+ dependencies:
+ "@types/babel__core" "^7.20.5"
+
babel-plugin-jest-hoist@^29.6.3:
version "29.6.3"
resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
@@ -3472,13 +3480,6 @@ babel-plugin-jest-hoist@^29.6.3:
"@types/babel__core" "^7.1.14"
"@types/babel__traverse" "^7.0.6"
-babel-plugin-jest-hoist@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz"
- integrity sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==
- dependencies:
- "@types/babel__core" "^7.20.5"
-
babel-plugin-polyfill-corejs2@^0.4.14:
version "0.4.14"
resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz"
@@ -3538,14 +3539,6 @@ babel-preset-current-node-syntax@^1.0.0, babel-preset-current-node-syntax@^1.2.0
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
-babel-preset-jest@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
- integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
- dependencies:
- babel-plugin-jest-hoist "^29.6.3"
- babel-preset-current-node-syntax "^1.0.0"
-
babel-preset-jest@30.2.0:
version "30.2.0"
resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz"
@@ -3554,6 +3547,14 @@ babel-preset-jest@30.2.0:
babel-plugin-jest-hoist "30.2.0"
babel-preset-current-node-syntax "^1.2.0"
+babel-preset-jest@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
+ integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
+ dependencies:
+ babel-plugin-jest-hoist "^29.6.3"
+ babel-preset-current-node-syntax "^1.0.0"
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
@@ -3646,15 +3647,7 @@ buffer-from@^1.0.0:
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-buffer@^5.4.3:
- version "5.7.1"
- resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
-buffer@^5.5.0:
+buffer@^5.4.3, buffer@^5.5.0:
version "5.7.1"
resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
@@ -3726,23 +3719,7 @@ caniuse-lite@^1.0.30001746:
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz"
integrity sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==
-chalk@^4.0.0:
- version "4.1.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.1.0:
- version "4.1.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.1.2:
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -3883,14 +3860,7 @@ collect-v8-coverage@^1.0.0:
resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz"
integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^1.9.3:
+color-convert@^1.9.0, color-convert@^1.9.3:
version "1.9.3"
resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -3904,16 +3874,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
color-string@^1.6.0, color-string@^1.9.0:
version "1.9.1"
resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
@@ -4052,8 +4022,8 @@ conventional-commits-parser@^5.0.0:
resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz"
integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==
dependencies:
- is-text-path "^2.0.0"
JSONStream "^1.3.5"
+ is-text-path "^2.0.0"
meow "^12.0.1"
split2 "^4.0.0"
@@ -4134,7 +4104,7 @@ css-select@^5.1.0:
domutils "^3.0.1"
nth-check "^2.0.1"
-css-to-react-native@^3.0.0, css-to-react-native@3.2.0:
+css-to-react-native@3.2.0, css-to-react-native@^3.0.0:
version "3.2.0"
resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz"
integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
@@ -4226,27 +4196,20 @@ dayjs@^1.11.18, dayjs@^1.8.15:
resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz"
integrity sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==
-debug@^2.6.9:
+debug@2.6.9, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3, debug@4:
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3:
version "4.4.3"
resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
dependencies:
ms "^2.1.3"
-debug@2.6.9:
- version "2.6.9"
- resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
@@ -4465,12 +4428,7 @@ entities@^3.0.1:
resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz"
integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
-entities@^4.2.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
- integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
-
-entities@^4.4.0:
+entities@^4.2.0, entities@^4.4.0:
version "4.5.0"
resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
@@ -4739,14 +4697,6 @@ eslint-plugin-react@^7.30.1:
string.prototype.matchall "^4.0.12"
string.prototype.repeat "^1.0.0"
-eslint-scope@^7.2.2:
- version "7.2.2"
- resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
- integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
eslint-scope@5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
@@ -4755,17 +4705,20 @@ eslint-scope@5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
+eslint-scope@^7.2.2:
+ version "7.2.2"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
+ integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
eslint-visitor-keys@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-eslint-visitor-keys@^3.4.1:
- version "3.4.3"
- resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
- integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
-
-eslint-visitor-keys@^3.4.3:
+eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
version "3.4.3"
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
@@ -5026,15 +4979,7 @@ finalhandler@1.1.2:
statuses "~1.5.0"
unpipe "~1.0.0"
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-find-up@^4.1.0:
+find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
@@ -5175,6 +5120,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+fsevents@^2.3.2, fsevents@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -5496,12 +5446,7 @@ ieee754@^1.1.13, ieee754@^1.2.1:
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.0.5:
- version "5.3.2"
- resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
- integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
-
-ignore@^5.2.0:
+ignore@^5.0.5, ignore@^5.2.0:
version "5.3.2"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
@@ -5557,7 +5502,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4:
+inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -5861,14 +5806,7 @@ is-wsl@^1.1.0:
resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"
integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
-is-wsl@^2.1.1:
- version "2.2.0"
- resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-is-wsl@^2.2.0:
+is-wsl@^2.1.1, is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
@@ -6030,16 +5968,6 @@ jest-config@^29.7.0:
slash "^3.0.0"
strip-json-comments "^3.1.1"
-jest-diff@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz"
- integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
- dependencies:
- chalk "^4.0.0"
- diff-sequences "^29.6.3"
- jest-get-type "^29.6.3"
- pretty-format "^29.7.0"
-
jest-diff@30.2.0:
version "30.2.0"
resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz"
@@ -6050,6 +5978,16 @@ jest-diff@30.2.0:
chalk "^4.1.2"
pretty-format "30.2.0"
+jest-diff@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz"
+ integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^29.6.3"
+ jest-get-type "^29.6.3"
+ pretty-format "^29.7.0"
+
jest-docblock@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz"
@@ -6085,6 +6023,24 @@ jest-get-type@^29.6.3:
resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz"
integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
+jest-haste-map@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz"
+ integrity sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==
+ dependencies:
+ "@jest/types" "30.2.0"
+ "@types/node" "*"
+ anymatch "^3.1.3"
+ fb-watchman "^2.0.2"
+ graceful-fs "^4.2.11"
+ jest-regex-util "30.0.1"
+ jest-util "30.2.0"
+ jest-worker "30.2.0"
+ micromatch "^4.0.8"
+ walker "^1.0.8"
+ optionalDependencies:
+ fsevents "^2.3.3"
+
jest-haste-map@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
@@ -6104,24 +6060,6 @@ jest-haste-map@^29.7.0:
optionalDependencies:
fsevents "^2.3.2"
-jest-haste-map@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz"
- integrity sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==
- dependencies:
- "@jest/types" "30.2.0"
- "@types/node" "*"
- anymatch "^3.1.3"
- fb-watchman "^2.0.2"
- graceful-fs "^4.2.11"
- jest-regex-util "30.0.1"
- jest-util "30.2.0"
- jest-worker "30.2.0"
- micromatch "^4.0.8"
- walker "^1.0.8"
- optionalDependencies:
- fsevents "^2.3.3"
-
jest-leak-detector@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
@@ -6179,16 +6117,16 @@ jest-pnp-resolver@^1.2.2:
resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
-jest-regex-util@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
- integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
-
jest-regex-util@30.0.1:
version "30.0.1"
resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz"
integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==
+jest-regex-util@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
+ integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
+
jest-resolve-dependencies@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz"
@@ -6293,18 +6231,6 @@ jest-snapshot@^29.7.0:
pretty-format "^29.7.0"
semver "^7.5.3"
-jest-util@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz"
- integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
- 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"
-
jest-util@30.2.0:
version "30.2.0"
resolved "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz"
@@ -6317,6 +6243,18 @@ jest-util@30.2.0:
graceful-fs "^4.2.11"
picomatch "^4.0.2"
+jest-util@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz"
+ integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
+ 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"
+
jest-validate@^29.7.0:
version "29.7.0"
resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz"
@@ -6343,16 +6281,6 @@ jest-watcher@^29.7.0:
jest-util "^29.7.0"
string-length "^4.0.1"
-jest-worker@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
- integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
- dependencies:
- "@types/node" "*"
- jest-util "^29.7.0"
- merge-stream "^2.0.0"
- supports-color "^8.0.0"
-
jest-worker@30.2.0:
version "30.2.0"
resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz"
@@ -6364,6 +6292,16 @@ jest-worker@30.2.0:
merge-stream "^2.0.0"
supports-color "^8.1.1"
+jest-worker@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
+ integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
+ dependencies:
+ "@types/node" "*"
+ jest-util "^29.7.0"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
jest@^29.6.3:
version "29.7.0"
resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz"
@@ -6487,14 +6425,6 @@ jsonparse@^1.2.0:
resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
-JSONStream@^1.3.5:
- version "1.3.5"
- resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
"jsx-ast-utils@^2.4.1 || ^3.0.0":
version "3.3.5"
resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz"
@@ -6813,7 +6743,7 @@ metro-cache@0.83.3:
https-proxy-agent "^7.0.5"
metro-core "0.83.3"
-metro-config@^0.83.1, metro-config@0.83.3:
+metro-config@0.83.3, metro-config@^0.83.1:
version "0.83.3"
resolved "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz"
integrity sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==
@@ -6827,7 +6757,7 @@ metro-config@^0.83.1, metro-config@0.83.3:
metro-runtime "0.83.3"
yaml "^2.6.1"
-metro-core@^0.83.1, metro-core@0.83.3:
+metro-core@0.83.3, metro-core@^0.83.1:
version "0.83.3"
resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz"
integrity sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==
@@ -6866,7 +6796,7 @@ metro-resolver@0.83.3:
dependencies:
flow-enums-runtime "^0.0.6"
-metro-runtime@^0.83.1, metro-runtime@0.83.3:
+metro-runtime@0.83.3, metro-runtime@^0.83.1:
version "0.83.3"
resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz"
integrity sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==
@@ -6874,7 +6804,7 @@ metro-runtime@^0.83.1, metro-runtime@0.83.3:
"@babel/runtime" "^7.25.0"
flow-enums-runtime "^0.0.6"
-metro-source-map@^0.83.1, metro-source-map@0.83.3:
+metro-source-map@0.83.3, metro-source-map@^0.83.1:
version "0.83.3"
resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz"
integrity sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==
@@ -6933,7 +6863,7 @@ metro-transform-worker@0.83.3:
metro-transform-plugins "0.83.3"
nullthrows "^1.1.1"
-metro@^0.83.1, metro@0.83.3:
+metro@0.83.3, metro@^0.83.1:
version "0.83.3"
resolved "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz"
integrity sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==
@@ -6987,16 +6917,16 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8:
braces "^3.0.3"
picomatch "^2.3.1"
-"mime-db@>= 1.43.0 < 2":
- version "1.54.0"
- resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz"
- integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
-
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+"mime-db@>= 1.43.0 < 2":
+ version "1.54.0"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz"
+ integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
+
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
@@ -7004,16 +6934,16 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
dependencies:
mime-db "1.52.0"
-mime@^2.4.1:
- version "2.6.0"
- resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz"
- integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
-
mime@1.6.0:
version "1.6.0"
resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+mime@^2.4.1:
+ version "2.6.0"
+ resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz"
+ integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
@@ -7024,28 +6954,7 @@ min-indent@^1.0.0:
resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-minimatch@^3.0.4:
- version "3.1.2"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^3.0.5:
- version "3.1.2"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^3.1.1:
- version "3.1.2"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^3.1.2:
+minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -7093,16 +7002,16 @@ mobx@^6.15.0:
resolved "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz"
integrity sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==
-ms@^2.1.3, ms@2.1.3:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+ms@2.1.3, ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
mustache@^4.2.0:
version "4.2.0"
resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz"
@@ -7118,16 +7027,16 @@ natural-compare@^1.4.0:
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-negotiator@~0.6.4:
- version "0.6.4"
- resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz"
- integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
-
negotiator@0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+negotiator@~0.6.4:
+ version "0.6.4"
+ resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz"
+ integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
+
no-case@^3.0.4:
version "3.0.4"
resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz"
@@ -7253,13 +7162,6 @@ object.values@^1.1.6, object.values@^1.2.1:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
- integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
- dependencies:
- ee-first "1.1.1"
-
on-finished@2.4.1:
version "2.4.1"
resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
@@ -7267,6 +7169,13 @@ on-finished@2.4.1:
dependencies:
ee-first "1.1.1"
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
+ integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
+ dependencies:
+ ee-first "1.1.1"
+
on-headers@~1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz"
@@ -7293,15 +7202,7 @@ open@^6.2.0:
dependencies:
is-wsl "^1.1.0"
-open@^7.0.3:
- version "7.4.2"
- resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz"
- integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
- dependencies:
- is-docker "^2.0.0"
- is-wsl "^2.1.1"
-
-open@^7.4.2:
+open@^7.0.3, open@^7.4.2:
version "7.4.2"
resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz"
integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
@@ -7491,12 +7392,7 @@ picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-picomatch@^4.0.2:
- version "4.0.3"
- resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
- integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
-
-picomatch@^4.0.3:
+picomatch@^4.0.2, picomatch@^4.0.3:
version "4.0.3"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
@@ -7545,16 +7441,7 @@ prettier@3.6.2:
resolved "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz"
integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==
-pretty-format@^29.0.0, pretty-format@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz"
- integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
- dependencies:
- "@jest/schemas" "^29.6.3"
- ansi-styles "^5.0.0"
- react-is "^18.0.0"
-
-pretty-format@^30.0.5:
+pretty-format@30.2.0, pretty-format@^30.0.5:
version "30.2.0"
resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz"
integrity sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==
@@ -7563,14 +7450,14 @@ pretty-format@^30.0.5:
ansi-styles "^5.2.0"
react-is "^18.3.1"
-pretty-format@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz"
- integrity sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==
+pretty-format@^29.0.0, pretty-format@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz"
+ integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
dependencies:
- "@jest/schemas" "30.0.5"
- ansi-styles "^5.2.0"
- react-is "^18.3.1"
+ "@jest/schemas" "^29.6.3"
+ ansi-styles "^5.0.0"
+ react-is "^18.0.0"
prismjs@^1.27.0, prismjs@^1.30.0:
version "1.30.0"
@@ -7720,22 +7607,12 @@ react-hook-form@^7.65.0:
resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.65.0.tgz"
integrity sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw==
-react-is@^16.13.1:
+react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^16.7.0:
- version "16.13.1"
- resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-is@^18.0.0:
- 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==
-
-react-is@^18.3.1:
+react-is@^18.0.0, react-is@^18.3.1:
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==
@@ -7999,28 +7876,28 @@ react-refresh@^0.14.0:
resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz"
integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
-react-syntax-highlighter@^15.6.6:
- version "15.6.6"
- resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.6.tgz"
- integrity sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==
+react-syntax-highlighter@15.6.1:
+ version "15.6.1"
+ resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz"
+ integrity sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==
dependencies:
"@babel/runtime" "^7.3.1"
highlight.js "^10.4.1"
highlightjs-vue "^1.0.0"
lowlight "^1.17.0"
- prismjs "^1.30.0"
+ prismjs "^1.27.0"
refractor "^3.6.0"
-react-syntax-highlighter@15.6.1:
- version "15.6.1"
- resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz"
- integrity sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==
+react-syntax-highlighter@^15.6.6:
+ version "15.6.6"
+ resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.6.tgz"
+ integrity sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==
dependencies:
"@babel/runtime" "^7.3.1"
highlight.js "^10.4.1"
highlightjs-vue "^1.0.0"
lowlight "^1.17.0"
- prismjs "^1.27.0"
+ prismjs "^1.30.0"
refractor "^3.6.0"
react-test-renderer@19.1.1:
@@ -8234,7 +8111,7 @@ safe-array-concat@^1.1.3:
has-symbols "^1.1.0"
isarray "^2.0.5"
-safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -8261,51 +8138,26 @@ safe-regex-test@^1.1.0:
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-scheduler@^0.26.0, scheduler@0.26.0:
+scheduler@0.26.0, scheduler@^0.26.0:
version "0.26.0"
resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz"
integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
+semver@7.7.2:
+ version "7.7.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
+
semver@^6.3.0, semver@^6.3.1:
version "6.3.1"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.1.3:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-semver@^7.5.2:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-semver@^7.5.3:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-semver@^7.5.4:
+semver@^7.1.3, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.3:
version "7.7.3"
resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-semver@^7.6.0:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-semver@^7.7.3:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-semver@7.7.2:
- version "7.7.2"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
- integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
-
send@0.19.0:
version "0.19.0"
resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
@@ -8492,14 +8344,6 @@ source-map-js@^1.0.1:
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
-source-map-support@~0.5.20:
- 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==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
source-map-support@0.5.13:
version "0.5.13"
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
@@ -8508,6 +8352,14 @@ source-map-support@0.5.13:
buffer-from "^1.0.0"
source-map "^0.6.0"
+source-map-support@~0.5.20:
+ 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==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
@@ -8562,16 +8414,16 @@ stacktrace-parser@^0.1.10:
dependencies:
type-fest "^0.7.1"
-statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-
statuses@2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+statuses@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
stop-iteration-iterator@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz"
@@ -8585,13 +8437,6 @@ strict-uri-encode@^2.0.0:
resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz"
integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"
@@ -8673,6 +8518,13 @@ string.prototype.trimstart@^1.0.8:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
stringify-entities@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz"
@@ -8730,14 +8582,7 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
-supports-color@^8.0.0:
- version "8.1.1"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
-supports-color@^8.1.1:
+supports-color@^8.0.0, supports-color@^8.1.1:
version "8.1.1"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
@@ -9011,7 +8856,7 @@ universalify@^2.0.0:
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
-unpipe@~1.0.0, unpipe@1.0.0:
+unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
@@ -9087,7 +8932,7 @@ walker@^1.0.7, walker@^1.0.8:
dependencies:
makeerror "1.0.12"
-warn-once@^0.1.0, warn-once@0.1.1:
+warn-once@0.1.1, warn-once@^0.1.0:
version "0.1.1"
resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz"
integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==
@@ -9266,12 +9111,7 @@ ws@^6.2.3:
dependencies:
async-limiter "~1.0.0"
-ws@^7:
- version "7.5.10"
- resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz"
- integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
-
-ws@^7.5.10:
+ws@^7, ws@^7.5.10:
version "7.5.10"
resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz"
integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
From 602ae9a7b51d7944e9eb98d090c768019ff3e928 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 23:44:45 +0000
Subject: [PATCH 084/240] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9B=E5=BA=A6?=
=?UTF-8?q?=E6=9D=A1=E5=92=8C=E8=B7=B3=E8=BD=AC=E8=81=94=E5=8A=A8=E6=9C=89?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ChatView/ChatView.tsx | 70 +-
yarn.lock | 9223 --------------------------
2 files changed, 46 insertions(+), 9247 deletions(-)
delete mode 100644 yarn.lock
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index 9464eb7d7..c17effa1e 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -327,25 +327,38 @@ export const ChatView = observer(
// Approximate pixel height for "1000 visual lines" (~20px per line)
const MAX_WINDOW_PX = 20000;
- // Throttle nav state updates to avoid excessive re-renders
+ // Throttle nav state updates to avoid excessive re-renders.
+ // Uses a "trailing" throttle: always stores the latest values in a ref,
+ // and the timer fires with whatever is newest — no stale closures.
const navUpdateTimer = React.useRef | null>(
null,
);
+ const navLatestValues = React.useRef({
+ scrollY: 0,
+ contentH: 0,
+ viewportH: 0,
+ });
// updateNavState: stable function for runOnJS in the scroll handler worklet.
// Uses a ref so the worklet always has a valid __remoteFunction binding,
// even across re-renders triggered by MobX observer.
const updateNavStateImpl = React.useCallback(
(scrollY: number, contentH: number, viewportH: number) => {
+ // Always store the latest values
+ navLatestValues.current.scrollY = scrollY;
+ navLatestValues.current.contentH = contentH;
+ navLatestValues.current.viewportH = viewportH;
+
if (navUpdateTimer.current) {
- return;
+ return; // Timer already pending — it will read the latest ref values
}
navUpdateTimer.current = setTimeout(() => {
navUpdateTimer.current = null;
- setNavScrollY(scrollY);
- setNavContentHeight(contentH);
- setNavViewportHeight(viewportH);
- }, 100);
+ const latest = navLatestValues.current;
+ setNavScrollY(latest.scrollY);
+ setNavContentHeight(latest.contentH);
+ setNavViewportHeight(latest.viewportH);
+ }, 32);
},
[],
);
@@ -478,23 +491,31 @@ export const ChatView = observer(
// Reused by navBarProps and navigation handlers.
const buildCumulativeHeights = React.useCallback(() => {
const len = chatMessages.length;
- const totalH = navContentHeight;
- const avgH = totalH / Math.max(1, len);
const heights = itemHeightsRef.current;
+
+ // 1. 基于已测量到的真实消息,计算一个更靠谱的平均高度
+ let measuredSum = 0;
+ let measuredCount = 0;
+ for (let i = 0; i < len; i++) {
+ const h = heights.get(i);
+ if (h !== undefined) {
+ measuredSum += h;
+ measuredCount++;
+ }
+ }
+ // 如果还没渲染出任何内容,给一个合理的默认高度(比如 80px)
+ const avgH = measuredCount > 0 ? measuredSum / measuredCount : 80;
+
+ // 2. 依次累加高度,保留真实的物理空间
const cumH = new Float64Array(len + 1);
for (let i = 0; i < len; i++) {
cumH[i + 1] = cumH[i] + (heights.get(i) ?? avgH);
}
- // Scale so cumulative total matches actual contentSize
- const measured = cumH[len];
- const scale = measured > 0 ? totalH / measured : 1;
- if (scale !== 1) {
- for (let i = 1; i <= len; i++) {
- cumH[i] *= scale;
- }
- }
+
+ // 3. 彻底干掉原本的 scale 拉伸逻辑!
+ // 直接返回真实的累加高度,允许顶部/底部留有真实的 Header/Footer 空隙
return cumH;
- }, [chatMessages.length, navContentHeight]);
+ }, [chatMessages.length]);
// Compute navigation bar props.
//
@@ -558,7 +579,8 @@ export const ChatView = observer(
const nodes: UserMessageNode[] = [];
const winEnd = winStart + winSize;
userMessageIndices.forEach(idx => {
- const px = cumH[idx];
+ // cumH[idx+1] = top edge of message idx (the "standard position" reference)
+ const px = cumH[idx + 1];
if (px >= winStart && px <= winEnd) {
const position = 1 - (px - winStart) / winSize;
nodes.push({index: idx, position});
@@ -597,11 +619,11 @@ export const ChatView = observer(
const cumH = buildCumulativeHeights();
const vpTop = navScrollY + navViewportHeight;
- // Find the last user message whose bottom edge is at or below vpTop
+ // Find the last user message whose top edge is at or below vpTop
// (i.e., visible on screen or below). Messages after this are above viewport.
let pos = 0;
for (let i = 0; i < userMessageIndices.length; i++) {
- if (cumH[userMessageIndices[i]] <= vpTop) {
+ if (cumH[userMessageIndices[i] + 1] <= vpTop) {
pos = i;
} else {
break;
@@ -647,10 +669,10 @@ export const ChatView = observer(
// Skip cluster: keep going older while next message is within one screen
const cumH = buildCumulativeHeights();
- const anchorH = cumH[userMessageIndices[cursor]];
+ const anchorH = cumH[userMessageIndices[cursor] + 1];
while (
cursor + 1 < len &&
- cumH[userMessageIndices[cursor + 1]] - anchorH < navViewportHeight
+ cumH[userMessageIndices[cursor + 1] + 1] - anchorH < navViewportHeight
) {
cursor++;
}
@@ -688,10 +710,10 @@ export const ChatView = observer(
// Skip cluster: keep going newer while next message is within one screen
const cumH = buildCumulativeHeights();
- const anchorH = cumH[userMessageIndices[cursor]];
+ const anchorH = cumH[userMessageIndices[cursor] + 1];
while (
cursor - 1 >= 0 &&
- anchorH - cumH[userMessageIndices[cursor - 1]] < navViewportHeight
+ anchorH - cumH[userMessageIndices[cursor - 1] + 1] < navViewportHeight
) {
cursor--;
}
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index e26cc9d50..000000000
--- a/yarn.lock
+++ /dev/null
@@ -1,9223 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz"
- integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.27.1"
- js-tokens "^4.0.0"
- picocolors "^1.1.1"
-
-"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz"
- integrity sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==
-
-"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.9", "@babel/core@^7.25.2", "@babel/core@^7.27.4":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz"
- integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==
- dependencies:
- "@babel/code-frame" "^7.27.1"
- "@babel/generator" "^7.28.3"
- "@babel/helper-compilation-targets" "^7.27.2"
- "@babel/helper-module-transforms" "^7.28.3"
- "@babel/helpers" "^7.28.4"
- "@babel/parser" "^7.28.4"
- "@babel/template" "^7.27.2"
- "@babel/traverse" "^7.28.4"
- "@babel/types" "^7.28.4"
- "@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"
-
-"@babel/eslint-parser@^7.25.1":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.4.tgz"
- integrity sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==
- dependencies:
- "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
- eslint-visitor-keys "^2.1.0"
- semver "^6.3.1"
-
-"@babel/generator@^7.25.0", "@babel/generator@^7.28.3", "@babel/generator@^7.7.2":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz"
- integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
- dependencies:
- "@babel/parser" "^7.28.3"
- "@babel/types" "^7.28.2"
- "@jridgewell/gen-mapping" "^0.3.12"
- "@jridgewell/trace-mapping" "^0.3.28"
- jsesc "^3.0.2"
-
-"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
- version "7.27.3"
- resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz"
- integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
- dependencies:
- "@babel/types" "^7.27.3"
-
-"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
- version "7.27.2"
- resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz"
- integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
- dependencies:
- "@babel/compat-data" "^7.27.2"
- "@babel/helper-validator-option" "^7.27.1"
- browserslist "^4.24.0"
- lru-cache "^5.1.1"
- semver "^6.3.1"
-
-"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz"
- integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.3"
- "@babel/helper-member-expression-to-functions" "^7.27.1"
- "@babel/helper-optimise-call-expression" "^7.27.1"
- "@babel/helper-replace-supers" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
- "@babel/traverse" "^7.28.3"
- semver "^6.3.1"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz"
- integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.1"
- regexpu-core "^6.2.0"
- semver "^6.3.1"
-
-"@babel/helper-define-polyfill-provider@^0.6.5":
- version "0.6.5"
- resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz"
- integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
- dependencies:
- "@babel/helper-compilation-targets" "^7.27.2"
- "@babel/helper-plugin-utils" "^7.27.1"
- debug "^4.4.1"
- lodash.debounce "^4.0.8"
- resolve "^1.22.10"
-
-"@babel/helper-globals@^7.28.0":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz"
- integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
-
-"@babel/helper-member-expression-to-functions@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz"
- integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
- dependencies:
- "@babel/traverse" "^7.27.1"
- "@babel/types" "^7.27.1"
-
-"@babel/helper-module-imports@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz"
- integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
- dependencies:
- "@babel/traverse" "^7.27.1"
- "@babel/types" "^7.27.1"
-
-"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz"
- integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
- dependencies:
- "@babel/helper-module-imports" "^7.27.1"
- "@babel/helper-validator-identifier" "^7.27.1"
- "@babel/traverse" "^7.28.3"
-
-"@babel/helper-optimise-call-expression@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz"
- integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
- dependencies:
- "@babel/types" "^7.27.1"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz"
- integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
-
-"@babel/helper-remap-async-to-generator@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz"
- integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.1"
- "@babel/helper-wrap-function" "^7.27.1"
- "@babel/traverse" "^7.27.1"
-
-"@babel/helper-replace-supers@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz"
- integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.27.1"
- "@babel/helper-optimise-call-expression" "^7.27.1"
- "@babel/traverse" "^7.27.1"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz"
- integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
- dependencies:
- "@babel/traverse" "^7.27.1"
- "@babel/types" "^7.27.1"
-
-"@babel/helper-string-parser@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz"
- integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
-
-"@babel/helper-validator-identifier@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz"
- integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
-
-"@babel/helper-validator-option@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz"
- integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
-
-"@babel/helper-wrap-function@^7.27.1":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz"
- integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
- dependencies:
- "@babel/template" "^7.27.2"
- "@babel/traverse" "^7.28.3"
- "@babel/types" "^7.28.2"
-
-"@babel/helpers@^7.28.4":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz"
- integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==
- dependencies:
- "@babel/template" "^7.27.2"
- "@babel/types" "^7.28.4"
-
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.3", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz"
- integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==
- dependencies:
- "@babel/types" "^7.28.4"
-
-"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz"
- integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/traverse" "^7.27.1"
-
-"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz"
- integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
- version "7.27.1"
- 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.27.1.tgz"
- integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz"
- integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
- "@babel/plugin-transform-optional-chaining" "^7.27.1"
-
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz"
- integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/traverse" "^7.28.3"
-
-"@babel/plugin-proposal-decorators@^7.28.0":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz"
- integrity sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/plugin-syntax-decorators" "^7.27.1"
-
-"@babel/plugin-proposal-export-default-from@^7.24.7":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz"
- integrity sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
- 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==
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-bigint@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz"
- integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-decorators@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz"
- integrity sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-default-from@^7.24.7":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz"
- integrity sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz"
- integrity sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-import-assertions@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz"
- integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz"
- integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-import-meta@^7.10.4":
- version "7.10.4"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz"
- integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.27.1", "@babel/plugin-syntax-jsx@^7.7.2":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz"
- integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-typescript@^7.27.1", "@babel/plugin-syntax-typescript@^7.7.2":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz"
- integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
- 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==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.7", "@babel/plugin-transform-arrow-functions@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz"
- integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-async-generator-functions@^7.25.4", "@babel/plugin-transform-async-generator-functions@^7.28.0":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz"
- integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-remap-async-to-generator" "^7.27.1"
- "@babel/traverse" "^7.28.0"
-
-"@babel/plugin-transform-async-to-generator@^7.24.7", "@babel/plugin-transform-async-to-generator@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz"
- integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
- dependencies:
- "@babel/helper-module-imports" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-remap-async-to-generator" "^7.27.1"
-
-"@babel/plugin-transform-block-scoped-functions@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz"
- integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-block-scoping@^7.25.0", "@babel/plugin-transform-block-scoping@^7.28.0":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz"
- integrity sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.25.4", "@babel/plugin-transform-class-properties@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz"
- integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-class-static-block@^7.28.3":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz"
- integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.28.3"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.25.4", "@babel/plugin-transform-classes@^7.28.3":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz"
- integrity sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.3"
- "@babel/helper-compilation-targets" "^7.27.2"
- "@babel/helper-globals" "^7.28.0"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-replace-supers" "^7.27.1"
- "@babel/traverse" "^7.28.4"
-
-"@babel/plugin-transform-computed-properties@^7.24.7", "@babel/plugin-transform-computed-properties@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz"
- integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/template" "^7.27.1"
-
-"@babel/plugin-transform-destructuring@^7.24.8", "@babel/plugin-transform-destructuring@^7.28.0":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz"
- integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/traverse" "^7.28.0"
-
-"@babel/plugin-transform-dotall-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz"
- integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-duplicate-keys@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz"
- integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz"
- integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-dynamic-import@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz"
- integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-explicit-resource-management@^7.28.0":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz"
- integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/plugin-transform-destructuring" "^7.28.0"
-
-"@babel/plugin-transform-exponentiation-operator@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz"
- integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-export-namespace-from@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz"
- integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-flow-strip-types@^7.25.2":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz"
- integrity sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/plugin-syntax-flow" "^7.27.1"
-
-"@babel/plugin-transform-for-of@^7.24.7", "@babel/plugin-transform-for-of@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz"
- integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-
-"@babel/plugin-transform-function-name@^7.25.1", "@babel/plugin-transform-function-name@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz"
- integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
- dependencies:
- "@babel/helper-compilation-targets" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/traverse" "^7.27.1"
-
-"@babel/plugin-transform-json-strings@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz"
- integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-literals@^7.25.2", "@babel/plugin-transform-literals@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz"
- integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-logical-assignment-operators@^7.24.7", "@babel/plugin-transform-logical-assignment-operators@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz"
- integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-member-expression-literals@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz"
- integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-modules-amd@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz"
- integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
- dependencies:
- "@babel/helper-module-transforms" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-modules-commonjs@^7.24.8", "@babel/plugin-transform-modules-commonjs@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz"
- integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
- dependencies:
- "@babel/helper-module-transforms" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-modules-systemjs@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz"
- integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
- dependencies:
- "@babel/helper-module-transforms" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-validator-identifier" "^7.27.1"
- "@babel/traverse" "^7.27.1"
-
-"@babel/plugin-transform-modules-umd@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz"
- integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
- dependencies:
- "@babel/helper-module-transforms" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz"
- integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-new-target@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz"
- integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz"
- integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-numeric-separator@^7.24.7", "@babel/plugin-transform-numeric-separator@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz"
- integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-object-rest-spread@^7.24.7", "@babel/plugin-transform-object-rest-spread@^7.28.0":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz"
- integrity sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==
- dependencies:
- "@babel/helper-compilation-targets" "^7.27.2"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/plugin-transform-destructuring" "^7.28.0"
- "@babel/plugin-transform-parameters" "^7.27.7"
- "@babel/traverse" "^7.28.4"
-
-"@babel/plugin-transform-object-super@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz"
- integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-replace-supers" "^7.27.1"
-
-"@babel/plugin-transform-optional-catch-binding@^7.24.7", "@babel/plugin-transform-optional-catch-binding@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz"
- integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz"
- integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-
-"@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.27.7":
- version "7.27.7"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz"
- integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-private-methods@^7.24.7", "@babel/plugin-transform-private-methods@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz"
- integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-private-property-in-object@^7.24.7", "@babel/plugin-transform-private-property-in-object@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz"
- integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.1"
- "@babel/helper-create-class-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-property-literals@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz"
- integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-react-display-name@^7.24.7":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz"
- integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-react-jsx-self@^7.24.7":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz"
- integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-react-jsx-source@^7.24.7":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz"
- integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-react-jsx@^7.25.2":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz"
- integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.1"
- "@babel/helper-module-imports" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/plugin-syntax-jsx" "^7.27.1"
- "@babel/types" "^7.27.1"
-
-"@babel/plugin-transform-regenerator@^7.24.7", "@babel/plugin-transform-regenerator@^7.28.3":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz"
- integrity sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-regexp-modifiers@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz"
- integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-reserved-words@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz"
- integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-runtime@^7.24.7":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz"
- integrity sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==
- dependencies:
- "@babel/helper-module-imports" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- 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"
-
-"@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.7", "@babel/plugin-transform-shorthand-properties@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz"
- integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-spread@^7.24.7", "@babel/plugin-transform-spread@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz"
- integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
-
-"@babel/plugin-transform-sticky-regex@^7.24.7", "@babel/plugin-transform-sticky-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz"
- integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz"
- integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-typeof-symbol@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz"
- integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-typescript@^7.25.2", "@babel/plugin-transform-typescript@^7.27.1":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz"
- integrity sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.27.3"
- "@babel/helper-create-class-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
- "@babel/plugin-syntax-typescript" "^7.27.1"
-
-"@babel/plugin-transform-unicode-escapes@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz"
- integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-unicode-property-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz"
- integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.24.7", "@babel/plugin-transform-unicode-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz"
- integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz"
- integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.27.1"
- "@babel/helper-plugin-utils" "^7.27.1"
-
-"@babel/preset-env@^7.25.3":
- version "7.28.3"
- resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz"
- integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
- dependencies:
- "@babel/compat-data" "^7.28.0"
- "@babel/helper-compilation-targets" "^7.27.2"
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-validator-option" "^7.27.1"
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
- "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
- "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
- "@babel/plugin-syntax-import-assertions" "^7.27.1"
- "@babel/plugin-syntax-import-attributes" "^7.27.1"
- "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.27.1"
- "@babel/plugin-transform-async-generator-functions" "^7.28.0"
- "@babel/plugin-transform-async-to-generator" "^7.27.1"
- "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
- "@babel/plugin-transform-block-scoping" "^7.28.0"
- "@babel/plugin-transform-class-properties" "^7.27.1"
- "@babel/plugin-transform-class-static-block" "^7.28.3"
- "@babel/plugin-transform-classes" "^7.28.3"
- "@babel/plugin-transform-computed-properties" "^7.27.1"
- "@babel/plugin-transform-destructuring" "^7.28.0"
- "@babel/plugin-transform-dotall-regex" "^7.27.1"
- "@babel/plugin-transform-duplicate-keys" "^7.27.1"
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
- "@babel/plugin-transform-dynamic-import" "^7.27.1"
- "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
- "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
- "@babel/plugin-transform-export-namespace-from" "^7.27.1"
- "@babel/plugin-transform-for-of" "^7.27.1"
- "@babel/plugin-transform-function-name" "^7.27.1"
- "@babel/plugin-transform-json-strings" "^7.27.1"
- "@babel/plugin-transform-literals" "^7.27.1"
- "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
- "@babel/plugin-transform-member-expression-literals" "^7.27.1"
- "@babel/plugin-transform-modules-amd" "^7.27.1"
- "@babel/plugin-transform-modules-commonjs" "^7.27.1"
- "@babel/plugin-transform-modules-systemjs" "^7.27.1"
- "@babel/plugin-transform-modules-umd" "^7.27.1"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
- "@babel/plugin-transform-new-target" "^7.27.1"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
- "@babel/plugin-transform-numeric-separator" "^7.27.1"
- "@babel/plugin-transform-object-rest-spread" "^7.28.0"
- "@babel/plugin-transform-object-super" "^7.27.1"
- "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
- "@babel/plugin-transform-optional-chaining" "^7.27.1"
- "@babel/plugin-transform-parameters" "^7.27.7"
- "@babel/plugin-transform-private-methods" "^7.27.1"
- "@babel/plugin-transform-private-property-in-object" "^7.27.1"
- "@babel/plugin-transform-property-literals" "^7.27.1"
- "@babel/plugin-transform-regenerator" "^7.28.3"
- "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
- "@babel/plugin-transform-reserved-words" "^7.27.1"
- "@babel/plugin-transform-shorthand-properties" "^7.27.1"
- "@babel/plugin-transform-spread" "^7.27.1"
- "@babel/plugin-transform-sticky-regex" "^7.27.1"
- "@babel/plugin-transform-template-literals" "^7.27.1"
- "@babel/plugin-transform-typeof-symbol" "^7.27.1"
- "@babel/plugin-transform-unicode-escapes" "^7.27.1"
- "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
- "@babel/plugin-transform-unicode-regex" "^7.27.1"
- "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
- "@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.14"
- babel-plugin-polyfill-corejs3 "^0.13.0"
- babel-plugin-polyfill-regenerator "^0.6.5"
- core-js-compat "^3.43.0"
- semver "^6.3.1"
-
-"@babel/preset-modules@0.1.6-no-external-plugins":
- 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==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/preset-typescript@^7.16.7":
- version "7.27.1"
- resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz"
- integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.27.1"
- "@babel/helper-validator-option" "^7.27.1"
- "@babel/plugin-syntax-jsx" "^7.27.1"
- "@babel/plugin-transform-modules-commonjs" "^7.27.1"
- "@babel/plugin-transform-typescript" "^7.27.1"
-
-"@babel/runtime@7.26.0":
- version "7.26.0"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz"
- integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
- dependencies:
- regenerator-runtime "^0.14.0"
-
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.25.0", "@babel/runtime@^7.3.1":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
- integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
-
-"@babel/template@^7.25.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3":
- version "7.27.2"
- resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
- integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
- dependencies:
- "@babel/code-frame" "^7.27.1"
- "@babel/parser" "^7.27.2"
- "@babel/types" "^7.27.1"
-
-"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz"
- integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==
- dependencies:
- "@babel/code-frame" "^7.27.1"
- "@babel/generator" "^7.28.3"
- "@babel/helper-globals" "^7.28.0"
- "@babel/parser" "^7.28.4"
- "@babel/template" "^7.27.2"
- "@babel/types" "^7.28.4"
- debug "^4.3.1"
-
-"@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz"
- integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==
- dependencies:
- "@babel/code-frame" "^7.27.1"
- "@babel/generator" "^7.28.3"
- "@babel/helper-globals" "^7.28.0"
- "@babel/parser" "^7.28.4"
- "@babel/template" "^7.27.2"
- "@babel/types" "^7.28.4"
- debug "^4.3.1"
-
-"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.25.2", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.28.4"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz"
- integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==
- dependencies:
- "@babel/helper-string-parser" "^7.27.1"
- "@babel/helper-validator-identifier" "^7.27.1"
-
-"@bcoe/v8-coverage@^0.2.3":
- version "0.2.3"
- resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz"
- integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-
-"@callstack/react-theme-provider@^3.0.9":
- version "3.0.9"
- resolved "https://registry.npmjs.org/@callstack/react-theme-provider/-/react-theme-provider-3.0.9.tgz"
- integrity sha512-tTQ0uDSCL0ypeMa8T/E9wAZRGKWj8kXP7+6RYgPTfOPs9N07C9xM8P02GJ3feETap4Ux5S69D9nteq9mEj86NA==
- dependencies:
- deepmerge "^3.2.0"
- hoist-non-react-statics "^3.3.0"
-
-"@commitlint/cli@^20.1.0":
- version "20.1.0"
- resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-20.1.0.tgz"
- integrity sha512-pW5ujjrOovhq5RcYv5xCpb4GkZxkO2+GtOdBW2/qrr0Ll9tl3PX0aBBobGQl3mdZUbOBgwAexEQLeH6uxL0VYg==
- dependencies:
- "@commitlint/format" "^20.0.0"
- "@commitlint/lint" "^20.0.0"
- "@commitlint/load" "^20.1.0"
- "@commitlint/read" "^20.0.0"
- "@commitlint/types" "^20.0.0"
- tinyexec "^1.0.0"
- yargs "^17.0.0"
-
-"@commitlint/config-conventional@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.0.0.tgz"
- integrity sha512-q7JroPIkDBtyOkVe9Bca0p7kAUYxZMxkrBArCfuD3yN4KjRAenP9PmYwnn7rsw8Q+hHq1QB2BRmBh0/Z19ZoJw==
- dependencies:
- "@commitlint/types" "^20.0.0"
- conventional-changelog-conventionalcommits "^7.0.2"
-
-"@commitlint/config-validator@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.0.0.tgz"
- integrity sha512-BeyLMaRIJDdroJuYM2EGhDMGwVBMZna9UiIqV9hxj+J551Ctc6yoGuGSmghOy/qPhBSuhA6oMtbEiTmxECafsg==
- dependencies:
- "@commitlint/types" "^20.0.0"
- ajv "^8.11.0"
-
-"@commitlint/ensure@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.0.0.tgz"
- integrity sha512-WBV47Fffvabe68n+13HJNFBqiMH5U1Ryls4W3ieGwPC0C7kJqp3OVQQzG2GXqOALmzrgAB+7GXmyy8N9ct8/Fg==
- dependencies:
- "@commitlint/types" "^20.0.0"
- lodash.camelcase "^4.3.0"
- lodash.kebabcase "^4.1.1"
- lodash.snakecase "^4.1.1"
- lodash.startcase "^4.4.0"
- lodash.upperfirst "^4.3.1"
-
-"@commitlint/execute-rule@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-20.0.0.tgz"
- integrity sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==
-
-"@commitlint/format@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/format/-/format-20.0.0.tgz"
- integrity sha512-zrZQXUcSDmQ4eGGrd+gFESiX0Rw+WFJk7nW4VFOmxub4mAATNKBQ4vNw5FgMCVehLUKG2OT2LjOqD0Hk8HvcRg==
- dependencies:
- "@commitlint/types" "^20.0.0"
- chalk "^5.3.0"
-
-"@commitlint/is-ignored@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.0.0.tgz"
- integrity sha512-ayPLicsqqGAphYIQwh9LdAYOVAQ9Oe5QCgTNTj+BfxZb9b/JW222V5taPoIBzYnAP0z9EfUtljgBk+0BN4T4Cw==
- dependencies:
- "@commitlint/types" "^20.0.0"
- semver "^7.6.0"
-
-"@commitlint/lint@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-20.0.0.tgz"
- integrity sha512-kWrX8SfWk4+4nCexfLaQT3f3EcNjJwJBsSZ5rMBw6JCd6OzXufFHgel2Curos4LKIxwec9WSvs2YUD87rXlxNQ==
- dependencies:
- "@commitlint/is-ignored" "^20.0.0"
- "@commitlint/parse" "^20.0.0"
- "@commitlint/rules" "^20.0.0"
- "@commitlint/types" "^20.0.0"
-
-"@commitlint/load@^20.1.0":
- version "20.1.0"
- resolved "https://registry.npmjs.org/@commitlint/load/-/load-20.1.0.tgz"
- integrity sha512-qo9ER0XiAimATQR5QhvvzePfeDfApi/AFlC1G+YN+ZAY8/Ua6IRrDrxRvQAr+YXUKAxUsTDSp9KXeXLBPsNRWg==
- dependencies:
- "@commitlint/config-validator" "^20.0.0"
- "@commitlint/execute-rule" "^20.0.0"
- "@commitlint/resolve-extends" "^20.1.0"
- "@commitlint/types" "^20.0.0"
- chalk "^5.3.0"
- cosmiconfig "^9.0.0"
- cosmiconfig-typescript-loader "^6.1.0"
- lodash.isplainobject "^4.0.6"
- lodash.merge "^4.6.2"
- lodash.uniq "^4.5.0"
-
-"@commitlint/message@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/message/-/message-20.0.0.tgz"
- integrity sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==
-
-"@commitlint/parse@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-20.0.0.tgz"
- integrity sha512-j/PHCDX2bGM5xGcWObOvpOc54cXjn9g6xScXzAeOLwTsScaL4Y+qd0pFC6HBwTtrH92NvJQc+2Lx9HFkVi48cg==
- dependencies:
- "@commitlint/types" "^20.0.0"
- conventional-changelog-angular "^7.0.0"
- conventional-commits-parser "^5.0.0"
-
-"@commitlint/read@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/read/-/read-20.0.0.tgz"
- integrity sha512-Ti7Y7aEgxsM1nkwA4ZIJczkTFRX/+USMjNrL9NXwWQHqNqrBX2iMi+zfuzZXqfZ327WXBjdkRaytJ+z5vNqTOA==
- dependencies:
- "@commitlint/top-level" "^20.0.0"
- "@commitlint/types" "^20.0.0"
- git-raw-commits "^4.0.0"
- minimist "^1.2.8"
- tinyexec "^1.0.0"
-
-"@commitlint/resolve-extends@^20.1.0":
- version "20.1.0"
- resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.1.0.tgz"
- integrity sha512-cxKXQrqHjZT3o+XPdqDCwOWVFQiae++uwd9dUBC7f2MdV58ons3uUvASdW7m55eat5sRiQ6xUHyMWMRm6atZWw==
- dependencies:
- "@commitlint/config-validator" "^20.0.0"
- "@commitlint/types" "^20.0.0"
- global-directory "^4.0.1"
- import-meta-resolve "^4.0.0"
- lodash.mergewith "^4.6.2"
- resolve-from "^5.0.0"
-
-"@commitlint/rules@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-20.0.0.tgz"
- integrity sha512-gvg2k10I/RfvHn5I5sxvVZKM1fl72Sqrv2YY/BnM7lMHcYqO0E2jnRWoYguvBfEcZ39t+rbATlciggVe77E4zA==
- dependencies:
- "@commitlint/ensure" "^20.0.0"
- "@commitlint/message" "^20.0.0"
- "@commitlint/to-lines" "^20.0.0"
- "@commitlint/types" "^20.0.0"
-
-"@commitlint/to-lines@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-20.0.0.tgz"
- integrity sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==
-
-"@commitlint/top-level@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.0.0.tgz"
- integrity sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==
- dependencies:
- find-up "^7.0.0"
-
-"@commitlint/types@^20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@commitlint/types/-/types-20.0.0.tgz"
- integrity sha512-bVUNBqG6aznYcYjTjnc3+Cat/iBgbgpflxbIBTnsHTX0YVpnmINPEkSRWymT2Q8aSH3Y7aKnEbunilkYe8TybA==
- dependencies:
- "@types/conventional-commits-parser" "^5.0.0"
- chalk "^5.3.0"
-
-"@dr.pogodin/react-native-fs@^2.36.0":
- version "2.36.0"
- resolved "https://registry.npmjs.org/@dr.pogodin/react-native-fs/-/react-native-fs-2.36.0.tgz"
- integrity sha512-1pBdtSjIGHs6nJ4JiOc0VzBkLSc7H56yv9P1dqqr1AZSUjarNjXFz+eDLdHig9rUCP2bEkXBmFScHiAc5sF5xg==
- dependencies:
- buffer "^6.0.3"
- http-status-codes "^2.3.0"
-
-"@egjs/hammerjs@^2.0.17":
- version "2.0.17"
- resolved "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz"
- integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==
- dependencies:
- "@types/hammerjs" "^2.0.36"
-
-"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.9.1":
- version "4.9.1"
- resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz"
- integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==
- dependencies:
- eslint-visitor-keys "^3.4.3"
-
-"@eslint-community/regexpp@^4.12.2", "@eslint-community/regexpp@^4.6.1":
- version "4.12.2"
- resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz"
- integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==
-
-"@eslint/eslintrc@^2.1.4":
- version "2.1.4"
- resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
- integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.6.0"
- globals "^13.19.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
-
-"@eslint/js@8.57.1":
- version "8.57.1"
- resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz"
- integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
-
-"@firebase/ai@2.4.0":
- version "2.4.0"
- resolved "https://registry.npmjs.org/@firebase/ai/-/ai-2.4.0.tgz"
- integrity sha512-YilG6AJ/nYpCKtxZyvEzBRAQv5bU+2tBOKX4Ps0rNNSdxN39aT37kGhjATbk1kq1z5Lq7mkWglw/ajAF3lOWUg==
- dependencies:
- "@firebase/app-check-interop-types" "0.3.3"
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/analytics-compat@0.2.25":
- version "0.2.25"
- resolved "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.25.tgz"
- integrity sha512-fdzoaG0BEKbqksRDhmf4JoyZf16Wosrl0Y7tbZtJyVDOOwziE0vrFjmZuTdviL0yhak+Nco6rMsUUbkbD+qb6Q==
- dependencies:
- "@firebase/analytics" "0.10.19"
- "@firebase/analytics-types" "0.8.3"
- "@firebase/component" "0.7.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/analytics-types@0.8.3":
- version "0.8.3"
- resolved "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz"
- integrity sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==
-
-"@firebase/analytics@0.10.19":
- version "0.10.19"
- resolved "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.19.tgz"
- integrity sha512-3wU676fh60gaiVYQEEXsbGS4HbF2XsiBphyvvqDbtC1U4/dO4coshbYktcCHq+HFaGIK07iHOh4pME0hEq1fcg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/installations" "0.6.19"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/app-check-compat@0.4.0":
- version "0.4.0"
- resolved "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.4.0.tgz"
- integrity sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g==
- dependencies:
- "@firebase/app-check" "0.11.0"
- "@firebase/app-check-types" "0.5.3"
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/app-check-interop-types@0.3.3":
- version "0.3.3"
- resolved "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz"
- integrity sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==
-
-"@firebase/app-check-types@0.5.3":
- version "0.5.3"
- resolved "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz"
- integrity sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==
-
-"@firebase/app-check@0.11.0":
- version "0.11.0"
- resolved "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.11.0.tgz"
- integrity sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/app-compat@0.5.4":
- version "0.5.4"
- resolved "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.5.4.tgz"
- integrity sha512-T7ifGmb+awJEcp542Ek4HtNfBxcBrnuk1ggUdqyFEdsXHdq7+wVlhvE6YukTL7NS8hIkEfL7TMAPx/uCNqt30g==
- dependencies:
- "@firebase/app" "0.14.4"
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/app-types@0.9.3":
- version "0.9.3"
- resolved "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz"
- integrity sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==
-
-"@firebase/app@0.14.4":
- version "0.14.4"
- resolved "https://registry.npmjs.org/@firebase/app/-/app-0.14.4.tgz"
- integrity sha512-pUxEGmR+uu21OG/icAovjlu1fcYJzyVhhT0rsCrn+zi+nHtrS43Bp9KPn9KGa4NMspCUE++nkyiqziuIvJdwzw==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- idb "7.1.1"
- tslib "^2.1.0"
-
-"@firebase/auth-compat@0.6.0":
- version "0.6.0"
- resolved "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.6.0.tgz"
- integrity sha512-J0lGSxXlG/lYVi45wbpPhcWiWUMXevY4fvLZsN1GHh+po7TZVng+figdHBVhFheaiipU8HZyc7ljw1jNojM2nw==
- dependencies:
- "@firebase/auth" "1.11.0"
- "@firebase/auth-types" "0.13.0"
- "@firebase/component" "0.7.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/auth-interop-types@0.2.4":
- version "0.2.4"
- resolved "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz"
- integrity sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==
-
-"@firebase/auth-types@0.13.0":
- version "0.13.0"
- resolved "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz"
- integrity sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==
-
-"@firebase/auth@1.11.0":
- version "1.11.0"
- resolved "https://registry.npmjs.org/@firebase/auth/-/auth-1.11.0.tgz"
- integrity sha512-5j7+ua93X+IRcJ1oMDTClTo85l7Xe40WSkoJ+shzPrX7OISlVWLdE1mKC57PSD+/LfAbdhJmvKixINBw2ESK6w==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/component@0.7.0":
- version "0.7.0"
- resolved "https://registry.npmjs.org/@firebase/component/-/component-0.7.0.tgz"
- integrity sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg==
- dependencies:
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/data-connect@0.3.11":
- version "0.3.11"
- resolved "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.11.tgz"
- integrity sha512-G258eLzAD6im9Bsw+Qm1Z+P4x0PGNQ45yeUuuqe5M9B1rn0RJvvsQCRHXgE52Z+n9+WX1OJd/crcuunvOGc7Vw==
- dependencies:
- "@firebase/auth-interop-types" "0.2.4"
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/database-compat@2.1.0":
- version "2.1.0"
- resolved "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.1.0.tgz"
- integrity sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/database" "1.1.0"
- "@firebase/database-types" "1.0.16"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/database-types@1.0.16":
- version "1.0.16"
- resolved "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.16.tgz"
- integrity sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw==
- dependencies:
- "@firebase/app-types" "0.9.3"
- "@firebase/util" "1.13.0"
-
-"@firebase/database@1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@firebase/database/-/database-1.1.0.tgz"
- integrity sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg==
- dependencies:
- "@firebase/app-check-interop-types" "0.3.3"
- "@firebase/auth-interop-types" "0.2.4"
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- faye-websocket "0.11.4"
- tslib "^2.1.0"
-
-"@firebase/firestore-compat@0.4.2":
- version "0.4.2"
- resolved "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.4.2.tgz"
- integrity sha512-cy7ov6SpFBx+PHwFdOOjbI7kH00uNKmIFurAn560WiPCZXy9EMnil1SOG7VF4hHZKdenC+AHtL4r3fNpirpm0w==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/firestore" "4.9.2"
- "@firebase/firestore-types" "3.0.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/firestore-types@3.0.3":
- version "3.0.3"
- resolved "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz"
- integrity sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==
-
-"@firebase/firestore@4.9.2":
- version "4.9.2"
- resolved "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.9.2.tgz"
- integrity sha512-iuA5+nVr/IV/Thm0Luoqf2mERUvK9g791FZpUJV1ZGXO6RL2/i/WFJUj5ZTVXy5pRjpWYO+ZzPcReNrlilmztA==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- "@firebase/webchannel-wrapper" "1.0.5"
- "@grpc/grpc-js" "~1.9.0"
- "@grpc/proto-loader" "^0.7.8"
- tslib "^2.1.0"
-
-"@firebase/functions-compat@0.4.1":
- version "0.4.1"
- resolved "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.4.1.tgz"
- integrity sha512-AxxUBXKuPrWaVNQ8o1cG1GaCAtXT8a0eaTDfqgS5VsRYLAR0ALcfqDLwo/QyijZj1w8Qf8n3Qrfy/+Im245hOQ==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/functions" "0.13.1"
- "@firebase/functions-types" "0.6.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/functions-types@0.6.3":
- version "0.6.3"
- resolved "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz"
- integrity sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==
-
-"@firebase/functions@0.13.1":
- version "0.13.1"
- resolved "https://registry.npmjs.org/@firebase/functions/-/functions-0.13.1.tgz"
- integrity sha512-sUeWSb0rw5T+6wuV2o9XNmh9yHxjFI9zVGFnjFi+n7drTEWpl7ZTz1nROgGrSu472r+LAaj+2YaSicD4R8wfbw==
- dependencies:
- "@firebase/app-check-interop-types" "0.3.3"
- "@firebase/auth-interop-types" "0.2.4"
- "@firebase/component" "0.7.0"
- "@firebase/messaging-interop-types" "0.2.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/installations-compat@0.2.19":
- version "0.2.19"
- resolved "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.19.tgz"
- integrity sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/installations" "0.6.19"
- "@firebase/installations-types" "0.5.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/installations-types@0.5.3":
- version "0.5.3"
- resolved "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz"
- integrity sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==
-
-"@firebase/installations@0.6.19":
- version "0.6.19"
- resolved "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.19.tgz"
- integrity sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/util" "1.13.0"
- idb "7.1.1"
- tslib "^2.1.0"
-
-"@firebase/logger@0.5.0":
- version "0.5.0"
- resolved "https://registry.npmjs.org/@firebase/logger/-/logger-0.5.0.tgz"
- integrity sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==
- dependencies:
- tslib "^2.1.0"
-
-"@firebase/messaging-compat@0.2.23":
- version "0.2.23"
- resolved "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.23.tgz"
- integrity sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/messaging" "0.12.23"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/messaging-interop-types@0.2.3":
- version "0.2.3"
- resolved "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz"
- integrity sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==
-
-"@firebase/messaging@0.12.23":
- version "0.12.23"
- resolved "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.23.tgz"
- integrity sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/installations" "0.6.19"
- "@firebase/messaging-interop-types" "0.2.3"
- "@firebase/util" "1.13.0"
- idb "7.1.1"
- tslib "^2.1.0"
-
-"@firebase/performance-compat@0.2.22":
- version "0.2.22"
- resolved "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.22.tgz"
- integrity sha512-xLKxaSAl/FVi10wDX/CHIYEUP13jXUjinL+UaNXT9ByIvxII5Ne5150mx6IgM8G6Q3V+sPiw9C8/kygkyHUVxg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/performance" "0.7.9"
- "@firebase/performance-types" "0.2.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/performance-types@0.2.3":
- version "0.2.3"
- resolved "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz"
- integrity sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==
-
-"@firebase/performance@0.7.9":
- version "0.7.9"
- resolved "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.9.tgz"
- integrity sha512-UzybENl1EdM2I1sjYm74xGt/0JzRnU/0VmfMAKo2LSpHJzaj77FCLZXmYQ4oOuE+Pxtt8Wy2BVJEENiZkaZAzQ==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/installations" "0.6.19"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
- web-vitals "^4.2.4"
-
-"@firebase/remote-config-compat@0.2.20":
- version "0.2.20"
- resolved "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.20.tgz"
- integrity sha512-P/ULS9vU35EL9maG7xp66uljkZgcPMQOxLj3Zx2F289baTKSInE6+YIkgHEi1TwHoddC/AFePXPpshPlEFkbgg==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/logger" "0.5.0"
- "@firebase/remote-config" "0.7.0"
- "@firebase/remote-config-types" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/remote-config-types@0.5.0":
- version "0.5.0"
- resolved "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.5.0.tgz"
- integrity sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg==
-
-"@firebase/remote-config@0.7.0":
- version "0.7.0"
- resolved "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.7.0.tgz"
- integrity sha512-dX95X6WlW7QlgNd7aaGdjAIZUiQkgWgNS+aKNu4Wv92H1T8Ue/NDUjZHd9xb8fHxLXIHNZeco9/qbZzr500MjQ==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/installations" "0.6.19"
- "@firebase/logger" "0.5.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/storage-compat@0.4.0":
- version "0.4.0"
- resolved "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.4.0.tgz"
- integrity sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/storage" "0.14.0"
- "@firebase/storage-types" "0.8.3"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/storage-types@0.8.3":
- version "0.8.3"
- resolved "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz"
- integrity sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==
-
-"@firebase/storage@0.14.0":
- version "0.14.0"
- resolved "https://registry.npmjs.org/@firebase/storage/-/storage-0.14.0.tgz"
- integrity sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA==
- dependencies:
- "@firebase/component" "0.7.0"
- "@firebase/util" "1.13.0"
- tslib "^2.1.0"
-
-"@firebase/util@1.13.0":
- version "1.13.0"
- resolved "https://registry.npmjs.org/@firebase/util/-/util-1.13.0.tgz"
- integrity sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==
- dependencies:
- tslib "^2.1.0"
-
-"@firebase/webchannel-wrapper@1.0.5":
- version "1.0.5"
- resolved "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.5.tgz"
- integrity sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==
-
-"@flyerhq/react-native-link-preview@^1.6.0":
- version "1.6.0"
- resolved "https://registry.npmjs.org/@flyerhq/react-native-link-preview/-/react-native-link-preview-1.6.0.tgz"
- integrity sha512-MY2Kxlf3SzLVUAuGU2LXhDU0a2icNBWL7MDCA8BNpmKqsWI+tHjX3mHm5nGpsLweYG5wsajzBd5XS0KCXNPkJA==
- dependencies:
- html-entities "^2.3.2"
-
-"@gorhom/bottom-sheet@^5.2.8":
- version "5.2.8"
- resolved "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.2.8.tgz"
- integrity sha512-+N27SMpbBxXZQ/IA2nlEV6RGxL/qSFHKfdFKcygvW+HqPG5jVNb1OqehLQsGfBP+Up42i0gW5ppI+DhpB7UCzA==
- dependencies:
- "@gorhom/portal" "1.0.14"
- invariant "^2.2.4"
-
-"@gorhom/portal@1.0.14":
- version "1.0.14"
- resolved "https://registry.npmjs.org/@gorhom/portal/-/portal-1.0.14.tgz"
- integrity sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==
- dependencies:
- nanoid "^3.3.1"
-
-"@grpc/grpc-js@~1.9.0":
- version "1.9.15"
- resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz"
- integrity sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==
- dependencies:
- "@grpc/proto-loader" "^0.7.8"
- "@types/node" ">=12.12.47"
-
-"@grpc/proto-loader@^0.7.8":
- version "0.7.15"
- resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz"
- integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==
- dependencies:
- lodash.camelcase "^4.3.0"
- long "^5.0.0"
- protobufjs "^7.2.5"
- yargs "^17.7.2"
-
-"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
- version "9.3.0"
- resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz"
- integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
-
-"@hapi/topo@^5.1.0":
- version "5.1.0"
- resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz"
- integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
-"@hookform/resolvers@^5.2.2":
- version "5.2.2"
- resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.2.2.tgz"
- integrity sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==
- dependencies:
- "@standard-schema/utils" "^0.3.0"
-
-"@humanwhocodes/config-array@^0.13.0":
- version "0.13.0"
- resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz"
- integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==
- dependencies:
- "@humanwhocodes/object-schema" "^2.0.3"
- debug "^4.3.1"
- minimatch "^3.0.5"
-
-"@humanwhocodes/module-importer@^1.0.1":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
- integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
-
-"@humanwhocodes/object-schema@^2.0.3":
- version "2.0.3"
- resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
- integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
-
-"@isaacs/ttlcache@^1.4.1":
- version "1.4.1"
- resolved "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz"
- integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==
-
-"@istanbuljs/load-nyc-config@^1.0.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz"
- integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
- dependencies:
- camelcase "^5.3.1"
- find-up "^4.1.0"
- get-package-type "^0.1.0"
- js-yaml "^3.13.1"
- resolve-from "^5.0.0"
-
-"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
- version "0.1.3"
- resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz"
- integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
-
-"@jest/console@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz"
- integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
- dependencies:
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- chalk "^4.0.0"
- jest-message-util "^29.7.0"
- jest-util "^29.7.0"
- slash "^3.0.0"
-
-"@jest/core@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz"
- integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==
- dependencies:
- "@jest/console" "^29.7.0"
- "@jest/reporters" "^29.7.0"
- "@jest/test-result" "^29.7.0"
- "@jest/transform" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- ansi-escapes "^4.2.1"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- exit "^0.1.2"
- graceful-fs "^4.2.9"
- jest-changed-files "^29.7.0"
- jest-config "^29.7.0"
- jest-haste-map "^29.7.0"
- jest-message-util "^29.7.0"
- jest-regex-util "^29.6.3"
- jest-resolve "^29.7.0"
- jest-resolve-dependencies "^29.7.0"
- jest-runner "^29.7.0"
- jest-runtime "^29.7.0"
- jest-snapshot "^29.7.0"
- jest-util "^29.7.0"
- jest-validate "^29.7.0"
- jest-watcher "^29.7.0"
- micromatch "^4.0.4"
- pretty-format "^29.7.0"
- slash "^3.0.0"
- strip-ansi "^6.0.0"
-
-"@jest/create-cache-key-function@^29.7.0":
- 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==
- dependencies:
- "@jest/types" "^29.6.3"
-
-"@jest/diff-sequences@30.0.1":
- version "30.0.1"
- resolved "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz"
- integrity sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==
-
-"@jest/environment@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz"
- integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
- dependencies:
- "@jest/fake-timers" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- jest-mock "^29.7.0"
-
-"@jest/expect-utils@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz"
- integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==
- dependencies:
- jest-get-type "^29.6.3"
-
-"@jest/expect@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz"
- integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
- dependencies:
- expect "^29.7.0"
- jest-snapshot "^29.7.0"
-
-"@jest/fake-timers@^29.7.0":
- 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==
- 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"
-
-"@jest/get-type@30.1.0":
- version "30.1.0"
- resolved "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz"
- integrity sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==
-
-"@jest/globals@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz"
- integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
- dependencies:
- "@jest/environment" "^29.7.0"
- "@jest/expect" "^29.7.0"
- "@jest/types" "^29.6.3"
- jest-mock "^29.7.0"
-
-"@jest/pattern@30.0.1":
- version "30.0.1"
- resolved "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz"
- integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==
- dependencies:
- "@types/node" "*"
- jest-regex-util "30.0.1"
-
-"@jest/reporters@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz"
- integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==
- dependencies:
- "@bcoe/v8-coverage" "^0.2.3"
- "@jest/console" "^29.7.0"
- "@jest/test-result" "^29.7.0"
- "@jest/transform" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@jridgewell/trace-mapping" "^0.3.18"
- "@types/node" "*"
- chalk "^4.0.0"
- collect-v8-coverage "^1.0.0"
- exit "^0.1.2"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- istanbul-lib-coverage "^3.0.0"
- istanbul-lib-instrument "^6.0.0"
- istanbul-lib-report "^3.0.0"
- istanbul-lib-source-maps "^4.0.0"
- istanbul-reports "^3.1.3"
- jest-message-util "^29.7.0"
- jest-util "^29.7.0"
- jest-worker "^29.7.0"
- slash "^3.0.0"
- string-length "^4.0.1"
- strip-ansi "^6.0.0"
- v8-to-istanbul "^9.0.1"
-
-"@jest/schemas@30.0.5":
- version "30.0.5"
- resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz"
- integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==
- dependencies:
- "@sinclair/typebox" "^0.34.0"
-
-"@jest/schemas@^29.6.3":
- version "29.6.3"
- resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz"
- integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
- dependencies:
- "@sinclair/typebox" "^0.27.8"
-
-"@jest/source-map@^29.6.3":
- version "29.6.3"
- resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz"
- integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.18"
- callsites "^3.0.0"
- graceful-fs "^4.2.9"
-
-"@jest/test-result@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz"
- integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
- dependencies:
- "@jest/console" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/istanbul-lib-coverage" "^2.0.0"
- collect-v8-coverage "^1.0.0"
-
-"@jest/test-sequencer@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz"
- integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
- dependencies:
- "@jest/test-result" "^29.7.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.7.0"
- slash "^3.0.0"
-
-"@jest/transform@30.2.0":
- version "30.2.0"
- resolved "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz"
- integrity sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==
- dependencies:
- "@babel/core" "^7.27.4"
- "@jest/types" "30.2.0"
- "@jridgewell/trace-mapping" "^0.3.25"
- babel-plugin-istanbul "^7.0.1"
- chalk "^4.1.2"
- convert-source-map "^2.0.0"
- fast-json-stable-stringify "^2.1.0"
- graceful-fs "^4.2.11"
- jest-haste-map "30.2.0"
- jest-regex-util "30.0.1"
- jest-util "30.2.0"
- micromatch "^4.0.8"
- pirates "^4.0.7"
- slash "^3.0.0"
- write-file-atomic "^5.0.1"
-
-"@jest/transform@^29.7.0":
- version "29.7.0"
- resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
- integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/types" "^29.6.3"
- "@jridgewell/trace-mapping" "^0.3.18"
- babel-plugin-istanbul "^6.1.1"
- chalk "^4.0.0"
- convert-source-map "^2.0.0"
- fast-json-stable-stringify "^2.1.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.7.0"
- jest-regex-util "^29.6.3"
- jest-util "^29.7.0"
- micromatch "^4.0.4"
- pirates "^4.0.4"
- slash "^3.0.0"
- write-file-atomic "^4.0.2"
-
-"@jest/types@30.2.0":
- version "30.2.0"
- resolved "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz"
- integrity sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==
- dependencies:
- "@jest/pattern" "30.0.1"
- "@jest/schemas" "30.0.5"
- "@types/istanbul-lib-coverage" "^2.0.6"
- "@types/istanbul-reports" "^3.0.4"
- "@types/node" "*"
- "@types/yargs" "^17.0.33"
- chalk "^4.1.2"
-
-"@jest/types@^29.6.3":
- version "29.6.3"
- resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
- integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
- 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"
-
-"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
- 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==
- dependencies:
- "@jridgewell/sourcemap-codec" "^1.5.0"
- "@jridgewell/trace-mapping" "^0.3.24"
-
-"@jridgewell/remapping@^2.3.5":
- version "2.3.5"
- resolved "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz"
- integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.5"
- "@jridgewell/trace-mapping" "^0.3.24"
-
-"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.2"
- resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
- integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-
-"@jridgewell/source-map@^0.3.3":
- version "0.3.11"
- resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz"
- integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.5"
- "@jridgewell/trace-mapping" "^0.3.25"
-
-"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
- version "1.5.5"
- resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"
- integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
-
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28":
- version "0.3.31"
- resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz"
- integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
- dependencies:
- "@jridgewell/resolve-uri" "^3.1.0"
- "@jridgewell/sourcemap-codec" "^1.4.14"
-
-"@jsamr/counter-style@^2.0.1":
- version "2.0.2"
- resolved "https://registry.npmjs.org/@jsamr/counter-style/-/counter-style-2.0.2.tgz"
- integrity sha512-2mXudGVtSzVxWEA7B9jZLKjoXUeUFYDDtFrQoC0IFX9/Dszz4t1vZOmafi3JSw/FxD+udMQ+4TAFR8Qs0J3URQ==
-
-"@jsamr/react-native-li@^2.3.0":
- version "2.3.1"
- resolved "https://registry.npmjs.org/@jsamr/react-native-li/-/react-native-li-2.3.1.tgz"
- integrity sha512-Qbo4NEj48SQ4k8FZJHFE2fgZDKTWaUGmVxcIQh3msg5JezLdTMMHuRRDYctfdHI6L0FZGObmEv3haWbIvmol8w==
-
-"@native-html/css-processor@1.11.0":
- version "1.11.0"
- resolved "https://registry.npmjs.org/@native-html/css-processor/-/css-processor-1.11.0.tgz"
- integrity sha512-NnhBEbJX5M2gBGltPKOetiLlKhNf3OHdRafc8//e2ZQxXN8JaSW/Hy8cm94pnIckQxwaMKxrtaNT3x4ZcffoNQ==
- dependencies:
- css-to-react-native "^3.0.0"
- csstype "^3.0.8"
-
-"@native-html/transient-render-engine@11.2.3":
- version "11.2.3"
- resolved "https://registry.npmjs.org/@native-html/transient-render-engine/-/transient-render-engine-11.2.3.tgz"
- integrity sha512-zXwgA3gPUEmFs3I3syfnvDvS6WiUHXEE6jY09OBzK+trq7wkweOSFWIoyXiGkbXrozGYG0KY90YgPyr8Tg8Uyg==
- dependencies:
- "@native-html/css-processor" "1.11.0"
- "@types/ramda" "^0.27.44"
- csstype "^3.0.9"
- domelementtype "^2.2.0"
- domhandler "^4.2.2"
- domutils "^2.8.0"
- htmlparser2 "^7.1.2"
- ramda "^0.27.2"
-
-"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
- version "5.1.1-v1"
- resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz"
- integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==
- dependencies:
- eslint-scope "5.1.1"
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
- version "1.2.8"
- resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@nozbe/simdjson@3.9.4":
- version "3.9.4"
- resolved "https://registry.npmjs.org/@nozbe/simdjson/-/simdjson-3.9.4.tgz"
- integrity sha512-/3oCP8GBpdyeiBMEnuI6S0yl0yekD6Qxfed67hZqU1GIVn3o/vZgE8qANm69THfw7JgHLS9zjx56F/dO3q+koA==
-
-"@nozbe/sqlite@3.46.0":
- version "3.46.0"
- resolved "https://registry.npmjs.org/@nozbe/sqlite/-/sqlite-3.46.0.tgz"
- integrity sha512-ntt8eNp5hh+axX9+kFb5uwyVE0edyfhiYYr+zHDzzFleGC7Qm+a2wHDWDtmRr5nSfbgomhY1uh30kpsHEIR3Mw==
-
-"@nozbe/watermelondb@^0.28.0":
- version "0.28.0"
- resolved "https://registry.npmjs.org/@nozbe/watermelondb/-/watermelondb-0.28.0.tgz"
- integrity sha512-40ttcqPOLCTGnbfCQAXSEo8J4KlH/QQhwTfTb9E21CyX/driMEZueiJSI2rSkHICZrI2vnu52aRubNbI3UAzQQ==
- dependencies:
- "@babel/runtime" "7.26.0"
- "@nozbe/simdjson" "3.9.4"
- "@nozbe/sqlite" "3.46.0"
- hoist-non-react-statics "^3.3.2"
- lokijs "npm:@nozbe/lokijs@1.5.12-wmelon6"
- rxjs "^7.8.1"
- sql-escape-string "^1.1.0"
-
-"@pkgr/core@^0.2.9":
- version "0.2.9"
- resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz"
- integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==
-
-"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz"
- integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==
-
-"@protobufjs/base64@^1.1.2":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz"
- integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
-
-"@protobufjs/codegen@^2.0.4":
- version "2.0.4"
- resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz"
- integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
-
-"@protobufjs/eventemitter@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz"
- integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==
-
-"@protobufjs/fetch@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz"
- integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==
- dependencies:
- "@protobufjs/aspromise" "^1.1.1"
- "@protobufjs/inquire" "^1.1.0"
-
-"@protobufjs/float@^1.0.2":
- version "1.0.2"
- resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz"
- integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==
-
-"@protobufjs/inquire@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz"
- integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==
-
-"@protobufjs/path@^1.1.2":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz"
- integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==
-
-"@protobufjs/pool@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz"
- integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==
-
-"@protobufjs/utf8@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
- integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
-
-"@react-native-async-storage/async-storage@^2.2.0":
- version "2.2.0"
- resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz"
- integrity sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==
- dependencies:
- merge-options "^3.0.4"
-
-"@react-native-clipboard/clipboard@^1.16.3":
- version "1.16.3"
- resolved "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.16.3.tgz"
- integrity sha512-cMIcvoZKIrShzJHEaHbTAp458R9WOv0fB6UyC7Ek4Qk561Ow/DrzmmJmH/rAZg21Z6ixJ4YSdFDC14crqIBmCQ==
-
-"@react-native-community/cli-clean@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-20.0.0.tgz"
- integrity sha512-YmdNRcT+Dp8lC7CfxSDIfPMbVPEXVFzBH62VZNbYGxjyakqAvoQUFTYPgM2AyFusAr4wDFbDOsEv88gCDwR3ig==
- dependencies:
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-glob "^3.3.2"
-
-"@react-native-community/cli-config-android@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-config-android/-/cli-config-android-20.0.0.tgz"
- integrity sha512-asv60qYCnL1v0QFWcG9r1zckeFlKG+14GGNyPXY72Eea7RX5Cxdx8Pb6fIPKroWH1HEWjYH9KKHksMSnf9FMKw==
- dependencies:
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- fast-glob "^3.3.2"
- fast-xml-parser "^4.4.1"
-
-"@react-native-community/cli-config-apple@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-config-apple/-/cli-config-apple-20.0.0.tgz"
- integrity sha512-PS1gNOdpeQ6w7dVu1zi++E+ix2D0ZkGC2SQP6Y/Qp002wG4se56esLXItYiiLrJkhH21P28fXdmYvTEkjSm9/Q==
- dependencies:
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-glob "^3.3.2"
-
-"@react-native-community/cli-config@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-20.0.0.tgz"
- integrity sha512-5Ky9ceYuDqG62VIIpbOmkg8Lybj2fUjf/5wK4UO107uRqejBgNgKsbGnIZgEhREcaSEOkujWrroJ9gweueLfBg==
- dependencies:
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- cosmiconfig "^9.0.0"
- deepmerge "^4.3.0"
- fast-glob "^3.3.2"
- joi "^17.2.1"
-
-"@react-native-community/cli-doctor@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-20.0.0.tgz"
- integrity sha512-cPHspi59+Fy41FDVxt62ZWoicCZ1o34k8LAl64NVSY0lwPl+CEi78jipXJhtfkVqSTetloA8zexa/vSAcJy57Q==
- dependencies:
- "@react-native-community/cli-config" "20.0.0"
- "@react-native-community/cli-platform-android" "20.0.0"
- "@react-native-community/cli-platform-apple" "20.0.0"
- "@react-native-community/cli-platform-ios" "20.0.0"
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- command-exists "^1.2.8"
- deepmerge "^4.3.0"
- envinfo "^7.13.0"
- execa "^5.0.0"
- node-stream-zip "^1.9.1"
- ora "^5.4.1"
- semver "^7.5.2"
- wcwidth "^1.0.1"
- yaml "^2.2.1"
-
-"@react-native-community/cli-platform-android@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-20.0.0.tgz"
- integrity sha512-th3ji1GRcV6ACelgC0wJtt9daDZ+63/52KTwL39xXGoqczFjml4qERK90/ppcXU0Ilgq55ANF8Pr+UotQ2AB/A==
- dependencies:
- "@react-native-community/cli-config-android" "20.0.0"
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- execa "^5.0.0"
- logkitty "^0.7.1"
-
-"@react-native-community/cli-platform-apple@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-20.0.0.tgz"
- integrity sha512-rZZCnAjUHN1XBgiWTAMwEKpbVTO4IHBSecdd1VxJFeTZ7WjmstqA6L/HXcnueBgxrzTCRqvkRIyEQXxC1OfhGw==
- dependencies:
- "@react-native-community/cli-config-apple" "20.0.0"
- "@react-native-community/cli-tools" "20.0.0"
- chalk "^4.1.2"
- execa "^5.0.0"
- fast-xml-parser "^4.4.1"
-
-"@react-native-community/cli-platform-ios@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-20.0.0.tgz"
- integrity sha512-Z35M+4gUJgtS4WqgpKU9/XYur70nmj3Q65c9USyTq6v/7YJ4VmBkmhC9BticPs6wuQ9Jcv0NyVCY0Wmh6kMMYw==
- dependencies:
- "@react-native-community/cli-platform-apple" "20.0.0"
-
-"@react-native-community/cli-server-api@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-20.0.0.tgz"
- integrity sha512-Ves21bXtjUK3tQbtqw/NdzpMW1vR2HvYCkUQ/MXKrJcPjgJnXQpSnTqHXz6ZdBlMbbwLJXOhSPiYzxb5/v4CDg==
- dependencies:
- "@react-native-community/cli-tools" "20.0.0"
- body-parser "^1.20.3"
- compression "^1.7.1"
- connect "^3.6.5"
- errorhandler "^1.5.1"
- nocache "^3.0.1"
- open "^6.2.0"
- pretty-format "^29.7.0"
- serve-static "^1.13.1"
- ws "^6.2.3"
-
-"@react-native-community/cli-tools@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-20.0.0.tgz"
- integrity sha512-akSZGxr1IajJ8n0YCwQoA3DI0HttJ0WB7M3nVpb0lOM+rJpsBN7WG5Ft+8ozb6HyIPX+O+lLeYazxn5VNG/Xhw==
- dependencies:
- "@vscode/sudo-prompt" "^9.0.0"
- appdirsjs "^1.2.4"
- chalk "^4.1.2"
- execa "^5.0.0"
- find-up "^5.0.0"
- launch-editor "^2.9.1"
- mime "^2.4.1"
- ora "^5.4.1"
- prompts "^2.4.2"
- semver "^7.5.2"
-
-"@react-native-community/cli-types@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-20.0.0.tgz"
- integrity sha512-7J4hzGWOPTBV1d30Pf2NidV+bfCWpjfCOiGO3HUhz1fH4MvBM0FbbBmE9LE5NnMz7M8XSRSi68ZGYQXgLBB2Qw==
- dependencies:
- joi "^17.2.1"
-
-"@react-native-community/cli@20.0.0":
- version "20.0.0"
- resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-20.0.0.tgz"
- integrity sha512-/cMnGl5V1rqnbElY1Fvga1vfw0d3bnqiJLx2+2oh7l9ulnXfVRWb5tU2kgBqiMxuDOKA+DQoifC9q/tvkj5K2w==
- dependencies:
- "@react-native-community/cli-clean" "20.0.0"
- "@react-native-community/cli-config" "20.0.0"
- "@react-native-community/cli-doctor" "20.0.0"
- "@react-native-community/cli-server-api" "20.0.0"
- "@react-native-community/cli-tools" "20.0.0"
- "@react-native-community/cli-types" "20.0.0"
- chalk "^4.1.2"
- commander "^9.4.1"
- deepmerge "^4.3.0"
- execa "^5.0.0"
- find-up "^5.0.0"
- fs-extra "^8.1.0"
- graceful-fs "^4.1.3"
- prompts "^2.4.2"
- semver "^7.5.2"
-
-"@react-native-community/slider@^5.0.1":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@react-native-community/slider/-/slider-5.0.1.tgz"
- integrity sha512-K3JRWkIW4wQ79YJ6+BPZzp1SamoikxfPRw7Yw4B4PElEQmqZFrmH9M5LxvIo460/3QSrZF/wCgi3qizJt7g/iw==
-
-"@react-native-documents/picker@^10.1.7":
- version "10.1.7"
- resolved "https://registry.npmjs.org/@react-native-documents/picker/-/picker-10.1.7.tgz"
- integrity sha512-Tb8SPU+pHxrSJmDHBozSUStIPeyFHTHLrU3MW0N3sUAioLd5z+nmUdypfg5fs+Yzp7KTxVW06APe2HLB1ysLww==
-
-"@react-native-firebase/app-check@^23.5.0":
- version "23.5.0"
- resolved "https://registry.npmjs.org/@react-native-firebase/app-check/-/app-check-23.5.0.tgz"
- integrity sha512-jUEHrQ4wio++T2oGvEcr/fMtBpKJvmC8jsxVg1FRMIxgGlZ8UYrMSghu8QGZO6KEVim6QWFEnOSKAvVJmL3HXw==
-
-"@react-native-firebase/app@^23.5.0":
- version "23.5.0"
- resolved "https://registry.npmjs.org/@react-native-firebase/app/-/app-23.5.0.tgz"
- integrity sha512-TOlm6V6fbILwgFP37QZM9Y0nfAW6zqNGVIWlMlepQB6b/BzzFMrCl1FiyknqD5l7i1jgdFQrqX1WH6ZO4ePa/g==
- dependencies:
- firebase "12.4.0"
-
-"@react-native-google-signin/google-signin@^16.0.0":
- version "16.0.0"
- resolved "https://registry.npmjs.org/@react-native-google-signin/google-signin/-/google-signin-16.0.0.tgz"
- integrity sha512-jVuzPo8odREekFc0b4RK3YsqCvedtLIM2P6NSszFr9cYyhKrUNikffPapL6LmkL9qkb8K6pDeb5CXg4qALOc0g==
-
-"@react-native-masked-view/masked-view@^0.3.2":
- version "0.3.2"
- resolved "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz"
- integrity sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ==
-
-"@react-native-picker/picker@^2.11.4":
- version "2.11.4"
- resolved "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.11.4.tgz"
- integrity sha512-Kf8h1AMnBo54b1fdiVylP2P/iFcZqzpMYcglC28EEFB1DEnOjsNr6Ucqc+3R9e91vHxEDnhZFbYDmAe79P2gjA==
-
-"@react-native/assets-registry@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.82.1.tgz"
- integrity sha512-B1SRwpntaAcckiatxbjzylvNK562Ayza05gdJCjDQHTiDafa1OABmyB5LHt7qWDOpNkaluD+w11vHF7pBmTpzQ==
-
-"@react-native/babel-plugin-codegen@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.82.1.tgz"
- integrity sha512-wzmEz/RlR4SekqmaqeQjdMVh4LsnL9e62mrOikOOkHDQ3QN0nrKLuUDzXyYptVbxQ0IRua4pTm3efJLymDBoEg==
- dependencies:
- "@babel/traverse" "^7.25.3"
- "@react-native/codegen" "0.82.1"
-
-"@react-native/babel-preset@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.82.1.tgz"
- integrity sha512-Olj7p4XIsUWLKjlW46CqijaXt45PZT9Lbvv/Hz698FXTenPKk4k7sy6RGRGZPWO2TCBBfcb73dus1iNHRFSq7g==
- dependencies:
- "@babel/core" "^7.25.2"
- "@babel/plugin-proposal-export-default-from" "^7.24.7"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-default-from" "^7.24.7"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-transform-arrow-functions" "^7.24.7"
- "@babel/plugin-transform-async-generator-functions" "^7.25.4"
- "@babel/plugin-transform-async-to-generator" "^7.24.7"
- "@babel/plugin-transform-block-scoping" "^7.25.0"
- "@babel/plugin-transform-class-properties" "^7.25.4"
- "@babel/plugin-transform-classes" "^7.25.4"
- "@babel/plugin-transform-computed-properties" "^7.24.7"
- "@babel/plugin-transform-destructuring" "^7.24.8"
- "@babel/plugin-transform-flow-strip-types" "^7.25.2"
- "@babel/plugin-transform-for-of" "^7.24.7"
- "@babel/plugin-transform-function-name" "^7.25.1"
- "@babel/plugin-transform-literals" "^7.25.2"
- "@babel/plugin-transform-logical-assignment-operators" "^7.24.7"
- "@babel/plugin-transform-modules-commonjs" "^7.24.8"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7"
- "@babel/plugin-transform-numeric-separator" "^7.24.7"
- "@babel/plugin-transform-object-rest-spread" "^7.24.7"
- "@babel/plugin-transform-optional-catch-binding" "^7.24.7"
- "@babel/plugin-transform-optional-chaining" "^7.24.8"
- "@babel/plugin-transform-parameters" "^7.24.7"
- "@babel/plugin-transform-private-methods" "^7.24.7"
- "@babel/plugin-transform-private-property-in-object" "^7.24.7"
- "@babel/plugin-transform-react-display-name" "^7.24.7"
- "@babel/plugin-transform-react-jsx" "^7.25.2"
- "@babel/plugin-transform-react-jsx-self" "^7.24.7"
- "@babel/plugin-transform-react-jsx-source" "^7.24.7"
- "@babel/plugin-transform-regenerator" "^7.24.7"
- "@babel/plugin-transform-runtime" "^7.24.7"
- "@babel/plugin-transform-shorthand-properties" "^7.24.7"
- "@babel/plugin-transform-spread" "^7.24.7"
- "@babel/plugin-transform-sticky-regex" "^7.24.7"
- "@babel/plugin-transform-typescript" "^7.25.2"
- "@babel/plugin-transform-unicode-regex" "^7.24.7"
- "@babel/template" "^7.25.0"
- "@react-native/babel-plugin-codegen" "0.82.1"
- babel-plugin-syntax-hermes-parser "0.32.0"
- babel-plugin-transform-flow-enums "^0.0.2"
- react-refresh "^0.14.0"
-
-"@react-native/codegen@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.82.1.tgz"
- integrity sha512-ezXTN70ygVm9l2m0i+pAlct0RntoV4afftWMGUIeAWLgaca9qItQ54uOt32I/9dBJvzBibT33luIR/pBG0dQvg==
- dependencies:
- "@babel/core" "^7.25.2"
- "@babel/parser" "^7.25.3"
- glob "^7.1.1"
- hermes-parser "0.32.0"
- invariant "^2.2.4"
- nullthrows "^1.1.1"
- yargs "^17.6.2"
-
-"@react-native/community-cli-plugin@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.82.1.tgz"
- integrity sha512-H/eMdtOy9nEeX7YVeEG1N2vyCoifw3dr9OV8++xfUElNYV7LtSmJ6AqxZUUfxGJRDFPQvaU/8enmJlM/l11VxQ==
- dependencies:
- "@react-native/dev-middleware" "0.82.1"
- debug "^4.4.0"
- invariant "^2.2.4"
- metro "^0.83.1"
- metro-config "^0.83.1"
- metro-core "^0.83.1"
- semver "^7.1.3"
-
-"@react-native/debugger-frontend@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.82.1.tgz"
- integrity sha512-a2O6M7/OZ2V9rdavOHyCQ+10z54JX8+B+apYKCQ6a9zoEChGTxUMG2YzzJ8zZJVvYf1ByWSNxv9Se0dca1hO9A==
-
-"@react-native/debugger-shell@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.82.1.tgz"
- integrity sha512-fdRHAeqqPT93bSrxfX+JHPpCXHApfDUdrXMXhoxlPgSzgXQXJDykIViKhtpu0M6slX6xU/+duq+AtP/qWJRpBw==
- dependencies:
- cross-spawn "^7.0.6"
- fb-dotslash "0.5.8"
-
-"@react-native/dev-middleware@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.82.1.tgz"
- integrity sha512-wuOIzms/Qg5raBV6Ctf2LmgzEOCqdP3p1AYN4zdhMT110c39TVMbunpBaJxm0Kbt2HQ762MQViF9naxk7SBo4w==
- dependencies:
- "@isaacs/ttlcache" "^1.4.1"
- "@react-native/debugger-frontend" "0.82.1"
- "@react-native/debugger-shell" "0.82.1"
- chrome-launcher "^0.15.2"
- chromium-edge-launcher "^0.2.0"
- connect "^3.6.5"
- debug "^4.4.0"
- invariant "^2.2.4"
- nullthrows "^1.1.1"
- open "^7.0.3"
- serve-static "^1.16.2"
- ws "^6.2.3"
-
-"@react-native/eslint-config@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.82.1.tgz"
- integrity sha512-K3xCTEAg8WDd7WpDhQ1hsKbuY3OXaQtqpokeOdgyJag100ZvUX84YIaqDqsVaAZqjA53zCA5PbxerWs6mPA+PQ==
- dependencies:
- "@babel/core" "^7.25.2"
- "@babel/eslint-parser" "^7.25.1"
- "@react-native/eslint-plugin" "0.82.1"
- "@typescript-eslint/eslint-plugin" "^8.36.0"
- "@typescript-eslint/parser" "^8.36.0"
- eslint-config-prettier "^8.5.0"
- eslint-plugin-eslint-comments "^3.2.0"
- eslint-plugin-ft-flow "^2.0.1"
- eslint-plugin-jest "^29.0.1"
- eslint-plugin-react "^7.30.1"
- eslint-plugin-react-hooks "^5.2.0"
- eslint-plugin-react-native "^4.0.0"
-
-"@react-native/eslint-plugin@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.82.1.tgz"
- integrity sha512-PU0ho8pNp24pdegIpYRAwppfO8z7werpoTts2CJ/wXYQ+ryZKa2M31DHW+kl+K3wwwqVqFKAzLh4t3sP/mOqMQ==
-
-"@react-native/gradle-plugin@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.82.1.tgz"
- integrity sha512-KkF/2T1NSn6EJ5ALNT/gx0MHlrntFHv8YdooH9OOGl9HQn5NM0ZmQSr86o5utJsGc7ME3R6p3SaQuzlsFDrn8Q==
-
-"@react-native/js-polyfills@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.82.1.tgz"
- integrity sha512-tf70X7pUodslOBdLN37J57JmDPB/yiZcNDzS2m+4bbQzo8fhx3eG9QEBv5n4fmzqfGAgSB4BWRHgDMXmmlDSVA==
-
-"@react-native/metro-babel-transformer@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.82.1.tgz"
- integrity sha512-kVQyYxYe1Da7cr7uGK9c44O6vTzM8YY3KW9CSLhhV1CGw7jmohU1HfLaUxDEmYfFZMc4Kj3JsIEbdUlaHMtprQ==
- dependencies:
- "@babel/core" "^7.25.2"
- "@react-native/babel-preset" "0.82.1"
- hermes-parser "0.32.0"
- nullthrows "^1.1.1"
-
-"@react-native/metro-config@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.82.1.tgz"
- integrity sha512-mAY6R3xnDMlmDOrUCAtLTjIkli26DZt4LNVuAjDEdnlv5sHANOr5x4qpMn7ea1p9Q/tpfHLalPQUQeJ8CZH4gA==
- dependencies:
- "@react-native/js-polyfills" "0.82.1"
- "@react-native/metro-babel-transformer" "0.82.1"
- metro-config "^0.83.1"
- metro-runtime "^0.83.1"
-
-"@react-native/normalize-colors@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.82.1.tgz"
- integrity sha512-CCfTR1uX+Z7zJTdt3DNX9LUXr2zWXsNOyLbwupW2wmRzrxlHRYfmLgTABzRL/cKhh0Ubuwn15o72MQChvCRaHw==
-
-"@react-native/typescript-config@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.82.1.tgz"
- integrity sha512-kCTjmBg44p0kqU4xEMg7l6SNJyHWTHuTqiT9MpHasEYcnVpBWyEQsSQAiVKONHwcUWcAktrGVLE1dYGfBmPJ3Q==
-
-"@react-native/virtualized-lists@0.82.1":
- version "0.82.1"
- resolved "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.82.1.tgz"
- integrity sha512-f5zpJg9gzh7JtCbsIwV+4kP3eI0QBuA93JGmwFRd4onQ3DnCjV2J5pYqdWtM95sjSKK1dyik59Gj01lLeKqs1Q==
- dependencies:
- invariant "^2.2.4"
- nullthrows "^1.1.1"
-
-"@react-navigation/core@^7.13.7":
- version "7.13.7"
- resolved "https://registry.npmjs.org/@react-navigation/core/-/core-7.13.7.tgz"
- integrity sha512-k2ABo3250vq1ovOh/iVwXS6Hwr5PVRGXoPh/ewVFOOuEKTvOx9i//OBzt8EF+HokBxS2HBRlR2b+aCOmscRqBw==
- dependencies:
- "@react-navigation/routers" "^7.5.3"
- escape-string-regexp "^4.0.0"
- fast-deep-equal "^3.1.3"
- nanoid "^3.3.11"
- query-string "^7.1.3"
- react-is "^19.1.0"
- use-latest-callback "^0.2.4"
- use-sync-external-store "^1.5.0"
-
-"@react-navigation/drawer@^7.7.10":
- version "7.7.10"
- resolved "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-7.7.10.tgz"
- integrity sha512-FGYU5Ebd2whTa4Z+RBCxnWqmyWIQGTJ7PAAhk2RjlVrEXLU0HaFR5JGmEHuNm/Cm9xX3xCwOxYZiA0Xi/DeyAA==
- dependencies:
- "@react-navigation/elements" "^2.9.3"
- color "^4.2.3"
- react-native-drawer-layout "^4.2.1"
- use-latest-callback "^0.2.4"
-
-"@react-navigation/elements@^2.9.3":
- version "2.9.3"
- resolved "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.3.tgz"
- integrity sha512-3+eyvWiVPIEf6tN9UdduhOEHcTuNe3R5WovgiVkfH9+jApHMTZDc2loePTpY/i2HDJhObhhChpJzO6BVjrpdYQ==
- dependencies:
- color "^4.2.3"
- use-latest-callback "^0.2.4"
- use-sync-external-store "^1.5.0"
-
-"@react-navigation/native@^7.1.26":
- version "7.1.26"
- resolved "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.26.tgz"
- integrity sha512-RhKmeD0E2ejzKS6z8elAfdfwShpcdkYY8zJzvHYLq+wv183BBcElTeyMLcIX6wIn7QutXeI92Yi21t7aUWfqNQ==
- dependencies:
- "@react-navigation/core" "^7.13.7"
- escape-string-regexp "^4.0.0"
- fast-deep-equal "^3.1.3"
- nanoid "^3.3.11"
- use-latest-callback "^0.2.4"
-
-"@react-navigation/routers@^7.5.3":
- version "7.5.3"
- resolved "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.3.tgz"
- integrity sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg==
- dependencies:
- nanoid "^3.3.11"
-
-"@react-navigation/stack@^7.6.13":
- version "7.6.13"
- resolved "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.6.13.tgz"
- integrity sha512-Zs8W2k9AGltBVkUw0QXU97rTDLbfTikCWA3fstzpjVDVTXp+h0irXm1MTnAl79D3B1wcyZasUIwMZdyUqwMT6g==
- dependencies:
- "@react-navigation/elements" "^2.9.3"
- color "^4.2.3"
- use-latest-callback "^0.2.4"
-
-"@sideway/address@^4.1.5":
- version "4.1.5"
- resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz"
- integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
-"@sideway/formula@^3.0.1":
- version "3.0.1"
- resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz"
- integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
-
-"@sideway/pinpoint@^2.0.0":
- version "2.0.0"
- resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz"
- integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
-
-"@sinclair/typebox@^0.27.8":
- version "0.27.8"
- resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz"
- integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
-
-"@sinclair/typebox@^0.34.0":
- version "0.34.41"
- resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz"
- integrity sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==
-
-"@sinonjs/commons@^3.0.0":
- version "3.0.1"
- resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz"
- integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==
- dependencies:
- type-detect "4.0.8"
-
-"@sinonjs/fake-timers@^10.0.2":
- 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==
- dependencies:
- "@sinonjs/commons" "^3.0.0"
-
-"@standard-schema/utils@^0.3.0":
- version "0.3.0"
- resolved "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz"
- integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
-
-"@supabase/auth-js@2.75.1":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.75.1.tgz"
- integrity sha512-zktlxtXstQuVys/egDpVsargD9hQtG20CMdtn+mMn7d2Ulkzy2tgUT5FUtpppvCJtd9CkhPHO/73rvi5W6Am5A==
- dependencies:
- "@supabase/node-fetch" "2.6.15"
-
-"@supabase/functions-js@2.75.1":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.75.1.tgz"
- integrity sha512-xO+01SUcwVmmo67J7Htxq8FmhkYLFdWkxfR/taxBOI36wACEUNQZmroXGPl4PkpYxBO7TaDsRHYGxUpv9zTKkg==
- dependencies:
- "@supabase/node-fetch" "2.6.15"
-
-"@supabase/node-fetch@2.6.15":
- version "2.6.15"
- resolved "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz"
- integrity sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==
- dependencies:
- whatwg-url "^5.0.0"
-
-"@supabase/postgrest-js@2.75.1":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.75.1.tgz"
- integrity sha512-FiYBD0MaKqGW8eo4Xqu7/100Xm3ddgh+3qHtqS18yQRoglJTFRQCJzY1xkrGS0JFHE2YnbjL6XCiOBXiG8DK4Q==
- dependencies:
- "@supabase/node-fetch" "2.6.15"
-
-"@supabase/realtime-js@2.75.1":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.75.1.tgz"
- integrity sha512-lBIJ855bUsBFScHA/AY+lxIFkubduUvmwbagbP1hq0wDBNAsYdg3ql80w8YmtXCDjkCwlE96SZqcFn7BGKKJKQ==
- dependencies:
- "@supabase/node-fetch" "2.6.15"
- "@types/phoenix" "^1.6.6"
- "@types/ws" "^8.18.1"
- ws "^8.18.2"
-
-"@supabase/storage-js@2.75.1":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.75.1.tgz"
- integrity sha512-WdGEhroflt5O398Yg3dpf1uKZZ6N3CGloY9iGsdT873uWbkQKoP0wG8mtx98dh0fhj6dAlzBqOAvnlV12cJfzA==
- dependencies:
- "@supabase/node-fetch" "2.6.15"
-
-"@supabase/supabase-js@^2.75.0":
- version "2.75.1"
- resolved "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.75.1.tgz"
- integrity sha512-GEPVBvjQimcMd9z5K1eTKTixTRb6oVbudoLQ9JKqTUJnR6GQdBU4OifFZean1AnHfsQwtri1fop2OWwsMv019w==
- dependencies:
- "@supabase/auth-js" "2.75.1"
- "@supabase/functions-js" "2.75.1"
- "@supabase/node-fetch" "2.6.15"
- "@supabase/postgrest-js" "2.75.1"
- "@supabase/realtime-js" "2.75.1"
- "@supabase/storage-js" "2.75.1"
-
-"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz"
- integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
-
-"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz"
- integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
-
-"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz"
- integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
-
-"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz"
- integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
-
-"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz"
- integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
-
-"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz"
- integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
-
-"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
- version "8.1.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz"
- integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
-
-"@svgr/babel-plugin-transform-svg-component@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz"
- integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
-
-"@svgr/babel-preset@8.1.0":
- version "8.1.0"
- resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz"
- integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
- dependencies:
- "@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
- "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
- "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
- "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
- "@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
- "@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
- "@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
- "@svgr/babel-plugin-transform-svg-component" "8.0.0"
-
-"@svgr/core@^8.1.0":
- version "8.1.0"
- resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz"
- integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
- dependencies:
- "@babel/core" "^7.21.3"
- "@svgr/babel-preset" "8.1.0"
- camelcase "^6.2.0"
- cosmiconfig "^8.1.3"
- snake-case "^3.0.4"
-
-"@svgr/hast-util-to-babel-ast@8.0.0":
- version "8.0.0"
- resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz"
- integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
- dependencies:
- "@babel/types" "^7.21.3"
- entities "^4.4.0"
-
-"@svgr/plugin-jsx@^8.1.0":
- version "8.1.0"
- resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz"
- integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
- dependencies:
- "@babel/core" "^7.21.3"
- "@svgr/babel-preset" "8.1.0"
- "@svgr/hast-util-to-babel-ast" "8.0.0"
- svg-parser "^2.0.4"
-
-"@svgr/plugin-svgo@^8.1.0":
- version "8.1.0"
- resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz"
- integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
- dependencies:
- cosmiconfig "^8.1.3"
- deepmerge "^4.3.1"
- svgo "^3.0.2"
-
-"@testing-library/react-hooks@^8.0.1":
- version "8.0.1"
- resolved "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz"
- integrity sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==
- dependencies:
- "@babel/runtime" "^7.12.5"
- react-error-boundary "^3.1.0"
-
-"@testing-library/react-native@^13.3.3":
- version "13.3.3"
- resolved "https://registry.npmjs.org/@testing-library/react-native/-/react-native-13.3.3.tgz"
- integrity sha512-k6Mjsd9dbZgvY4Bl7P1NIpePQNi+dfYtlJ5voi9KQlynxSyQkfOgJmYGCYmw/aSgH/rUcFvG8u5gd4npzgRDyg==
- dependencies:
- jest-matcher-utils "^30.0.5"
- picocolors "^1.1.1"
- pretty-format "^30.0.5"
- redent "^3.0.0"
-
-"@trysound/sax@0.2.0":
- version "0.2.0"
- resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
- integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
-
-"@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5":
- version "7.20.5"
- resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
- integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
- dependencies:
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
- "@types/babel__generator" "*"
- "@types/babel__template" "*"
- "@types/babel__traverse" "*"
-
-"@types/babel__generator@*":
- version "7.27.0"
- resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz"
- integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==
- dependencies:
- "@babel/types" "^7.0.0"
-
-"@types/babel__template@*":
- version "7.4.4"
- resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz"
- integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
- dependencies:
- "@babel/parser" "^7.1.0"
- "@babel/types" "^7.0.0"
-
-"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.28.0"
- resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz"
- integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==
- dependencies:
- "@babel/types" "^7.28.2"
-
-"@types/conventional-commits-parser@^5.0.0":
- version "5.0.1"
- resolved "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz"
- integrity sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==
- dependencies:
- "@types/node" "*"
-
-"@types/graceful-fs@^4.1.3":
- version "4.1.9"
- resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
- integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==
- dependencies:
- "@types/node" "*"
-
-"@types/hammerjs@^2.0.36":
- version "2.0.46"
- resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz"
- integrity sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==
-
-"@types/hast@^2.0.0":
- version "2.3.10"
- resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz"
- integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==
- dependencies:
- "@types/unist" "^2"
-
-"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1", "@types/istanbul-lib-coverage@^2.0.6":
- 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==
-
-"@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==
- dependencies:
- "@types/istanbul-lib-coverage" "*"
-
-"@types/istanbul-reports@^3.0.0", "@types/istanbul-reports@^3.0.4":
- 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==
- dependencies:
- "@types/istanbul-lib-report" "*"
-
-"@types/jest@^29.5.13":
- version "29.5.14"
- resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz"
- integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==
- dependencies:
- expect "^29.0.0"
- pretty-format "^29.0.0"
-
-"@types/lodash@^4.17.20":
- version "4.17.20"
- resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz"
- integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==
-
-"@types/mustache@^4.2.6":
- version "4.2.6"
- resolved "https://registry.npmjs.org/@types/mustache/-/mustache-4.2.6.tgz"
- integrity sha512-t+8/QWTAhOFlrF1IVZqKnMRJi84EgkIK5Kh0p2JV4OLywUvCwJPFxbJAl7XAow7DVIHsF+xW9f1MVzg0L6Szjw==
-
-"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":
- version "24.8.1"
- resolved "https://registry.npmjs.org/@types/node/-/node-24.8.1.tgz"
- integrity sha512-alv65KGRadQVfVcG69MuB4IzdYVpRwMG/mq8KWOaoOdyY617P5ivaDiMCGOFDWD2sAn5Q0mR3mRtUOgm99hL9Q==
- dependencies:
- undici-types "~7.14.0"
-
-"@types/phoenix@^1.6.6":
- version "1.6.6"
- resolved "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz"
- integrity sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==
-
-"@types/ramda@^0.27.40", "@types/ramda@^0.27.44":
- version "0.27.66"
- resolved "https://registry.npmjs.org/@types/ramda/-/ramda-0.27.66.tgz"
- integrity sha512-i2YW+E2U6NfMt3dp0RxNcejox+bxJUNDjB7BpYuRuoHIzv5juPHkJkNgcUOu+YSQEmaWu8cnAo/8r63C0NnuVA==
- dependencies:
- ts-toolbelt "^6.15.1"
-
-"@types/react-syntax-highlighter@^15.5.13":
- version "15.5.13"
- resolved "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.13.tgz"
- integrity sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==
- dependencies:
- "@types/react" "*"
-
-"@types/react-test-renderer@^19.0.0":
- version "19.1.0"
- resolved "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz"
- integrity sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==
- dependencies:
- "@types/react" "*"
-
-"@types/react@*", "@types/react@^19.0.0":
- version "19.2.2"
- resolved "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz"
- integrity sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==
- dependencies:
- csstype "^3.0.2"
-
-"@types/stack-utils@^2.0.0":
- version "2.0.3"
- resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz"
- integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
-
-"@types/unist@^2":
- version "2.0.11"
- resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz"
- integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==
-
-"@types/urijs@^1.19.15":
- version "1.19.25"
- resolved "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz"
- integrity sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==
-
-"@types/uuid@^11.0.0":
- version "11.0.0"
- resolved "https://registry.npmjs.org/@types/uuid/-/uuid-11.0.0.tgz"
- integrity sha512-HVyk8nj2m+jcFRNazzqyVKiZezyhDKrGUA3jlEcg/nZ6Ms+qHwocba1Y/AaVaznJTAM9xpdFSh+ptbNrhOGvZA==
- dependencies:
- uuid "*"
-
-"@types/ws@^8.18.1":
- version "8.18.1"
- resolved "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz"
- integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==
- dependencies:
- "@types/node" "*"
-
-"@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==
-
-"@types/yargs@^17.0.33", "@types/yargs@^17.0.8":
- version "17.0.33"
- resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz"
- integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==
- dependencies:
- "@types/yargs-parser" "*"
-
-"@typescript-eslint/eslint-plugin@^8.36.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz"
- integrity sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==
- dependencies:
- "@eslint-community/regexpp" "^4.12.2"
- "@typescript-eslint/scope-manager" "8.52.0"
- "@typescript-eslint/type-utils" "8.52.0"
- "@typescript-eslint/utils" "8.52.0"
- "@typescript-eslint/visitor-keys" "8.52.0"
- ignore "^7.0.5"
- natural-compare "^1.4.0"
- ts-api-utils "^2.4.0"
-
-"@typescript-eslint/parser@^8.36.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz"
- integrity sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==
- dependencies:
- "@typescript-eslint/scope-manager" "8.52.0"
- "@typescript-eslint/types" "8.52.0"
- "@typescript-eslint/typescript-estree" "8.52.0"
- "@typescript-eslint/visitor-keys" "8.52.0"
- debug "^4.4.3"
-
-"@typescript-eslint/project-service@8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz"
- integrity sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==
- dependencies:
- "@typescript-eslint/tsconfig-utils" "^8.52.0"
- "@typescript-eslint/types" "^8.52.0"
- debug "^4.4.3"
-
-"@typescript-eslint/scope-manager@8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz"
- integrity sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==
- dependencies:
- "@typescript-eslint/types" "8.52.0"
- "@typescript-eslint/visitor-keys" "8.52.0"
-
-"@typescript-eslint/tsconfig-utils@8.52.0", "@typescript-eslint/tsconfig-utils@^8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz"
- integrity sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==
-
-"@typescript-eslint/type-utils@8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz"
- integrity sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==
- dependencies:
- "@typescript-eslint/types" "8.52.0"
- "@typescript-eslint/typescript-estree" "8.52.0"
- "@typescript-eslint/utils" "8.52.0"
- debug "^4.4.3"
- ts-api-utils "^2.4.0"
-
-"@typescript-eslint/types@8.52.0", "@typescript-eslint/types@^8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz"
- integrity sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==
-
-"@typescript-eslint/typescript-estree@8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz"
- integrity sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==
- dependencies:
- "@typescript-eslint/project-service" "8.52.0"
- "@typescript-eslint/tsconfig-utils" "8.52.0"
- "@typescript-eslint/types" "8.52.0"
- "@typescript-eslint/visitor-keys" "8.52.0"
- debug "^4.4.3"
- minimatch "^9.0.5"
- semver "^7.7.3"
- tinyglobby "^0.2.15"
- ts-api-utils "^2.4.0"
-
-"@typescript-eslint/utils@8.52.0", "@typescript-eslint/utils@^8.0.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz"
- integrity sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==
- dependencies:
- "@eslint-community/eslint-utils" "^4.9.1"
- "@typescript-eslint/scope-manager" "8.52.0"
- "@typescript-eslint/types" "8.52.0"
- "@typescript-eslint/typescript-estree" "8.52.0"
-
-"@typescript-eslint/visitor-keys@8.52.0":
- version "8.52.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz"
- integrity sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==
- dependencies:
- "@typescript-eslint/types" "8.52.0"
- eslint-visitor-keys "^4.2.1"
-
-"@ungap/structured-clone@^1.2.0", "@ungap/structured-clone@^1.3.0":
- version "1.3.0"
- resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz"
- integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
-
-"@vscode/sudo-prompt@^9.0.0":
- version "9.3.1"
- resolved "https://registry.npmjs.org/@vscode/sudo-prompt/-/sudo-prompt-9.3.1.tgz"
- integrity sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA==
-
-"@yarnpkg/lockfile@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"
- integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
-
-JSONStream@^1.3.5:
- version "1.3.5"
- resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
-a-sync-waterfall@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz"
- integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==
-
-abort-controller@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
- integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
- dependencies:
- event-target-shim "^5.0.0"
-
-accepts@^1.3.7, accepts@~1.3.7:
- 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==
- dependencies:
- mime-types "~2.1.34"
- negotiator "0.6.3"
-
-acorn-jsx@^5.3.2:
- version "5.3.2"
- resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn@^8.15.0, acorn@^8.9.0:
- version "8.15.0"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
- integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
-
-agent-base@^7.1.2:
- version "7.1.4"
- resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz"
- integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==
-
-ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^8.11.0:
- version "8.17.1"
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz"
- integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
- dependencies:
- fast-deep-equal "^3.1.3"
- fast-uri "^3.0.1"
- json-schema-traverse "^1.0.0"
- require-from-string "^2.0.2"
-
-anser@^1.4.9:
- version "1.4.10"
- resolved "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz"
- integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
-
-ansi-escapes@^4.2.1:
- version "4.3.2"
- resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
- integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
- dependencies:
- type-fest "^0.21.3"
-
-ansi-fragments@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz"
- integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==
- dependencies:
- colorette "^1.0.7"
- slice-ansi "^2.0.0"
- strip-ansi "^5.0.0"
-
-ansi-regex@^4.1.0:
- version "4.1.1"
- resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz"
- integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
-
-ansi-regex@^5.0.0, ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-styles@^3.2.0:
- 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==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-ansi-styles@^5.0.0, ansi-styles@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
- integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
-
-anymatch@^3.0.3, anymatch@^3.1.3:
- version "3.1.3"
- resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-appdirsjs@^1.2.4:
- version "1.2.7"
- resolved "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz"
- integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2:
- 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==
- dependencies:
- call-bound "^1.0.3"
- is-array-buffer "^3.0.5"
-
-array-ify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz"
- integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
-
-array-includes@^3.1.6, array-includes@^3.1.8:
- version "3.1.9"
- resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz"
- integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.4"
- define-properties "^1.2.1"
- es-abstract "^1.24.0"
- es-object-atoms "^1.1.1"
- get-intrinsic "^1.3.0"
- is-string "^1.1.1"
- math-intrinsics "^1.1.0"
-
-array.prototype.findlast@^1.2.5:
- version "1.2.5"
- resolved "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz"
- integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==
- dependencies:
- call-bind "^1.0.7"
- define-properties "^1.2.1"
- es-abstract "^1.23.2"
- es-errors "^1.3.0"
- es-object-atoms "^1.0.0"
- es-shim-unscopables "^1.0.2"
-
-array.prototype.flat@^1.3.1:
- version "1.3.3"
- resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz"
- integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==
- dependencies:
- call-bind "^1.0.8"
- define-properties "^1.2.1"
- es-abstract "^1.23.5"
- es-shim-unscopables "^1.0.2"
-
-array.prototype.flatmap@^1.3.3:
- version "1.3.3"
- resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz"
- integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==
- dependencies:
- call-bind "^1.0.8"
- define-properties "^1.2.1"
- es-abstract "^1.23.5"
- es-shim-unscopables "^1.0.2"
-
-array.prototype.tosorted@^1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz"
- integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==
- dependencies:
- call-bind "^1.0.7"
- define-properties "^1.2.1"
- es-abstract "^1.23.3"
- es-errors "^1.3.0"
- es-shim-unscopables "^1.0.2"
-
-arraybuffer.prototype.slice@^1.0.4:
- 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==
- 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"
-
-asap@^2.0.3, asap@~2.0.6:
- version "2.0.6"
- resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
- integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
-
-async-function@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz"
- integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
-
-async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
- integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-
-available-typed-arrays@^1.0.7:
- 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==
- dependencies:
- possible-typed-array-names "^1.0.0"
-
-axios@^1.12.2:
- version "1.12.2"
- resolved "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz"
- integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==
- dependencies:
- follow-redirects "^1.15.6"
- form-data "^4.0.4"
- proxy-from-env "^1.1.0"
-
-babel-jest@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz"
- integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
- dependencies:
- "@jest/transform" "^29.7.0"
- "@types/babel__core" "^7.1.14"
- babel-plugin-istanbul "^6.1.1"
- babel-preset-jest "^29.6.3"
- chalk "^4.0.0"
- graceful-fs "^4.2.9"
- slash "^3.0.0"
-
-babel-jest@^30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz"
- integrity sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==
- dependencies:
- "@jest/transform" "30.2.0"
- "@types/babel__core" "^7.20.5"
- babel-plugin-istanbul "^7.0.1"
- babel-preset-jest "30.2.0"
- chalk "^4.1.2"
- graceful-fs "^4.2.11"
- slash "^3.0.0"
-
-babel-plugin-istanbul@^6.1.1:
- version "6.1.1"
- resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz"
- integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@istanbuljs/load-nyc-config" "^1.0.0"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-instrument "^5.0.4"
- test-exclude "^6.0.0"
-
-babel-plugin-istanbul@^7.0.1:
- version "7.0.1"
- resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz"
- integrity sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@istanbuljs/load-nyc-config" "^1.0.0"
- "@istanbuljs/schema" "^0.1.3"
- istanbul-lib-instrument "^6.0.2"
- test-exclude "^6.0.0"
-
-babel-plugin-jest-hoist@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz"
- integrity sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==
- dependencies:
- "@types/babel__core" "^7.20.5"
-
-babel-plugin-jest-hoist@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
- integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
- dependencies:
- "@babel/template" "^7.3.3"
- "@babel/types" "^7.3.3"
- "@types/babel__core" "^7.1.14"
- "@types/babel__traverse" "^7.0.6"
-
-babel-plugin-polyfill-corejs2@^0.4.14:
- version "0.4.14"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz"
- integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
- dependencies:
- "@babel/compat-data" "^7.27.7"
- "@babel/helper-define-polyfill-provider" "^0.6.5"
- semver "^6.3.1"
-
-babel-plugin-polyfill-corejs3@^0.13.0:
- 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==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.6.5"
- core-js-compat "^3.43.0"
-
-babel-plugin-polyfill-regenerator@^0.6.5:
- version "0.6.5"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz"
- integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.6.5"
-
-babel-plugin-syntax-hermes-parser@0.32.0:
- version "0.32.0"
- resolved "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz"
- integrity sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg==
- dependencies:
- hermes-parser "0.32.0"
-
-babel-plugin-transform-flow-enums@^0.0.2:
- 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==
- dependencies:
- "@babel/plugin-syntax-flow" "^7.12.1"
-
-babel-preset-current-node-syntax@^1.0.0, babel-preset-current-node-syntax@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz"
- integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==
- dependencies:
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-bigint" "^7.8.3"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-import-attributes" "^7.24.7"
- "@babel/plugin-syntax-import-meta" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
-
-babel-preset-jest@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz"
- integrity sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==
- dependencies:
- babel-plugin-jest-hoist "30.2.0"
- babel-preset-current-node-syntax "^1.2.0"
-
-babel-preset-jest@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
- integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
- dependencies:
- babel-plugin-jest-hoist "^29.6.3"
- babel-preset-current-node-syntax "^1.0.0"
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base64-js@^1.3.1, base64-js@^1.5.1:
- version "1.5.1"
- resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-baseline-browser-mapping@^2.8.9:
- version "2.8.18"
- resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.18.tgz"
- integrity sha512-UYmTpOBwgPScZpS4A+YbapwWuBwasxvO/2IOHArSsAhL/+ZdmATBXTex3t+l2hXwLVYK382ibr/nKoY9GKe86w==
-
-bl@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
- integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
- dependencies:
- buffer "^5.5.0"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
-body-parser@^1.20.3:
- version "1.20.3"
- resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz"
- integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.5"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.13.0"
- raw-body "2.5.2"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
-boolbase@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
- integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
-
-brace-expansion@^1.1.7:
- version "1.1.12"
- resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz"
- integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-brace-expansion@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz"
- integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
- dependencies:
- balanced-match "^1.0.0"
-
-braces@^3.0.3:
- version "3.0.3"
- resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
- integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
- dependencies:
- fill-range "^7.1.1"
-
-browserslist@^4.24.0, browserslist@^4.26.3:
- version "4.26.3"
- resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz"
- integrity sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==
- dependencies:
- baseline-browser-mapping "^2.8.9"
- caniuse-lite "^1.0.30001746"
- electron-to-chromium "^1.5.227"
- node-releases "^2.0.21"
- update-browserslist-db "^1.1.3"
-
-bser@2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz"
- integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
- dependencies:
- node-int64 "^0.4.0"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer@^5.4.3, buffer@^5.5.0:
- version "5.7.1"
- resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
-buffer@^6.0.3:
- version "6.0.3"
- resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
- integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
-bytes@3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
- integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-
-call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
- 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==
- dependencies:
- es-errors "^1.3.0"
- function-bind "^1.1.2"
-
-call-bind@^1.0.7, call-bind@^1.0.8:
- version "1.0.8"
- resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz"
- integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
- dependencies:
- call-bind-apply-helpers "^1.0.0"
- es-define-property "^1.0.0"
- get-intrinsic "^1.2.4"
- set-function-length "^1.2.2"
-
-call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz"
- integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
- dependencies:
- call-bind-apply-helpers "^1.0.2"
- get-intrinsic "^1.3.0"
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase@^5.0.0, camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-camelcase@^6.2.0:
- version "6.3.0"
- resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
- integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-camelize@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz"
- integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
-
-caniuse-lite@^1.0.30001746:
- version "1.0.30001751"
- resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz"
- integrity sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==
-
-chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
- version "4.1.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^5.3.0:
- version "5.6.2"
- resolved "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz"
- integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==
-
-char-regex@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
- integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-
-character-entities-html4@^1.0.0:
- version "1.1.4"
- resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz"
- integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==
-
-character-entities-legacy@^1.0.0:
- version "1.1.4"
- resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz"
- integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
-
-character-entities@^1.0.0:
- version "1.2.4"
- resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz"
- integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
-
-character-reference-invalid@^1.0.0:
- version "1.1.4"
- resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz"
- integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
-
-chat-formatter@^0.3.4:
- version "0.3.4"
- resolved "https://registry.npmjs.org/chat-formatter/-/chat-formatter-0.3.4.tgz"
- integrity sha512-yxU9JbOLVNm6juucWZf9QNLTG/2Mna75YjSuhJuwALbryjbhGasS9DxK4WUwzW5jZoAwVrdUIRHYNKrZWxWS1A==
- dependencies:
- nunjucks "^3.2.4"
-
-chrome-launcher@^0.15.2:
- version "0.15.2"
- resolved "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz"
- integrity sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==
- dependencies:
- "@types/node" "*"
- escape-string-regexp "^4.0.0"
- is-wsl "^2.2.0"
- lighthouse-logger "^1.0.0"
-
-chromium-edge-launcher@^0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz"
- integrity sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==
- dependencies:
- "@types/node" "*"
- escape-string-regexp "^4.0.0"
- is-wsl "^2.2.0"
- lighthouse-logger "^1.0.0"
- mkdirp "^1.0.4"
- rimraf "^3.0.2"
-
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-ci-info@^3.2.0, ci-info@^3.7.0:
- version "3.9.0"
- resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz"
- integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
-
-ci-info@^4.2.0:
- version "4.3.1"
- resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz"
- integrity sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==
-
-cjs-module-lexer@^1.0.0:
- version "1.4.3"
- resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz"
- integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==
-
-cli-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz"
- integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
- dependencies:
- restore-cursor "^3.1.0"
-
-cli-spinners@^2.5.0:
- version "2.9.2"
- resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz"
- integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
-
-cliui@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"
- integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^6.2.0"
-
-cliui@^7.0.2:
- version "7.0.4"
- resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz"
- integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^7.0.0"
-
-cliui@^8.0.1:
- 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==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.1"
- wrap-ansi "^7.0.0"
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
- integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-
-co@^4.6.0:
- version "4.6.0"
- resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
- integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
-
-collect-v8-coverage@^1.0.0:
- version "1.0.3"
- resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz"
- integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==
-
-color-convert@^1.9.0, color-convert@^1.9.3:
- version "1.9.3"
- resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.6.0, color-string@^1.9.0:
- version "1.9.1"
- resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
- integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^3.1.2:
- version "3.2.1"
- resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz"
- integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
- dependencies:
- color-convert "^1.9.3"
- color-string "^1.6.0"
-
-color@^4.2.3:
- version "4.2.3"
- resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz"
- integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
- dependencies:
- color-convert "^2.0.1"
- color-string "^1.9.0"
-
-colorette@^1.0.7:
- version "1.4.0"
- resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz"
- integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
-
-combined-stream@^1.0.8:
- version "1.0.8"
- resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-comma-separated-tokens@^1.0.0:
- version "1.0.8"
- resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz"
- integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
-
-command-exists@^1.2.8:
- 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==
-
-commander@^12.0.0:
- version "12.1.0"
- resolved "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz"
- integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==
-
-commander@^2.20.0:
- 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==
-
-commander@^5.1.0:
- version "5.1.0"
- resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz"
- integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
-
-commander@^7.2.0:
- version "7.2.0"
- resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
- integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
-
-commander@^9.4.1:
- version "9.5.0"
- resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz"
- integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
-
-compare-func@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz"
- integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
- dependencies:
- array-ify "^1.0.0"
- dot-prop "^5.1.0"
-
-compressible@~2.0.18:
- version "2.0.18"
- resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression@^1.7.1:
- version "1.8.1"
- resolved "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz"
- integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==
- 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"
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-connect@^3.6.5:
- version "3.7.0"
- resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz"
- integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
- dependencies:
- debug "2.6.9"
- finalhandler "1.1.2"
- parseurl "~1.3.3"
- utils-merge "1.0.1"
-
-content-type@~1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
-conventional-changelog-angular@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz"
- integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==
- dependencies:
- compare-func "^2.0.0"
-
-conventional-changelog-conventionalcommits@^7.0.2:
- version "7.0.2"
- resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz"
- integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==
- dependencies:
- compare-func "^2.0.0"
-
-conventional-commits-parser@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz"
- integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==
- dependencies:
- JSONStream "^1.3.5"
- is-text-path "^2.0.0"
- meow "^12.0.1"
- split2 "^4.0.0"
-
-convert-source-map@^2.0.0:
- 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==
-
-core-js-compat@^3.43.0:
- version "3.46.0"
- resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz"
- integrity sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==
- dependencies:
- browserslist "^4.26.3"
-
-cosmiconfig-typescript-loader@^6.1.0:
- version "6.2.0"
- resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.2.0.tgz"
- integrity sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==
- dependencies:
- jiti "^2.6.1"
-
-cosmiconfig@^8.1.3:
- version "8.3.6"
- resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz"
- integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
- dependencies:
- import-fresh "^3.3.0"
- js-yaml "^4.1.0"
- parse-json "^5.2.0"
- path-type "^4.0.0"
-
-cosmiconfig@^9.0.0:
- version "9.0.0"
- resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz"
- integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==
- dependencies:
- env-paths "^2.2.1"
- import-fresh "^3.3.0"
- js-yaml "^4.1.0"
- parse-json "^5.2.0"
-
-create-jest@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz"
- integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==
- dependencies:
- "@jest/types" "^29.6.3"
- chalk "^4.0.0"
- exit "^0.1.2"
- graceful-fs "^4.2.9"
- jest-config "^29.7.0"
- jest-util "^29.7.0"
- prompts "^2.0.1"
-
-cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6:
- version "7.0.6"
- resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
- integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-css-color-keywords@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz"
- integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
-
-css-select@^5.1.0:
- version "5.2.2"
- resolved "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz"
- integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==
- dependencies:
- boolbase "^1.0.0"
- css-what "^6.1.0"
- domhandler "^5.0.2"
- domutils "^3.0.1"
- nth-check "^2.0.1"
-
-css-to-react-native@3.2.0, css-to-react-native@^3.0.0:
- version "3.2.0"
- resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz"
- integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
- dependencies:
- camelize "^1.0.0"
- css-color-keywords "^1.0.0"
- postcss-value-parser "^4.0.2"
-
-css-tree@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
- integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
- dependencies:
- mdn-data "2.0.14"
- source-map "^0.6.1"
-
-css-tree@^2.3.1:
- version "2.3.1"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz"
- integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
- dependencies:
- mdn-data "2.0.30"
- source-map-js "^1.0.1"
-
-css-tree@~2.2.0:
- version "2.2.1"
- resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz"
- integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
- dependencies:
- mdn-data "2.0.28"
- source-map-js "^1.0.1"
-
-css-what@^6.1.0:
- version "6.2.2"
- resolved "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz"
- integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==
-
-csso@^5.0.5:
- version "5.0.5"
- resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz"
- integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
- dependencies:
- css-tree "~2.2.0"
-
-csstype@^3.0.2, csstype@^3.0.8, csstype@^3.0.9:
- version "3.1.3"
- resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
- integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-
-dargs@^8.0.0:
- version "8.1.0"
- resolved "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz"
- integrity sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==
-
-data-view-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz"
- integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==
- dependencies:
- call-bound "^1.0.3"
- es-errors "^1.3.0"
- is-data-view "^1.0.2"
-
-data-view-byte-length@^1.0.2:
- 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==
- dependencies:
- call-bound "^1.0.3"
- es-errors "^1.3.0"
- is-data-view "^1.0.2"
-
-data-view-byte-offset@^1.0.1:
- 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==
- dependencies:
- call-bound "^1.0.2"
- es-errors "^1.3.0"
- is-data-view "^1.0.1"
-
-date-fns@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz"
- integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==
-
-dayjs@^1.11.18, dayjs@^1.8.15:
- version "1.11.18"
- resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz"
- integrity sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==
-
-debug@2.6.9, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3:
- version "4.4.3"
- resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
- integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
- dependencies:
- ms "^2.1.3"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
- integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
-
-decode-uri-component@^0.2.2:
- version "0.2.2"
- resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz"
- integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
-
-dedent@^1.0.0:
- version "1.7.0"
- resolved "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz"
- integrity sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==
-
-deep-is@^0.1.3:
- version "0.1.4"
- resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
- integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-
-deepmerge@^3.2.0:
- version "3.3.0"
- resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz"
- integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==
-
-deepmerge@^4.2.2, deepmerge@^4.3.0, deepmerge@^4.3.1:
- 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==
-
-defaults@^1.0.3:
- version "1.0.4"
- resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz"
- integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
- dependencies:
- clone "^1.0.2"
-
-define-data-property@^1.0.1, define-data-property@^1.1.4:
- 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==
- dependencies:
- es-define-property "^1.0.0"
- es-errors "^1.3.0"
- gopd "^1.0.1"
-
-define-properties@^1.1.3, define-properties@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz"
- integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
- dependencies:
- define-data-property "^1.0.1"
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
- integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-
-depd@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
- integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-destroy@1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
- integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-detect-newline@^3.0.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz"
- integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
-
-diff-sequences@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz"
- integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dom-serializer@^1.0.1:
- version "1.4.1"
- resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz"
- integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
- dependencies:
- domelementtype "^2.0.1"
- domhandler "^4.2.0"
- entities "^2.0.0"
-
-dom-serializer@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
- integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
- dependencies:
- domelementtype "^2.3.0"
- domhandler "^5.0.2"
- entities "^4.2.0"
-
-domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
- integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
-
-domhandler@^4.2.0, domhandler@^4.2.2:
- version "4.3.1"
- resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz"
- integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
- dependencies:
- domelementtype "^2.2.0"
-
-domhandler@^5.0.2, domhandler@^5.0.3:
- version "5.0.3"
- resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
- integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
- dependencies:
- domelementtype "^2.3.0"
-
-domutils@^2.8.0:
- version "2.8.0"
- resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz"
- integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
- dependencies:
- dom-serializer "^1.0.1"
- domelementtype "^2.2.0"
- domhandler "^4.2.0"
-
-domutils@^3.0.1:
- version "3.2.2"
- resolved "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz"
- integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
- dependencies:
- dom-serializer "^2.0.0"
- domelementtype "^2.3.0"
- domhandler "^5.0.3"
-
-dot-case@^3.0.4:
- version "3.0.4"
- resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz"
- integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
- dependencies:
- no-case "^3.0.4"
- tslib "^2.0.3"
-
-dot-prop@^5.1.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
- integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
- dependencies:
- is-obj "^2.0.0"
-
-dotenv@^16.4.5:
- version "16.6.1"
- resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz"
- integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==
-
-dunder-proto@^1.0.0, dunder-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
- integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
- dependencies:
- call-bind-apply-helpers "^1.0.1"
- es-errors "^1.3.0"
- gopd "^1.2.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
- integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
-
-electron-to-chromium@^1.5.227:
- version "1.5.237"
- resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz"
- integrity sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==
-
-emittery@^0.13.1:
- version "0.13.1"
- resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz"
- integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
- integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
-encodeurl@~2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz"
- integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
-
-entities@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
- integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-
-entities@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz"
- integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
-
-entities@^4.2.0, entities@^4.4.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
- integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
-
-env-paths@^2.2.1:
- version "2.2.1"
- resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
- integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-
-envinfo@^7.13.0:
- version "7.19.0"
- resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.19.0.tgz"
- integrity sha512-DoSM9VyG6O3vqBf+p3Gjgr/Q52HYBBtO3v+4koAxt1MnWr+zEnxE+nke/yXS4lt2P4SYCHQ4V3f1i88LQVOpAw==
-
-error-ex@^1.3.1:
- version "1.3.4"
- resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz"
- integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==
- dependencies:
- is-arrayish "^0.2.1"
-
-error-stack-parser@^2.0.6:
- 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==
- dependencies:
- stackframe "^1.3.4"
-
-errorhandler@^1.5.1:
- version "1.5.1"
- resolved "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz"
- integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==
- dependencies:
- accepts "~1.3.7"
- escape-html "~1.0.3"
-
-es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0:
- version "1.24.0"
- resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz"
- integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==
- 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"
-
-es-define-property@^1.0.0, es-define-property@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz"
- integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
-
-es-errors@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
- integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-
-es-iterator-helpers@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz"
- integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.3"
- define-properties "^1.2.1"
- es-abstract "^1.23.6"
- es-errors "^1.3.0"
- es-set-tostringtag "^2.0.3"
- function-bind "^1.1.2"
- get-intrinsic "^1.2.6"
- globalthis "^1.0.4"
- gopd "^1.2.0"
- has-property-descriptors "^1.0.2"
- has-proto "^1.2.0"
- has-symbols "^1.1.0"
- internal-slot "^1.1.0"
- iterator.prototype "^1.1.4"
- safe-array-concat "^1.1.3"
-
-es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz"
- integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
- dependencies:
- es-errors "^1.3.0"
-
-es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0:
- 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==
- dependencies:
- es-errors "^1.3.0"
- get-intrinsic "^1.2.6"
- has-tostringtag "^1.0.2"
- hasown "^2.0.2"
-
-es-shim-unscopables@^1.0.2:
- version "1.1.0"
- resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz"
- integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==
- dependencies:
- hasown "^2.0.2"
-
-es-to-primitive@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz"
- integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==
- dependencies:
- is-callable "^1.2.7"
- is-date-object "^1.0.5"
- is-symbol "^1.0.4"
-
-escalade@^3.1.1, escalade@^3.2.0:
- version "3.2.0"
- resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
- integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
- integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
- integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-eslint-config-prettier@^10.1.8:
- version "10.1.8"
- resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz"
- integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==
-
-eslint-config-prettier@^8.5.0:
- version "8.10.2"
- resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz"
- integrity sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==
-
-eslint-plugin-eslint-comments@^3.2.0:
- version "3.2.0"
- resolved "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz"
- integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==
- dependencies:
- escape-string-regexp "^1.0.5"
- ignore "^5.0.5"
-
-eslint-plugin-ft-flow@^2.0.1:
- version "2.0.3"
- resolved "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz"
- integrity sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==
- dependencies:
- lodash "^4.17.21"
- string-natural-compare "^3.0.1"
-
-eslint-plugin-jest@^29.0.1:
- version "29.12.1"
- resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.12.1.tgz"
- integrity sha512-Rxo7r4jSANMBkXLICJKS0gjacgyopfNAsoS0e3R9AHnjoKuQOaaPfmsDJPi8UWwygI099OV/K/JhpYRVkxD4AA==
- dependencies:
- "@typescript-eslint/utils" "^8.0.0"
-
-eslint-plugin-prettier@^5.5.4:
- version "5.5.4"
- resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz"
- integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==
- dependencies:
- prettier-linter-helpers "^1.0.0"
- synckit "^0.11.7"
-
-eslint-plugin-react-hooks@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz"
- integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==
-
-eslint-plugin-react-native-globals@^0.1.1:
- version "0.1.2"
- resolved "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz"
- integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==
-
-eslint-plugin-react-native@^4.0.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz"
- integrity sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==
- dependencies:
- eslint-plugin-react-native-globals "^0.1.1"
-
-eslint-plugin-react@^7.30.1:
- version "7.37.5"
- resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz"
- integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==
- dependencies:
- array-includes "^3.1.8"
- array.prototype.findlast "^1.2.5"
- array.prototype.flatmap "^1.3.3"
- array.prototype.tosorted "^1.1.4"
- doctrine "^2.1.0"
- es-iterator-helpers "^1.2.1"
- estraverse "^5.3.0"
- hasown "^2.0.2"
- jsx-ast-utils "^2.4.1 || ^3.0.0"
- minimatch "^3.1.2"
- object.entries "^1.1.9"
- object.fromentries "^2.0.8"
- object.values "^1.2.1"
- prop-types "^15.8.1"
- resolve "^2.0.0-next.5"
- semver "^6.3.1"
- string.prototype.matchall "^4.0.12"
- string.prototype.repeat "^1.0.0"
-
-eslint-scope@5.1.1:
- version "5.1.1"
- resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
- integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^4.1.1"
-
-eslint-scope@^7.2.2:
- version "7.2.2"
- resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
- integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-visitor-keys@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
- integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-
-eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
- version "3.4.3"
- resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
- integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
-
-eslint-visitor-keys@^4.2.1:
- version "4.2.1"
- resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
- integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
-
-eslint@^8.57.0:
- version "8.57.1"
- resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz"
- integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
- dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.6.1"
- "@eslint/eslintrc" "^2.1.4"
- "@eslint/js" "8.57.1"
- "@humanwhocodes/config-array" "^0.13.0"
- "@humanwhocodes/module-importer" "^1.0.1"
- "@nodelib/fs.walk" "^1.2.8"
- "@ungap/structured-clone" "^1.2.0"
- ajv "^6.12.4"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.2.2"
- eslint-visitor-keys "^3.4.3"
- espree "^9.6.1"
- esquery "^1.4.2"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- find-up "^5.0.0"
- glob-parent "^6.0.2"
- globals "^13.19.0"
- graphemer "^1.4.0"
- ignore "^5.2.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- is-path-inside "^3.0.3"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
- natural-compare "^1.4.0"
- optionator "^0.9.3"
- strip-ansi "^6.0.1"
- text-table "^0.2.0"
-
-espree@^9.6.0, espree@^9.6.1:
- version "9.6.1"
- resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
- integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
- dependencies:
- acorn "^8.9.0"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.4.1"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.4.2:
- version "1.6.0"
- resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
- integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
- integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
-event-target-shim@^5.0.0:
- 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==
-
-execa@^5.0.0:
- version "5.1.1"
- resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
- 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"
-
-exit@^0.1.2:
- version "0.1.2"
- resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
- integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
-
-expect@^29.0.0, expect@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz"
- integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
- dependencies:
- "@jest/expect-utils" "^29.7.0"
- jest-get-type "^29.6.3"
- jest-matcher-utils "^29.7.0"
- jest-message-util "^29.7.0"
- jest-util "^29.7.0"
-
-exponential-backoff@^3.1.1:
- version "3.1.3"
- resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz"
- integrity sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==
-
-fast-base64-decode@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz"
- integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
- version "3.1.3"
- resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-diff@^1.1.2:
- version "1.3.0"
- resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
- integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
-
-fast-glob@^3.3.2:
- version "3.3.3"
- resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
- integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
- 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"
-
-fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6:
- version "2.0.6"
- resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
- integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-
-fast-uri@^3.0.1:
- version "3.1.0"
- resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz"
- integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
-
-fast-xml-parser@^4.4.1:
- version "4.5.3"
- resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz"
- integrity sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==
- dependencies:
- strnum "^1.1.1"
-
-fastq@^1.6.0:
- version "1.19.1"
- resolved "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz"
- integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
- dependencies:
- reusify "^1.0.4"
-
-fault@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz"
- integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
- dependencies:
- format "^0.2.0"
-
-faye-websocket@0.11.4:
- version "0.11.4"
- resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz"
- integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
- dependencies:
- websocket-driver ">=0.5.1"
-
-fb-dotslash@0.5.8:
- version "0.5.8"
- resolved "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz"
- integrity sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==
-
-fb-watchman@^2.0.0, fb-watchman@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz"
- integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
- dependencies:
- bser "2.1.1"
-
-fdir@^6.5.0:
- version "6.5.0"
- resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz"
- integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
-
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
- dependencies:
- flat-cache "^3.0.4"
-
-fill-range@^7.1.1:
- version "7.1.1"
- resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
- integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
- dependencies:
- to-regex-range "^5.0.1"
-
-filter-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz"
- integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
-
-finalhandler@1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
- integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
- 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"
-
-find-up@^4.0.0, find-up@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-find-up@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
- integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
- dependencies:
- locate-path "^6.0.0"
- path-exists "^4.0.0"
-
-find-up@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz"
- integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==
- dependencies:
- locate-path "^7.2.0"
- path-exists "^5.0.0"
- unicorn-magic "^0.1.0"
-
-find-yarn-workspace-root@^2.0.0:
- 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==
- dependencies:
- micromatch "^4.0.2"
-
-firebase@12.4.0:
- version "12.4.0"
- resolved "https://registry.npmjs.org/firebase/-/firebase-12.4.0.tgz"
- integrity sha512-/chNgDQ6ppPPGOQO4jctxOa/5JeQxuhaxA7Y90K0I+n/wPfoO8mRveedhVUdo7ExLcWUivnnow/ouSLYSI5Icw==
- dependencies:
- "@firebase/ai" "2.4.0"
- "@firebase/analytics" "0.10.19"
- "@firebase/analytics-compat" "0.2.25"
- "@firebase/app" "0.14.4"
- "@firebase/app-check" "0.11.0"
- "@firebase/app-check-compat" "0.4.0"
- "@firebase/app-compat" "0.5.4"
- "@firebase/app-types" "0.9.3"
- "@firebase/auth" "1.11.0"
- "@firebase/auth-compat" "0.6.0"
- "@firebase/data-connect" "0.3.11"
- "@firebase/database" "1.1.0"
- "@firebase/database-compat" "2.1.0"
- "@firebase/firestore" "4.9.2"
- "@firebase/firestore-compat" "0.4.2"
- "@firebase/functions" "0.13.1"
- "@firebase/functions-compat" "0.4.1"
- "@firebase/installations" "0.6.19"
- "@firebase/installations-compat" "0.2.19"
- "@firebase/messaging" "0.12.23"
- "@firebase/messaging-compat" "0.2.23"
- "@firebase/performance" "0.7.9"
- "@firebase/performance-compat" "0.2.22"
- "@firebase/remote-config" "0.7.0"
- "@firebase/remote-config-compat" "0.2.20"
- "@firebase/storage" "0.14.0"
- "@firebase/storage-compat" "0.4.0"
- "@firebase/util" "1.13.0"
-
-flat-cache@^3.0.4:
- version "3.2.0"
- resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz"
- integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
- dependencies:
- flatted "^3.2.9"
- keyv "^4.5.3"
- rimraf "^3.0.2"
-
-flatted@^3.2.9:
- version "3.3.3"
- resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz"
- integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
-
-flow-enums-runtime@^0.0.6:
- version "0.0.6"
- resolved "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz"
- integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==
-
-follow-redirects@^1.15.6:
- version "1.15.11"
- resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz"
- integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
-
-for-each@^0.3.3, for-each@^0.3.5:
- version "0.3.5"
- resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz"
- integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==
- dependencies:
- is-callable "^1.2.7"
-
-form-data@^4.0.4:
- version "4.0.4"
- resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz"
- integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.8"
- es-set-tostringtag "^2.1.0"
- hasown "^2.0.2"
- mime-types "^2.1.12"
-
-format@^0.2.0:
- version "0.2.2"
- resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz"
- integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
- integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
-fs-extra@^10.0.0:
- version "10.1.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
- integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
-fs-extra@^8.1.0:
- version "8.1.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
- integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@^2.3.2, fsevents@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-function-bind@^1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
- integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
-
-function.prototype.name@^1.1.6, function.prototype.name@^1.1.8:
- version "1.1.8"
- resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz"
- integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.3"
- define-properties "^1.2.1"
- functions-have-names "^1.2.3"
- hasown "^2.0.2"
- is-callable "^1.2.7"
-
-functions-have-names@^1.2.3:
- version "1.2.3"
- resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
- integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-
-generator-function@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz"
- integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==
-
-gensync@^1.0.0-beta.2:
- 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==
-
-get-caller-file@^2.0.1, get-caller-file@^2.0.5:
- version "2.0.5"
- resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz"
- integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
- 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"
-
-get-package-type@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz"
- integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-
-get-proto@^1.0.0, get-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz"
- integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
- dependencies:
- dunder-proto "^1.0.1"
- es-object-atoms "^1.0.0"
-
-get-stream@^6.0.0:
- version "6.0.1"
- resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-get-symbol-description@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz"
- integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==
- dependencies:
- call-bound "^1.0.3"
- es-errors "^1.3.0"
- get-intrinsic "^1.2.6"
-
-git-raw-commits@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz"
- integrity sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==
- dependencies:
- dargs "^8.0.0"
- meow "^12.0.1"
- split2 "^4.0.0"
-
-glob-parent@^5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-glob@^7.1.1, glob@^7.1.3, glob@^7.1.4:
- version "7.2.3"
- resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- 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"
-
-global-directory@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz"
- integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==
- dependencies:
- ini "4.1.1"
-
-globals@^13.19.0:
- version "13.24.0"
- resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
- integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
- dependencies:
- type-fest "^0.20.2"
-
-globalthis@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz"
- integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==
- dependencies:
- define-properties "^1.2.1"
- gopd "^1.0.1"
-
-gopd@^1.0.1, gopd@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
- integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
- 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==
-
-graphemer@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
- integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
-
-has-bigints@^1.0.2:
- version "1.1.0"
- resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz"
- integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
- integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
- dependencies:
- es-define-property "^1.0.0"
-
-has-proto@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz"
- integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==
- dependencies:
- dunder-proto "^1.0.0"
-
-has-symbols@^1.0.3, has-symbols@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz"
- integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
-
-has-tostringtag@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
- integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
- dependencies:
- has-symbols "^1.0.3"
-
-hasown@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
- integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
- dependencies:
- function-bind "^1.1.2"
-
-hast-util-parse-selector@^2.0.0:
- version "2.2.5"
- resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz"
- integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
-
-hastscript@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz"
- integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
- dependencies:
- "@types/hast" "^2.0.0"
- comma-separated-tokens "^1.0.0"
- hast-util-parse-selector "^2.0.0"
- property-information "^5.0.0"
- space-separated-tokens "^1.0.0"
-
-hermes-compiler@0.0.0:
- version "0.0.0"
- resolved "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-0.0.0.tgz"
- integrity sha512-boVFutx6ME/Km2mB6vvsQcdnazEYYI/jV1pomx1wcFUG/EVqTkr5CU0CW9bKipOA/8Hyu3NYwW3THg2Q1kNCfA==
-
-hermes-estree@0.32.0:
- version "0.32.0"
- resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz"
- integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==
-
-hermes-parser@0.32.0:
- version "0.32.0"
- resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz"
- integrity sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==
- dependencies:
- hermes-estree "0.32.0"
-
-highlight.js@^10.4.1, highlight.js@~10.7.0:
- version "10.7.3"
- resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz"
- integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
-
-highlightjs-vue@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz"
- integrity sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==
-
-hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
- version "3.3.2"
- resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
- integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
- dependencies:
- react-is "^16.7.0"
-
-html-entities@^2.3.2:
- version "2.6.0"
- resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz"
- integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==
-
-html-escaper@^2.0.0:
- version "2.0.2"
- resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz"
- integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
-
-htmlparser2@^7.1.2:
- version "7.2.0"
- resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz"
- integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==
- dependencies:
- domelementtype "^2.0.1"
- domhandler "^4.2.2"
- domutils "^2.8.0"
- entities "^3.0.1"
-
-http-errors@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
- integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
- dependencies:
- depd "2.0.0"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- toidentifier "1.0.1"
-
-http-parser-js@>=0.5.1:
- version "0.5.10"
- resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz"
- integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==
-
-http-status-codes@^2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz"
- integrity sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==
-
-https-proxy-agent@^7.0.5:
- version "7.0.6"
- resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz"
- integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
- dependencies:
- agent-base "^7.1.2"
- debug "4"
-
-human-signals@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-husky@^9.1.7:
- version "9.1.7"
- resolved "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz"
- integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==
-
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-idb@7.1.1:
- version "7.1.1"
- resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz"
- integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==
-
-ieee754@^1.1.13, ieee754@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-ignore@^5.0.5, ignore@^5.2.0:
- version "5.3.2"
- resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
- integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
-
-ignore@^7.0.5:
- version "7.0.5"
- resolved "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz"
- integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
-
-image-size@^1.0.2:
- version "1.2.1"
- resolved "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz"
- integrity sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==
- dependencies:
- queue "6.0.2"
-
-import-fresh@^3.2.1, import-fresh@^3.3.0:
- version "3.3.1"
- resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
- integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-local@^3.0.2:
- version "3.2.0"
- resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz"
- integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==
- dependencies:
- pkg-dir "^4.2.0"
- resolve-cwd "^3.0.0"
-
-import-meta-resolve@^4.0.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz"
- integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-ini@4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz"
- integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
-
-internal-slot@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz"
- integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==
- dependencies:
- es-errors "^1.3.0"
- hasown "^2.0.2"
- side-channel "^1.1.0"
-
-invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
-is-alphabetical@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz"
- integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
-
-is-alphanumerical@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz"
- integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
- dependencies:
- is-alphabetical "^1.0.0"
- is-decimal "^1.0.0"
-
-is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
- 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==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.3"
- get-intrinsic "^1.2.6"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
-is-arrayish@^0.3.1:
- version "0.3.4"
- resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz"
- integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==
-
-is-async-function@^2.0.0:
- 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==
- 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"
-
-is-bigint@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz"
- integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==
- dependencies:
- has-bigints "^1.0.2"
-
-is-boolean-object@^1.2.1:
- version "1.2.2"
- resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz"
- integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==
- dependencies:
- call-bound "^1.0.3"
- has-tostringtag "^1.0.2"
-
-is-callable@^1.2.7:
- version "1.2.7"
- resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
- integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-
-is-core-module@^2.13.0, is-core-module@^2.16.0:
- version "2.16.1"
- resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz"
- integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
- dependencies:
- hasown "^2.0.2"
-
-is-data-view@^1.0.1, is-data-view@^1.0.2:
- 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==
- dependencies:
- call-bound "^1.0.2"
- get-intrinsic "^1.2.6"
- is-typed-array "^1.1.13"
-
-is-date-object@^1.0.5, is-date-object@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz"
- integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==
- dependencies:
- call-bound "^1.0.2"
- has-tostringtag "^1.0.2"
-
-is-decimal@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz"
- integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
-
-is-docker@^2.0.0:
- version "2.2.1"
- resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-finalizationregistry@^1.1.0:
- version "1.1.1"
- resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz"
- integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==
- dependencies:
- call-bound "^1.0.3"
-
-is-fullwidth-code-point@^2.0.0:
- 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==
-
-is-fullwidth-code-point@^3.0.0:
- 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==
-
-is-generator-fn@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz"
- integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
-
-is-generator-function@^1.0.10:
- version "1.1.2"
- resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz"
- integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==
- 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"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hexadecimal@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz"
- integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
-
-is-interactive@^1.0.0:
- 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==
-
-is-map@^2.0.3:
- 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==
-
-is-negative-zero@^2.0.3:
- version "2.0.3"
- resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz"
- integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
-
-is-number-object@^1.1.1:
- 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==
- dependencies:
- call-bound "^1.0.3"
- has-tostringtag "^1.0.2"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-path-inside@^3.0.3:
- 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==
-
-is-plain-obj@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz"
- integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-
-is-regex@^1.2.1:
- 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==
- dependencies:
- call-bound "^1.0.2"
- gopd "^1.2.0"
- has-tostringtag "^1.0.2"
- hasown "^2.0.2"
-
-is-set@^2.0.3:
- 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==
-
-is-shared-array-buffer@^1.0.4:
- 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==
- dependencies:
- call-bound "^1.0.3"
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-string@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz"
- integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==
- dependencies:
- call-bound "^1.0.3"
- has-tostringtag "^1.0.2"
-
-is-symbol@^1.0.4, is-symbol@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz"
- integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==
- dependencies:
- call-bound "^1.0.2"
- has-symbols "^1.1.0"
- safe-regex-test "^1.1.0"
-
-is-text-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz"
- integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==
- dependencies:
- text-extensions "^2.0.0"
-
-is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15:
- version "1.1.15"
- resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz"
- integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==
- dependencies:
- which-typed-array "^1.1.16"
-
-is-unicode-supported@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz"
- integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
-
-is-weakmap@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz"
- integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
-
-is-weakref@^1.0.2, is-weakref@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz"
- integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==
- dependencies:
- call-bound "^1.0.3"
-
-is-weakset@^2.0.3:
- version "2.0.4"
- resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz"
- integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==
- dependencies:
- call-bound "^1.0.3"
- get-intrinsic "^1.2.6"
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"
- integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
-
-is-wsl@^2.1.1, is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-isarray@^2.0.5:
- version "2.0.5"
- resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
- version "3.2.2"
- resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz"
- integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
-
-istanbul-lib-instrument@^5.0.4:
- version "5.2.1"
- resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz"
- integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
- dependencies:
- "@babel/core" "^7.12.3"
- "@babel/parser" "^7.14.7"
- "@istanbuljs/schema" "^0.1.2"
- istanbul-lib-coverage "^3.2.0"
- semver "^6.3.0"
-
-istanbul-lib-instrument@^6.0.0, istanbul-lib-instrument@^6.0.2:
- version "6.0.3"
- resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz"
- integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==
- dependencies:
- "@babel/core" "^7.23.9"
- "@babel/parser" "^7.23.9"
- "@istanbuljs/schema" "^0.1.3"
- istanbul-lib-coverage "^3.2.0"
- semver "^7.5.4"
-
-istanbul-lib-report@^3.0.0:
- version "3.0.1"
- resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz"
- integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
- dependencies:
- istanbul-lib-coverage "^3.0.0"
- make-dir "^4.0.0"
- supports-color "^7.1.0"
-
-istanbul-lib-source-maps@^4.0.0:
- version "4.0.1"
- resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz"
- integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
- dependencies:
- debug "^4.1.1"
- istanbul-lib-coverage "^3.0.0"
- source-map "^0.6.1"
-
-istanbul-reports@^3.1.3:
- version "3.2.0"
- resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz"
- integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==
- dependencies:
- html-escaper "^2.0.0"
- istanbul-lib-report "^3.0.0"
-
-iterator.prototype@^1.1.4:
- version "1.1.5"
- resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz"
- integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==
- dependencies:
- define-data-property "^1.1.4"
- es-object-atoms "^1.0.0"
- get-intrinsic "^1.2.6"
- get-proto "^1.0.0"
- has-symbols "^1.1.0"
- set-function-name "^2.0.2"
-
-jest-changed-files@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz"
- integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==
- dependencies:
- execa "^5.0.0"
- jest-util "^29.7.0"
- p-limit "^3.1.0"
-
-jest-circus@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz"
- integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
- dependencies:
- "@jest/environment" "^29.7.0"
- "@jest/expect" "^29.7.0"
- "@jest/test-result" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- chalk "^4.0.0"
- co "^4.6.0"
- dedent "^1.0.0"
- is-generator-fn "^2.0.0"
- jest-each "^29.7.0"
- jest-matcher-utils "^29.7.0"
- jest-message-util "^29.7.0"
- jest-runtime "^29.7.0"
- jest-snapshot "^29.7.0"
- jest-util "^29.7.0"
- p-limit "^3.1.0"
- pretty-format "^29.7.0"
- pure-rand "^6.0.0"
- slash "^3.0.0"
- stack-utils "^2.0.3"
-
-jest-cli@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz"
- integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==
- dependencies:
- "@jest/core" "^29.7.0"
- "@jest/test-result" "^29.7.0"
- "@jest/types" "^29.6.3"
- chalk "^4.0.0"
- create-jest "^29.7.0"
- exit "^0.1.2"
- import-local "^3.0.2"
- jest-config "^29.7.0"
- jest-util "^29.7.0"
- jest-validate "^29.7.0"
- yargs "^17.3.1"
-
-jest-config@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz"
- integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
- dependencies:
- "@babel/core" "^7.11.6"
- "@jest/test-sequencer" "^29.7.0"
- "@jest/types" "^29.6.3"
- babel-jest "^29.7.0"
- chalk "^4.0.0"
- ci-info "^3.2.0"
- deepmerge "^4.2.2"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- jest-circus "^29.7.0"
- jest-environment-node "^29.7.0"
- jest-get-type "^29.6.3"
- jest-regex-util "^29.6.3"
- jest-resolve "^29.7.0"
- jest-runner "^29.7.0"
- jest-util "^29.7.0"
- jest-validate "^29.7.0"
- micromatch "^4.0.4"
- parse-json "^5.2.0"
- pretty-format "^29.7.0"
- slash "^3.0.0"
- strip-json-comments "^3.1.1"
-
-jest-diff@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz"
- integrity sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==
- dependencies:
- "@jest/diff-sequences" "30.0.1"
- "@jest/get-type" "30.1.0"
- chalk "^4.1.2"
- pretty-format "30.2.0"
-
-jest-diff@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz"
- integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
- dependencies:
- chalk "^4.0.0"
- diff-sequences "^29.6.3"
- jest-get-type "^29.6.3"
- pretty-format "^29.7.0"
-
-jest-docblock@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz"
- integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
- dependencies:
- detect-newline "^3.0.0"
-
-jest-each@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz"
- integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
- dependencies:
- "@jest/types" "^29.6.3"
- chalk "^4.0.0"
- jest-get-type "^29.6.3"
- jest-util "^29.7.0"
- pretty-format "^29.7.0"
-
-jest-environment-node@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz"
- integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
- 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"
-
-jest-get-type@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz"
- integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
-
-jest-haste-map@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz"
- integrity sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==
- dependencies:
- "@jest/types" "30.2.0"
- "@types/node" "*"
- anymatch "^3.1.3"
- fb-watchman "^2.0.2"
- graceful-fs "^4.2.11"
- jest-regex-util "30.0.1"
- jest-util "30.2.0"
- jest-worker "30.2.0"
- micromatch "^4.0.8"
- walker "^1.0.8"
- optionalDependencies:
- fsevents "^2.3.3"
-
-jest-haste-map@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
- integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
- dependencies:
- "@jest/types" "^29.6.3"
- "@types/graceful-fs" "^4.1.3"
- "@types/node" "*"
- anymatch "^3.0.3"
- fb-watchman "^2.0.0"
- graceful-fs "^4.2.9"
- jest-regex-util "^29.6.3"
- jest-util "^29.7.0"
- jest-worker "^29.7.0"
- micromatch "^4.0.4"
- walker "^1.0.8"
- optionalDependencies:
- fsevents "^2.3.2"
-
-jest-leak-detector@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
- integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
- dependencies:
- jest-get-type "^29.6.3"
- pretty-format "^29.7.0"
-
-jest-matcher-utils@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz"
- integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==
- dependencies:
- chalk "^4.0.0"
- jest-diff "^29.7.0"
- jest-get-type "^29.6.3"
- pretty-format "^29.7.0"
-
-jest-matcher-utils@^30.0.5:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz"
- integrity sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==
- dependencies:
- "@jest/get-type" "30.1.0"
- chalk "^4.1.2"
- jest-diff "30.2.0"
- pretty-format "30.2.0"
-
-jest-message-util@^29.7.0:
- 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==
- 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"
-
-jest-mock@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz"
- integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
- dependencies:
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- jest-util "^29.7.0"
-
-jest-pnp-resolver@^1.2.2:
- version "1.2.3"
- resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
- integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
-
-jest-regex-util@30.0.1:
- version "30.0.1"
- resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz"
- integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==
-
-jest-regex-util@^29.6.3:
- version "29.6.3"
- resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
- integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
-
-jest-resolve-dependencies@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz"
- integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==
- dependencies:
- jest-regex-util "^29.6.3"
- jest-snapshot "^29.7.0"
-
-jest-resolve@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz"
- integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
- dependencies:
- chalk "^4.0.0"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.7.0"
- jest-pnp-resolver "^1.2.2"
- jest-util "^29.7.0"
- jest-validate "^29.7.0"
- resolve "^1.20.0"
- resolve.exports "^2.0.0"
- slash "^3.0.0"
-
-jest-runner@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz"
- integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
- dependencies:
- "@jest/console" "^29.7.0"
- "@jest/environment" "^29.7.0"
- "@jest/test-result" "^29.7.0"
- "@jest/transform" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- chalk "^4.0.0"
- emittery "^0.13.1"
- graceful-fs "^4.2.9"
- jest-docblock "^29.7.0"
- jest-environment-node "^29.7.0"
- jest-haste-map "^29.7.0"
- jest-leak-detector "^29.7.0"
- jest-message-util "^29.7.0"
- jest-resolve "^29.7.0"
- jest-runtime "^29.7.0"
- jest-util "^29.7.0"
- jest-watcher "^29.7.0"
- jest-worker "^29.7.0"
- p-limit "^3.1.0"
- source-map-support "0.5.13"
-
-jest-runtime@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz"
- integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
- dependencies:
- "@jest/environment" "^29.7.0"
- "@jest/fake-timers" "^29.7.0"
- "@jest/globals" "^29.7.0"
- "@jest/source-map" "^29.6.3"
- "@jest/test-result" "^29.7.0"
- "@jest/transform" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- chalk "^4.0.0"
- cjs-module-lexer "^1.0.0"
- collect-v8-coverage "^1.0.0"
- glob "^7.1.3"
- graceful-fs "^4.2.9"
- jest-haste-map "^29.7.0"
- jest-message-util "^29.7.0"
- jest-mock "^29.7.0"
- jest-regex-util "^29.6.3"
- jest-resolve "^29.7.0"
- jest-snapshot "^29.7.0"
- jest-util "^29.7.0"
- slash "^3.0.0"
- strip-bom "^4.0.0"
-
-jest-snapshot@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz"
- integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
- dependencies:
- "@babel/core" "^7.11.6"
- "@babel/generator" "^7.7.2"
- "@babel/plugin-syntax-jsx" "^7.7.2"
- "@babel/plugin-syntax-typescript" "^7.7.2"
- "@babel/types" "^7.3.3"
- "@jest/expect-utils" "^29.7.0"
- "@jest/transform" "^29.7.0"
- "@jest/types" "^29.6.3"
- babel-preset-current-node-syntax "^1.0.0"
- chalk "^4.0.0"
- expect "^29.7.0"
- graceful-fs "^4.2.9"
- jest-diff "^29.7.0"
- jest-get-type "^29.6.3"
- jest-matcher-utils "^29.7.0"
- jest-message-util "^29.7.0"
- jest-util "^29.7.0"
- natural-compare "^1.4.0"
- pretty-format "^29.7.0"
- semver "^7.5.3"
-
-jest-util@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz"
- integrity sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==
- dependencies:
- "@jest/types" "30.2.0"
- "@types/node" "*"
- chalk "^4.1.2"
- ci-info "^4.2.0"
- graceful-fs "^4.2.11"
- picomatch "^4.0.2"
-
-jest-util@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz"
- integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
- 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"
-
-jest-validate@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz"
- integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
- 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"
-
-jest-watcher@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz"
- integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
- dependencies:
- "@jest/test-result" "^29.7.0"
- "@jest/types" "^29.6.3"
- "@types/node" "*"
- ansi-escapes "^4.2.1"
- chalk "^4.0.0"
- emittery "^0.13.1"
- jest-util "^29.7.0"
- string-length "^4.0.1"
-
-jest-worker@30.2.0:
- version "30.2.0"
- resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz"
- integrity sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==
- dependencies:
- "@types/node" "*"
- "@ungap/structured-clone" "^1.3.0"
- jest-util "30.2.0"
- merge-stream "^2.0.0"
- supports-color "^8.1.1"
-
-jest-worker@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
- integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
- dependencies:
- "@types/node" "*"
- jest-util "^29.7.0"
- merge-stream "^2.0.0"
- supports-color "^8.0.0"
-
-jest@^29.6.3:
- version "29.7.0"
- resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz"
- integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
- dependencies:
- "@jest/core" "^29.7.0"
- "@jest/types" "^29.6.3"
- import-local "^3.0.2"
- jest-cli "^29.7.0"
-
-jiti@^2.6.1:
- version "2.6.1"
- resolved "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz"
- integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==
-
-joi@^17.2.1:
- version "17.13.3"
- resolved "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz"
- integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==
- 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"
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-jsc-safe-url@^0.2.2:
- 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==
-
-jsesc@^3.0.2, jsesc@~3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
- integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
-
-json-buffer@3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-json-parse-even-better-errors@^2.3.0:
- version "2.3.1"
- resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
- integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema-traverse@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
- integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
- integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
-json-stable-stringify@^1.0.2:
- version "1.3.0"
- resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz"
- integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.4"
- isarray "^2.0.5"
- jsonify "^0.0.1"
- object-keys "^1.1.1"
-
-json5@^2.2.3:
- version "2.2.3"
- resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
- integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
- integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonfile@^6.0.1:
- version "6.2.0"
- resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz"
- integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==
- dependencies:
- universalify "^2.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonify@^0.0.1:
- version "0.0.1"
- resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz"
- integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
-
-jsonparse@^1.2.0:
- version "1.3.1"
- resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
- integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
-
-"jsx-ast-utils@^2.4.1 || ^3.0.0":
- version "3.3.5"
- resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz"
- integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.flat "^1.3.1"
- object.assign "^4.1.4"
- object.values "^1.1.6"
-
-keyv@^4.5.3:
- version "4.5.4"
- resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
- integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
- dependencies:
- json-buffer "3.0.1"
-
-klaw-sync@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz"
- integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==
- dependencies:
- graceful-fs "^4.1.11"
-
-kleur@^3.0.3:
- version "3.0.3"
- resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz"
- integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-
-launch-editor@^2.9.1:
- version "2.11.1"
- resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz"
- integrity sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==
- dependencies:
- picocolors "^1.1.1"
- shell-quote "^1.8.3"
-
-leven@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz"
- integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-lighthouse-logger@^1.0.0:
- version "1.4.2"
- resolved "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz"
- integrity sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==
- dependencies:
- debug "^2.6.9"
- marky "^1.2.2"
-
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
-llama.rn@0.11.3:
- version "0.11.3"
- resolved "https://registry.npmjs.org/llama.rn/-/llama.rn-0.11.3.tgz"
- integrity sha512-op4re/djQDYmtnxdO1FwdkJQsXsPIYHfrvr03nIFbxNzhVyMiFi96+c84+P6t9/Cxuxe4ckAJaMsqfGpK2j/Nw==
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-locate-path@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
- integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
- dependencies:
- p-locate "^5.0.0"
-
-locate-path@^7.2.0:
- version "7.2.0"
- resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz"
- integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==
- dependencies:
- p-locate "^6.0.0"
-
-lodash.camelcase@^4.3.0:
- version "4.3.0"
- resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"
- integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
- integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
-lodash.isequal@^4.5.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz"
- integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
-
-lodash.isobject@^3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz"
- integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==
-
-lodash.isplainobject@^4.0.6:
- version "4.0.6"
- resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
- integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
-
-lodash.kebabcase@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"
- integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==
-
-lodash.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-lodash.mergewith@^4.6.2:
- version "4.6.2"
- resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz"
- integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==
-
-lodash.snakecase@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz"
- integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==
-
-lodash.startcase@^4.4.0:
- version "4.4.0"
- resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz"
- integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==
-
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
- integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
-
-lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
- integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
-
-lodash.upperfirst@^4.3.1:
- version "4.3.1"
- resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz"
- integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==
-
-lodash@^4.17.21:
- version "4.17.21"
- resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-log-symbols@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz"
- integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
- dependencies:
- chalk "^4.1.0"
- is-unicode-supported "^0.1.0"
-
-logkitty@^0.7.1:
- version "0.7.1"
- resolved "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz"
- integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==
- dependencies:
- ansi-fragments "^0.2.1"
- dayjs "^1.8.15"
- yargs "^15.1.0"
-
-"lokijs@npm:@nozbe/lokijs@1.5.12-wmelon6":
- version "1.5.12-wmelon6"
- resolved "https://registry.npmjs.org/@nozbe/lokijs/-/lokijs-1.5.12-wmelon6.tgz"
- integrity sha512-GXsaqY8qTJ6xdCrGyno2t+ON2aj6PrUDdvhbrkxK/0Fp12C4FGvDg1wS+voLU9BANYHEnr7KRWfItDZnQkjoAg==
-
-long@^5.0.0:
- version "5.3.2"
- resolved "https://registry.npmjs.org/long/-/long-5.3.2.tgz"
- integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==
-
-loose-envify@^1.0.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lower-case@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz"
- integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
- dependencies:
- tslib "^2.0.3"
-
-lowlight@^1.17.0:
- version "1.20.0"
- resolved "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz"
- integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
- dependencies:
- fault "^1.0.0"
- highlight.js "~10.7.0"
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-make-dir@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz"
- integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
- dependencies:
- semver "^7.5.3"
-
-makeerror@1.0.12:
- version "1.0.12"
- resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
- integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
- dependencies:
- tmpl "1.0.5"
-
-marked@^16.4.0:
- version "16.4.1"
- resolved "https://registry.npmjs.org/marked/-/marked-16.4.1.tgz"
- integrity sha512-ntROs7RaN3EvWfy3EZi14H4YxmT6A5YvywfhO+0pm+cH/dnSQRmdAmoFIc3B9aiwTehyk7pESH4ofyBY+V5hZg==
-
-marky@^1.2.2:
- version "1.3.0"
- resolved "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz"
- integrity sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==
-
-math-intrinsics@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
- integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
-
-mdn-data@2.0.14:
- version "2.0.14"
- resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
- integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
-
-mdn-data@2.0.28:
- version "2.0.28"
- resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz"
- integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
-
-mdn-data@2.0.30:
- version "2.0.30"
- resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
- integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
- integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-memoize-one@^5.0.0:
- 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==
-
-meow@^12.0.1:
- version "12.1.1"
- resolved "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz"
- integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==
-
-merge-options@^3.0.4:
- version "3.0.4"
- resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz"
- integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==
- dependencies:
- is-plain-obj "^2.1.0"
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-metro-babel-transformer@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.3.tgz"
- integrity sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g==
- dependencies:
- "@babel/core" "^7.25.2"
- flow-enums-runtime "^0.0.6"
- hermes-parser "0.32.0"
- nullthrows "^1.1.1"
-
-metro-cache-key@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.3.tgz"
- integrity sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw==
- dependencies:
- flow-enums-runtime "^0.0.6"
-
-metro-cache@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.3.tgz"
- integrity sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q==
- dependencies:
- exponential-backoff "^3.1.1"
- flow-enums-runtime "^0.0.6"
- https-proxy-agent "^7.0.5"
- metro-core "0.83.3"
-
-metro-config@0.83.3, metro-config@^0.83.1:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz"
- integrity sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==
- dependencies:
- connect "^3.6.5"
- flow-enums-runtime "^0.0.6"
- jest-validate "^29.7.0"
- metro "0.83.3"
- metro-cache "0.83.3"
- metro-core "0.83.3"
- metro-runtime "0.83.3"
- yaml "^2.6.1"
-
-metro-core@0.83.3, metro-core@^0.83.1:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz"
- integrity sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==
- dependencies:
- flow-enums-runtime "^0.0.6"
- lodash.throttle "^4.1.1"
- metro-resolver "0.83.3"
-
-metro-file-map@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.3.tgz"
- integrity sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA==
- dependencies:
- debug "^4.4.0"
- fb-watchman "^2.0.0"
- flow-enums-runtime "^0.0.6"
- graceful-fs "^4.2.4"
- invariant "^2.2.4"
- jest-worker "^29.7.0"
- micromatch "^4.0.4"
- nullthrows "^1.1.1"
- walker "^1.0.7"
-
-metro-minify-terser@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.3.tgz"
- integrity sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ==
- dependencies:
- flow-enums-runtime "^0.0.6"
- terser "^5.15.0"
-
-metro-resolver@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.3.tgz"
- integrity sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ==
- dependencies:
- flow-enums-runtime "^0.0.6"
-
-metro-runtime@0.83.3, metro-runtime@^0.83.1:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz"
- integrity sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==
- dependencies:
- "@babel/runtime" "^7.25.0"
- flow-enums-runtime "^0.0.6"
-
-metro-source-map@0.83.3, metro-source-map@^0.83.1:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz"
- integrity sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==
- dependencies:
- "@babel/traverse" "^7.25.3"
- "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
- "@babel/types" "^7.25.2"
- flow-enums-runtime "^0.0.6"
- invariant "^2.2.4"
- metro-symbolicate "0.83.3"
- nullthrows "^1.1.1"
- ob1 "0.83.3"
- source-map "^0.5.6"
- vlq "^1.0.0"
-
-metro-symbolicate@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz"
- integrity sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw==
- dependencies:
- flow-enums-runtime "^0.0.6"
- invariant "^2.2.4"
- metro-source-map "0.83.3"
- nullthrows "^1.1.1"
- source-map "^0.5.6"
- vlq "^1.0.0"
-
-metro-transform-plugins@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.3.tgz"
- integrity sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A==
- dependencies:
- "@babel/core" "^7.25.2"
- "@babel/generator" "^7.25.0"
- "@babel/template" "^7.25.0"
- "@babel/traverse" "^7.25.3"
- flow-enums-runtime "^0.0.6"
- nullthrows "^1.1.1"
-
-metro-transform-worker@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.3.tgz"
- integrity sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA==
- dependencies:
- "@babel/core" "^7.25.2"
- "@babel/generator" "^7.25.0"
- "@babel/parser" "^7.25.3"
- "@babel/types" "^7.25.2"
- flow-enums-runtime "^0.0.6"
- metro "0.83.3"
- metro-babel-transformer "0.83.3"
- metro-cache "0.83.3"
- metro-cache-key "0.83.3"
- metro-minify-terser "0.83.3"
- metro-source-map "0.83.3"
- metro-transform-plugins "0.83.3"
- nullthrows "^1.1.1"
-
-metro@0.83.3, metro@^0.83.1:
- version "0.83.3"
- resolved "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz"
- integrity sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==
- dependencies:
- "@babel/code-frame" "^7.24.7"
- "@babel/core" "^7.25.2"
- "@babel/generator" "^7.25.0"
- "@babel/parser" "^7.25.3"
- "@babel/template" "^7.25.0"
- "@babel/traverse" "^7.25.3"
- "@babel/types" "^7.25.2"
- accepts "^1.3.7"
- chalk "^4.0.0"
- ci-info "^2.0.0"
- connect "^3.6.5"
- debug "^4.4.0"
- error-stack-parser "^2.0.6"
- flow-enums-runtime "^0.0.6"
- graceful-fs "^4.2.4"
- hermes-parser "0.32.0"
- image-size "^1.0.2"
- invariant "^2.2.4"
- jest-worker "^29.7.0"
- jsc-safe-url "^0.2.2"
- lodash.throttle "^4.1.1"
- metro-babel-transformer "0.83.3"
- metro-cache "0.83.3"
- metro-cache-key "0.83.3"
- metro-config "0.83.3"
- metro-core "0.83.3"
- metro-file-map "0.83.3"
- metro-resolver "0.83.3"
- metro-runtime "0.83.3"
- metro-source-map "0.83.3"
- metro-symbolicate "0.83.3"
- metro-transform-plugins "0.83.3"
- metro-transform-worker "0.83.3"
- mime-types "^2.1.27"
- nullthrows "^1.1.1"
- serialize-error "^2.1.0"
- source-map "^0.5.6"
- throat "^5.0.0"
- ws "^7.5.10"
- yargs "^17.6.2"
-
-micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8:
- version "4.0.8"
- resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
- integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
- dependencies:
- braces "^3.0.3"
- picomatch "^2.3.1"
-
-mime-db@1.52.0:
- version "1.52.0"
- resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-"mime-db@>= 1.43.0 < 2":
- version "1.54.0"
- resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz"
- integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
-
-mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
- version "2.1.35"
- resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
- integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
- dependencies:
- mime-db "1.52.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mime@^2.4.1:
- version "2.6.0"
- resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz"
- integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-min-indent@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
- integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-
-minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^9.0.5:
- version "9.0.5"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
- integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimist@^1.2.6, minimist@^1.2.8:
- version "1.2.8"
- resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
- integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-
-mkdirp@^1.0.4:
- version "1.0.4"
- resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-mobx-persist-store@^1.1.8:
- version "1.1.8"
- resolved "https://registry.npmjs.org/mobx-persist-store/-/mobx-persist-store-1.1.8.tgz"
- integrity sha512-7SiLvang0POfGvfP69fzmppBKv36e0TNndKJT1UokZuLXt13CqF3PAxIcRacHqjTBe4ktmzDsh3DK+fbM6epNg==
-
-mobx-react-lite@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.1.tgz"
- integrity sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg==
- dependencies:
- use-sync-external-store "^1.4.0"
-
-mobx-react@^9.2.1:
- version "9.2.1"
- resolved "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.1.tgz"
- integrity sha512-WJNNm0FB2n0Z0u+jS1QHmmWyV8l2WiAj8V8I/96kbUEN2YbYCoKW+hbbqKKRUBqElu0llxM7nWKehvRIkhBVJw==
- dependencies:
- mobx-react-lite "^4.1.1"
-
-mobx@^6.15.0:
- version "6.15.0"
- resolved "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz"
- integrity sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.3, ms@^2.1.3:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-mustache@^4.2.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz"
- integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==
-
-nanoid@^3.3.1, nanoid@^3.3.11:
- version "3.3.11"
- resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
- integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-negotiator@0.6.3:
- version "0.6.3"
- resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
- integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-
-negotiator@~0.6.4:
- version "0.6.4"
- resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz"
- integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
-
-no-case@^3.0.4:
- version "3.0.4"
- resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz"
- integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
- dependencies:
- lower-case "^2.0.2"
- tslib "^2.0.3"
-
-nocache@^3.0.1:
- version "3.0.4"
- resolved "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz"
- integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==
-
-node-int64@^0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz"
- integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
-
-node-releases@^2.0.21:
- version "2.0.25"
- resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.25.tgz"
- integrity sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==
-
-node-stream-zip@^1.9.1:
- version "1.15.0"
- resolved "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz"
- integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==
-
-normalize-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-npm-run-path@^4.0.1:
- version "4.0.1"
- resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-nth-check@^2.0.1:
- version "2.1.1"
- resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
- integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
- dependencies:
- boolbase "^1.0.0"
-
-nullthrows@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz"
- integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
-
-nunjucks@^3.2.4:
- version "3.2.4"
- resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz"
- integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==
- dependencies:
- a-sync-waterfall "^1.0.0"
- asap "^2.0.3"
- commander "^5.1.0"
-
-ob1@0.83.3:
- version "0.83.3"
- resolved "https://registry.npmjs.org/ob1/-/ob1-0.83.3.tgz"
- integrity sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA==
- dependencies:
- flow-enums-runtime "^0.0.6"
-
-object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
- integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-
-object-inspect@^1.13.3, object-inspect@^1.13.4:
- version "1.13.4"
- resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz"
- integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
-
-object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.4, object.assign@^4.1.7:
- version "4.1.7"
- resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz"
- integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
- 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"
-
-object.entries@^1.1.9:
- version "1.1.9"
- resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz"
- integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.4"
- define-properties "^1.2.1"
- es-object-atoms "^1.1.1"
-
-object.fromentries@^2.0.8:
- version "2.0.8"
- resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz"
- integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==
- dependencies:
- call-bind "^1.0.7"
- define-properties "^1.2.1"
- es-abstract "^1.23.2"
- es-object-atoms "^1.0.0"
-
-object.values@^1.1.6, object.values@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz"
- integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.3"
- define-properties "^1.2.1"
- es-object-atoms "^1.0.0"
-
-on-finished@2.4.1:
- version "2.4.1"
- resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
- integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
- dependencies:
- ee-first "1.1.1"
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
- integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz"
- integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-onetime@^5.1.0, onetime@^5.1.2:
- version "5.1.2"
- resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-open@^6.2.0:
- version "6.4.0"
- resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz"
- integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
- dependencies:
- is-wsl "^1.1.0"
-
-open@^7.0.3, open@^7.4.2:
- version "7.4.2"
- resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz"
- integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
- dependencies:
- is-docker "^2.0.0"
- is-wsl "^2.1.1"
-
-optionator@^0.9.3:
- version "0.9.4"
- resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz"
- integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
- dependencies:
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
- word-wrap "^1.2.5"
-
-ora@^5.4.1:
- version "5.4.1"
- resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz"
- integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
- 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"
-
-own-keys@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz"
- integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==
- dependencies:
- get-intrinsic "^1.2.6"
- object-keys "^1.1.1"
- safe-push-apply "^1.0.0"
-
-p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.0.2, p-limit@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-limit@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz"
- integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
- dependencies:
- yocto-queue "^1.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-locate@^5.0.0:
- 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==
- dependencies:
- p-limit "^3.0.2"
-
-p-locate@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz"
- integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
- dependencies:
- p-limit "^4.0.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-entities@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz"
- integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
- dependencies:
- character-entities "^1.0.0"
- character-entities-legacy "^1.0.0"
- character-reference-invalid "^1.0.0"
- is-alphanumerical "^1.0.0"
- is-decimal "^1.0.0"
- is-hexadecimal "^1.0.0"
-
-parse-json@^5.2.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
- integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-even-better-errors "^2.3.0"
- lines-and-columns "^1.1.6"
-
-parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-patch-package@^8.0.1:
- version "8.0.1"
- resolved "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz"
- integrity sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==
- dependencies:
- "@yarnpkg/lockfile" "^1.1.0"
- chalk "^4.1.2"
- ci-info "^3.7.0"
- cross-spawn "^7.0.3"
- find-yarn-workspace-root "^2.0.0"
- fs-extra "^10.0.0"
- json-stable-stringify "^1.0.2"
- klaw-sync "^6.0.0"
- minimist "^1.2.6"
- open "^7.4.2"
- semver "^7.5.3"
- slash "^2.0.0"
- tmp "^0.2.4"
- yaml "^2.2.2"
-
-path-dirname@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
- integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-exists@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz"
- integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-picocolors@^1.0.0, picocolors@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
- integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
-
-picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-picomatch@^4.0.2, picomatch@^4.0.3:
- version "4.0.3"
- resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
- integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
-
-pirates@^4.0.4, pirates@^4.0.7:
- version "4.0.7"
- resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz"
- integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
-
-pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-possible-typed-array-names@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz"
- integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==
-
-postcss-value-parser@^4.0.2:
- version "4.2.0"
- resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postinstall-postinstall@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz"
- integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-prettier-linter-helpers@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz"
- integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
- dependencies:
- fast-diff "^1.1.2"
-
-prettier@3.6.2:
- version "3.6.2"
- resolved "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz"
- integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==
-
-pretty-format@30.2.0, pretty-format@^30.0.5:
- version "30.2.0"
- resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz"
- integrity sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==
- dependencies:
- "@jest/schemas" "30.0.5"
- ansi-styles "^5.2.0"
- react-is "^18.3.1"
-
-pretty-format@^29.0.0, pretty-format@^29.7.0:
- version "29.7.0"
- resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz"
- integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
- dependencies:
- "@jest/schemas" "^29.6.3"
- ansi-styles "^5.0.0"
- react-is "^18.0.0"
-
-prismjs@^1.27.0, prismjs@^1.30.0:
- version "1.30.0"
- resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz"
- integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==
-
-prismjs@~1.27.0:
- version "1.27.0"
- resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz"
- integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
-
-promise@^8.3.0:
- version "8.3.0"
- resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz"
- integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==
- dependencies:
- asap "~2.0.6"
-
-prompts@^2.0.1, prompts@^2.4.2:
- version "2.4.2"
- resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz"
- integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.5"
-
-prop-types@^15.5.7, prop-types@^15.7.2, prop-types@^15.7.x, prop-types@^15.8.1:
- version "15.8.1"
- resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
- integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.13.1"
-
-property-information@^5.0.0:
- version "5.6.0"
- resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz"
- integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
- dependencies:
- xtend "^4.0.0"
-
-protobufjs@^7.2.5:
- version "7.5.4"
- resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz"
- integrity sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==
- dependencies:
- "@protobufjs/aspromise" "^1.1.2"
- "@protobufjs/base64" "^1.1.2"
- "@protobufjs/codegen" "^2.0.4"
- "@protobufjs/eventemitter" "^1.1.0"
- "@protobufjs/fetch" "^1.1.0"
- "@protobufjs/float" "^1.0.2"
- "@protobufjs/inquire" "^1.1.0"
- "@protobufjs/path" "^1.1.2"
- "@protobufjs/pool" "^1.1.0"
- "@protobufjs/utf8" "^1.1.0"
- "@types/node" ">=13.7.0"
- long "^5.0.0"
-
-proxy-from-env@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.3.1"
- resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
- integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-pure-rand@^6.0.0:
- version "6.1.0"
- resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz"
- integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
-
-qs@6.13.0:
- version "6.13.0"
- resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz"
- integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
- dependencies:
- side-channel "^1.0.6"
-
-query-string@^7.1.3:
- version "7.1.3"
- resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz"
- integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==
- dependencies:
- decode-uri-component "^0.2.2"
- filter-obj "^1.1.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-queue@6.0.2:
- version "6.0.2"
- resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz"
- integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
- dependencies:
- inherits "~2.0.3"
-
-ramda@^0.27.2:
- version "0.27.2"
- resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz"
- integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==
-
-range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.2:
- version "2.5.2"
- resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
- integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-react-devtools-core@^6.1.5:
- version "6.1.5"
- resolved "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz"
- integrity sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==
- dependencies:
- shell-quote "^1.6.1"
- ws "^7"
-
-react-error-boundary@^3.1.0:
- version "3.1.4"
- resolved "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz"
- integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==
- dependencies:
- "@babel/runtime" "^7.12.5"
-
-react-freeze@^1.0.0:
- version "1.0.4"
- resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz"
- integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==
-
-react-hook-form@^7.65.0:
- version "7.65.0"
- resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.65.0.tgz"
- integrity sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw==
-
-react-is@^16.13.1, react-is@^16.7.0:
- version "16.13.1"
- resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-is@^18.0.0, react-is@^18.3.1:
- 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==
-
-react-is@^19.1.0, react-is@^19.1.1:
- version "19.2.0"
- resolved "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz"
- integrity sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==
-
-react-native-code-highlighter@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/react-native-code-highlighter/-/react-native-code-highlighter-1.3.0.tgz"
- integrity sha512-Hd6YSHRfkrZBxmiujMBkIKvG2g8YIUllqnjJ6hEBGUGfiSlwu50SzGathW25pL2Ab3rT4doMSu8fIKGZPqxGSA==
- dependencies:
- css-to-react-native "3.2.0"
- react-syntax-highlighter "15.6.1"
- trim-newlines "5.0.0"
-
-react-native-config@1.5.5:
- version "1.5.5"
- resolved "https://registry.npmjs.org/react-native-config/-/react-native-config-1.5.5.tgz"
- integrity sha512-dGdLnBU0cd5xL5bF0ROTmHYbsstZnQKOEPfglvZi1vStvAjpld14X25K6mY3KGPTMWAzx6TbjKeq5dR+ILuMMA==
-
-react-native-device-info@^14.1.1:
- version "14.1.1"
- resolved "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-14.1.1.tgz"
- integrity sha512-lXFpe6DJmzbQXNLWxlMHP2xuTU5gwrKAvI8dCAZuERhW9eOXSubOQIesk9lIBnsi9pI19GMrcpJEvs4ARPRYmw==
-
-react-native-dotenv@^3.4.11:
- version "3.4.11"
- resolved "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-3.4.11.tgz"
- integrity sha512-6vnIE+WHABSeHCaYP6l3O1BOEhWxKH6nHAdV7n/wKn/sciZ64zPPp2NUdEUf1m7g4uuzlLbjgr+6uDt89q2DOg==
- dependencies:
- dotenv "^16.4.5"
-
-react-native-drawer-layout@^4.2.1:
- version "4.2.1"
- resolved "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.2.1.tgz"
- integrity sha512-liwRJ7ynRU/ogRlUdiK1Yoi1VzUSq2Vu/RU+UgqlMB3XduslZ1DZg/mTX0f1uCEV2dJ4ec+1fRa3OlIierfyZg==
- dependencies:
- color "^4.2.3"
- use-latest-callback "^0.2.4"
-
-react-native-gesture-handler@^2.28.0:
- version "2.28.0"
- resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.28.0.tgz"
- integrity sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A==
- dependencies:
- "@egjs/hammerjs" "^2.0.17"
- hoist-non-react-statics "^3.3.0"
- invariant "^2.2.4"
-
-react-native-get-random-values@^1.11.0:
- version "1.11.0"
- resolved "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz"
- integrity sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==
- dependencies:
- fast-base64-decode "^1.0.0"
-
-react-native-haptic-feedback@^2.3.3:
- version "2.3.3"
- resolved "https://registry.npmjs.org/react-native-haptic-feedback/-/react-native-haptic-feedback-2.3.3.tgz"
- integrity sha512-svS4D5PxfNv8o68m9ahWfwje5NqukM3qLS48+WTdhbDkNUkOhP9rDfDSRHzlhk4zq+ISjyw95EhLeh8NkKX5vQ==
-
-react-native-image-picker@^8.2.1:
- version "8.2.1"
- resolved "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-8.2.1.tgz"
- integrity sha512-FBeGYJGFDjMdGCcyubDJgBAPCQ4L1D3hwLXyUU91jY9ahOZMTbluceVvRmrEKqnDPFJ0gF1NVhJ0nr1nROFLdg==
-
-react-native-image-viewing@^0.2.2:
- version "0.2.2"
- resolved "https://registry.npmjs.org/react-native-image-viewing/-/react-native-image-viewing-0.2.2.tgz"
- integrity sha512-osWieG+p/d2NPbAyonOMubttajtYEYiRGQaJA54slFxZ69j1V4/dCmcrVQry47ktVKy8/qpFwCpW1eT6MH5T2Q==
-
-react-native-is-edge-to-edge@^1.2.1:
- version "1.2.1"
- resolved "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz"
- integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==
-
-react-native-keyboard-controller@^1.19.1:
- version "1.19.1"
- resolved "https://registry.npmjs.org/react-native-keyboard-controller/-/react-native-keyboard-controller-1.19.1.tgz"
- integrity sha512-+/jWtRfWQtq7Akr73x9y0iJJ4NPoENrBpNKDU/s65HeUH8VAzXz+Fq7kFSObJx5UVelRN/d8njTK/tMrs4a/hA==
- dependencies:
- react-native-is-edge-to-edge "^1.2.1"
-
-react-native-keychain@^10.0.0:
- version "10.0.0"
- resolved "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-10.0.0.tgz"
- integrity sha512-YzPKSAnSzGEJ12IK6CctNLU79T1W15WDrElRQ+1/FsOazGX9ucFPTQwgYe8Dy8jiSEDJKM4wkVa3g4lD2Z+Pnw==
-
-react-native-linear-gradient@^2.8.3:
- version "2.8.3"
- resolved "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.8.3.tgz"
- integrity sha512-KflAXZcEg54PXkLyflaSZQ3PJp4uC4whM7nT/Uot9m0e/qxFV3p6uor1983D1YOBJbJN7rrWdqIjq0T42jOJyA==
-
-react-native-paper@5.14.5:
- version "5.14.5"
- resolved "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.14.5.tgz"
- integrity sha512-eaIH5bUQjJ/mYm4AkI6caaiyc7BcHDwX6CqNDi6RIxfxfWxROsHpll1oBuwn/cFvknvA8uEAkqLk/vzVihI3AQ==
- dependencies:
- "@callstack/react-theme-provider" "^3.0.9"
- color "^3.1.2"
- use-latest-callback "^0.2.3"
-
-react-native-parsed-text@^0.0.22:
- version "0.0.22"
- resolved "https://registry.npmjs.org/react-native-parsed-text/-/react-native-parsed-text-0.0.22.tgz"
- integrity sha512-hfD83RDXZf9Fvth3DowR7j65fMnlqM9PpxZBGWkzVcUTFtqe6/yPcIoIAgrJbKn6YmtzkivmhWE2MCE4JKBXrQ==
- dependencies:
- prop-types "^15.7.x"
-
-react-native-picker-select@^9.3.1:
- version "9.3.1"
- resolved "https://registry.npmjs.org/react-native-picker-select/-/react-native-picker-select-9.3.1.tgz"
- integrity sha512-o621HcsKJfJkpYeP/PZQiZTKbf8W7FT08niLFL0v1pGkIQyak5IfzfinV2t+/l1vktGwAH2Tt29LrP/Hc5fk3A==
- dependencies:
- lodash.isequal "^4.5.0"
- lodash.isobject "^3.0.2"
-
-react-native-reanimated@^4.1.3:
- version "4.1.3"
- resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.1.3.tgz"
- integrity sha512-GP8wsi1u3nqvC1fMab/m8gfFwFyldawElCcUSBJQgfrXeLmsPPUOpDw44lbLeCpcwUuLa05WTVePdTEwCLTUZg==
- dependencies:
- react-native-is-edge-to-edge "^1.2.1"
- semver "7.7.2"
-
-react-native-render-html@^6.3.4:
- version "6.3.4"
- resolved "https://registry.npmjs.org/react-native-render-html/-/react-native-render-html-6.3.4.tgz"
- integrity sha512-H2jSMzZjidE+Wo3qCWPUMU1nm98Vs2SGCvQCz/i6xf0P3Y9uVtG/b0sDbG/cYFir2mSYBYCIlS1Dv0WC1LjYig==
- dependencies:
- "@jsamr/counter-style" "^2.0.1"
- "@jsamr/react-native-li" "^2.3.0"
- "@native-html/transient-render-engine" "11.2.3"
- "@types/ramda" "^0.27.40"
- "@types/urijs" "^1.19.15"
- prop-types "^15.5.7"
- ramda "^0.27.2"
- stringify-entities "^3.1.0"
- urijs "^1.19.6"
-
-react-native-safe-area-context@^5.6.1:
- version "5.6.1"
- resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.6.1.tgz"
- integrity sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==
-
-react-native-screens@^4.19.0:
- version "4.19.0"
- resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.19.0.tgz"
- integrity sha512-qSDAO3AL5bti0Ri7KZRSVmWlhDr8MV86N5GruiKVQfEL7Zx2nUi3Dl62lqHUAD/LnDvOPuDDsMHCfIpYSv3hPQ==
- dependencies:
- react-freeze "^1.0.0"
- warn-once "^0.1.0"
-
-react-native-share@^12.2.0:
- version "12.2.0"
- resolved "https://registry.npmjs.org/react-native-share/-/react-native-share-12.2.0.tgz"
- integrity sha512-f6MB9BsKa9xVvu0DKbxq5jw4IyYHqQeqUlCNkD8eAFoJx6SD31ObPAn7SQ6NG9AOuhCy6aYuSJYJvx25DaoMZQ==
-
-react-native-svg-transformer@^1.5.1:
- version "1.5.1"
- resolved "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-1.5.1.tgz"
- integrity sha512-dFvBNR8A9VPum9KCfh+LE49YiJEF8zUSnEFciKQroR/bEOhlPoZA0SuQ0qNk7m2iZl2w59FYjdRe0pMHWMDl0Q==
- dependencies:
- "@svgr/core" "^8.1.0"
- "@svgr/plugin-jsx" "^8.1.0"
- "@svgr/plugin-svgo" "^8.1.0"
- path-dirname "^1.0.2"
-
-react-native-svg@^15.13.0:
- version "15.14.0"
- resolved "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.14.0.tgz"
- integrity sha512-B3gYc7WztcOT4N54AtUutbe0Nuqqh/nkresY0fAXzUHYLsWuIu/yGiCCD3DKfAs6GLv5LFtWTu7N333Q+e3bkg==
- dependencies:
- css-select "^5.1.0"
- css-tree "^1.1.3"
- warn-once "0.1.1"
-
-react-native-url-polyfill@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-3.0.0.tgz"
- integrity sha512-aA5CiuUCUb/lbrliVCJ6lZ17/RpNJzvTO/C7gC/YmDQhTUoRD5q5HlJfwLWcxz4VgAhHwXKzhxH+wUN24tAdqg==
- dependencies:
- whatwg-url-without-unicode "8.0.0-3"
-
-react-native-vector-icons@^10.3.0:
- version "10.3.0"
- resolved "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.3.0.tgz"
- integrity sha512-IFQ0RE57819hOUdFvgK4FowM5aMXg7C7XKsuGLevqXkkIJatc3QopN0wYrb2IrzUgmdpfP+QVIbI3S6h7M0btw==
- dependencies:
- prop-types "^15.7.2"
- yargs "^16.1.1"
-
-react-native-vision-camera@^4.7.2:
- version "4.7.2"
- resolved "https://registry.npmjs.org/react-native-vision-camera/-/react-native-vision-camera-4.7.2.tgz"
- integrity sha512-C+5PvlSunN6I4aYplSask+v3jfhgduZumIVw6H6lG+Afpf8boIcG3uFSsSfVgj+hxI7fx6qM6bsciEhzgxEUYg==
-
-react-native-worklets@^0.6.0:
- version "0.6.1"
- resolved "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.6.1.tgz"
- integrity sha512-URca8l7c7Uog7gv4mcg9KILdJlnbvwdS5yfXQYf5TDkD2W1VY1sduEKrD+sA3lUPXH/TG1vmXAvNxCNwPMYgGg==
- dependencies:
- "@babel/plugin-transform-arrow-functions" "^7.0.0-0"
- "@babel/plugin-transform-class-properties" "^7.0.0-0"
- "@babel/plugin-transform-classes" "^7.0.0-0"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0"
- "@babel/plugin-transform-optional-chaining" "^7.0.0-0"
- "@babel/plugin-transform-shorthand-properties" "^7.0.0-0"
- "@babel/plugin-transform-template-literals" "^7.0.0-0"
- "@babel/plugin-transform-unicode-regex" "^7.0.0-0"
- "@babel/preset-typescript" "^7.16.7"
- convert-source-map "^2.0.0"
- semver "7.7.2"
-
-react-native@0.82.1:
- version "0.82.1"
- resolved "https://registry.npmjs.org/react-native/-/react-native-0.82.1.tgz"
- integrity sha512-tFAqcU7Z4g49xf/KnyCEzI4nRTu1Opcx05Ov2helr8ZTg1z7AJR/3sr2rZ+AAVlAs2IXk+B0WOxXGmdD3+4czA==
- dependencies:
- "@jest/create-cache-key-function" "^29.7.0"
- "@react-native/assets-registry" "0.82.1"
- "@react-native/codegen" "0.82.1"
- "@react-native/community-cli-plugin" "0.82.1"
- "@react-native/gradle-plugin" "0.82.1"
- "@react-native/js-polyfills" "0.82.1"
- "@react-native/normalize-colors" "0.82.1"
- "@react-native/virtualized-lists" "0.82.1"
- abort-controller "^3.0.0"
- anser "^1.4.9"
- ansi-regex "^5.0.0"
- babel-jest "^29.7.0"
- babel-plugin-syntax-hermes-parser "0.32.0"
- base64-js "^1.5.1"
- commander "^12.0.0"
- flow-enums-runtime "^0.0.6"
- glob "^7.1.1"
- hermes-compiler "0.0.0"
- invariant "^2.2.4"
- jest-environment-node "^29.7.0"
- memoize-one "^5.0.0"
- metro-runtime "^0.83.1"
- metro-source-map "^0.83.1"
- nullthrows "^1.1.1"
- pretty-format "^29.7.0"
- promise "^8.3.0"
- react-devtools-core "^6.1.5"
- react-refresh "^0.14.0"
- regenerator-runtime "^0.13.2"
- scheduler "0.26.0"
- semver "^7.1.3"
- stacktrace-parser "^0.1.10"
- whatwg-fetch "^3.0.0"
- ws "^6.2.3"
- yargs "^17.6.2"
-
-react-refresh@^0.14.0:
- version "0.14.2"
- resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz"
- integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
-
-react-syntax-highlighter@15.6.1:
- version "15.6.1"
- resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz"
- integrity sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==
- dependencies:
- "@babel/runtime" "^7.3.1"
- highlight.js "^10.4.1"
- highlightjs-vue "^1.0.0"
- lowlight "^1.17.0"
- prismjs "^1.27.0"
- refractor "^3.6.0"
-
-react-syntax-highlighter@^15.6.6:
- version "15.6.6"
- resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.6.tgz"
- integrity sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==
- dependencies:
- "@babel/runtime" "^7.3.1"
- highlight.js "^10.4.1"
- highlightjs-vue "^1.0.0"
- lowlight "^1.17.0"
- prismjs "^1.30.0"
- refractor "^3.6.0"
-
-react-test-renderer@19.1.1:
- version "19.1.1"
- resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-19.1.1.tgz"
- integrity sha512-aGRXI+zcBTtg0diHofc7+Vy97nomBs9WHHFY1Csl3iV0x6xucjNYZZAkiVKGiNYUv23ecOex5jE67t8ZzqYObA==
- dependencies:
- react-is "^19.1.1"
- scheduler "^0.26.0"
-
-react@19.1.1:
- version "19.1.1"
- resolved "https://registry.npmjs.org/react/-/react-19.1.1.tgz"
- integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==
-
-readable-stream@^3.4.0:
- version "3.6.2"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-redent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz"
- integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
- dependencies:
- indent-string "^4.0.0"
- strip-indent "^3.0.0"
-
-reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
- 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==
- 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"
-
-refractor@^3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz"
- integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==
- dependencies:
- hastscript "^6.0.0"
- parse-entities "^2.0.0"
- prismjs "~1.27.0"
-
-regenerate-unicode-properties@^10.2.2:
- 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==
- dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.13.2:
- version "0.13.11"
- resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
- integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-
-regenerator-runtime@^0.14.0:
- version "0.14.1"
- resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
- integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
-
-regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4:
- 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==
- 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"
-
-regexpu-core@^6.2.0:
- version "6.4.0"
- resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz"
- integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==
- 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"
-
-regjsgen@^0.8.0:
- version "0.8.0"
- resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz"
- integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
-
-regjsparser@^0.13.0:
- version "0.13.0"
- resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz"
- integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==
- dependencies:
- jsesc "~3.1.0"
-
-require-directory@^2.1.1:
- 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==
-
-require-from-string@^2.0.2:
- 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==
-
-require-main-filename@^2.0.0:
- 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==
-
-resolve-cwd@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
- integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
- dependencies:
- resolve-from "^5.0.0"
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
-resolve.exports@^2.0.0:
- version "2.0.3"
- resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz"
- integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==
-
-resolve@^1.20.0, resolve@^1.22.10:
- version "1.22.10"
- resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz"
- integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
- dependencies:
- is-core-module "^2.16.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^2.0.0-next.5:
- version "2.0.0-next.5"
- resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz"
- integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
- dependencies:
- is-core-module "^2.13.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-restore-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz"
- integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
- dependencies:
- onetime "^5.1.0"
- signal-exit "^3.0.2"
-
-reusify@^1.0.4:
- version "1.1.0"
- resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz"
- integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
-
-rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-rxjs@^7.8.1:
- version "7.8.2"
- resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz"
- integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==
- dependencies:
- tslib "^2.1.0"
-
-safe-array-concat@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz"
- integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.2"
- get-intrinsic "^1.2.6"
- has-symbols "^1.1.0"
- isarray "^2.0.5"
-
-safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-push-apply@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz"
- integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==
- dependencies:
- es-errors "^1.3.0"
- isarray "^2.0.5"
-
-safe-regex-test@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz"
- integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==
- dependencies:
- call-bound "^1.0.2"
- es-errors "^1.3.0"
- is-regex "^1.2.1"
-
-"safer-buffer@>= 2.1.2 < 3":
- version "2.1.2"
- resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-scheduler@0.26.0, scheduler@^0.26.0:
- version "0.26.0"
- resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz"
- integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
-
-semver@7.7.2:
- version "7.7.2"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
- integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
-
-semver@^6.3.0, semver@^6.3.1:
- version "6.3.1"
- resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.1.3, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.3:
- version "7.7.3"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
- integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
-
-send@0.19.0:
- version "0.19.0"
- resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
- integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
- 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"
-
-serialize-error@^2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz"
- integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==
-
-serve-static@^1.13.1, serve-static@^1.16.2:
- version "1.16.2"
- resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz"
- integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
- dependencies:
- encodeurl "~2.0.0"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.19.0"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
-set-function-length@^1.2.2:
- 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==
- 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"
-
-set-function-name@^2.0.2:
- 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==
- dependencies:
- define-data-property "^1.1.4"
- es-errors "^1.3.0"
- functions-have-names "^1.2.3"
- has-property-descriptors "^1.0.2"
-
-set-proto@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz"
- integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==
- dependencies:
- dunder-proto "^1.0.1"
- es-errors "^1.3.0"
- es-object-atoms "^1.0.0"
-
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shell-quote@^1.6.1, shell-quote@^1.8.3:
- version "1.8.3"
- resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz"
- integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
-
-side-channel-list@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz"
- integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
- dependencies:
- es-errors "^1.3.0"
- object-inspect "^1.13.3"
-
-side-channel-map@^1.0.1:
- 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==
- dependencies:
- call-bound "^1.0.2"
- es-errors "^1.3.0"
- get-intrinsic "^1.2.5"
- object-inspect "^1.13.3"
-
-side-channel-weakmap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz"
- integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
- 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"
-
-side-channel@^1.0.6, side-channel@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz"
- integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
- dependencies:
- es-errors "^1.3.0"
- object-inspect "^1.13.3"
- side-channel-list "^1.0.0"
- side-channel-map "^1.0.1"
- side-channel-weakmap "^1.0.2"
-
-signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
- version "3.0.7"
- resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
- integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-signal-exit@^4.0.1:
- version "4.1.0"
- resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
- integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-
-simple-swizzle@^0.2.2:
- version "0.2.4"
- resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz"
- integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==
- dependencies:
- is-arrayish "^0.3.1"
-
-sisteransi@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
- integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-
-slash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz"
- integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slice-ansi@^2.0.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz"
- integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
- dependencies:
- ansi-styles "^3.2.0"
- astral-regex "^1.0.0"
- is-fullwidth-code-point "^2.0.0"
-
-snake-case@^3.0.4:
- version "3.0.4"
- resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz"
- integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
- dependencies:
- dot-case "^3.0.4"
- tslib "^2.0.3"
-
-source-map-js@^1.0.1:
- 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==
-
-source-map-support@0.5.13:
- version "0.5.13"
- resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
- integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-support@~0.5.20:
- 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==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.5.6:
- version "0.5.7"
- resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
- integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
-
-source-map@^0.6.0, source-map@^0.6.1:
- version "0.6.1"
- resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-space-separated-tokens@^1.0.0:
- version "1.1.5"
- resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz"
- integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
-
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
-split2@^4.0.0:
- version "4.2.0"
- resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz"
- integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
- integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-
-sql-escape-string@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/sql-escape-string/-/sql-escape-string-1.1.0.tgz"
- integrity sha512-/kqO4pLZSLfV0KsBM2xkVh2S3GbjJJone37d7gYwLyP0c+REh3vnmkhQ7VwNrX76igC0OhJWpTg0ukkdef9vvA==
-
-stack-utils@^2.0.3:
- version "2.0.6"
- resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz"
- integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
- dependencies:
- escape-string-regexp "^2.0.0"
-
-stackframe@^1.3.4:
- version "1.3.4"
- resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz"
- integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
-
-stacktrace-parser@^0.1.10:
- version "0.1.11"
- resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz"
- integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==
- dependencies:
- type-fest "^0.7.1"
-
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
-statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
- integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
-
-stop-iteration-iterator@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz"
- integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==
- dependencies:
- es-errors "^1.3.0"
- internal-slot "^1.1.0"
-
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz"
- integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
-
-string-length@^4.0.1:
- version "4.0.2"
- resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"
- integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
- dependencies:
- char-regex "^1.0.2"
- strip-ansi "^6.0.0"
-
-string-natural-compare@^3.0.1:
- version "3.0.1"
- resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz"
- integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
-
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
- version "4.2.3"
- resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-string.prototype.matchall@^4.0.12:
- version "4.0.12"
- resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz"
- integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.3"
- define-properties "^1.2.1"
- es-abstract "^1.23.6"
- es-errors "^1.3.0"
- es-object-atoms "^1.0.0"
- get-intrinsic "^1.2.6"
- gopd "^1.2.0"
- has-symbols "^1.1.0"
- internal-slot "^1.1.0"
- regexp.prototype.flags "^1.5.3"
- set-function-name "^2.0.2"
- side-channel "^1.1.0"
-
-string.prototype.repeat@^1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz"
- integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-string.prototype.trim@^1.2.10:
- version "1.2.10"
- resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz"
- integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.2"
- define-data-property "^1.1.4"
- define-properties "^1.2.1"
- es-abstract "^1.23.5"
- es-object-atoms "^1.0.0"
- has-property-descriptors "^1.0.2"
-
-string.prototype.trimend@^1.0.9:
- version "1.0.9"
- resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz"
- integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
- dependencies:
- call-bind "^1.0.8"
- call-bound "^1.0.2"
- define-properties "^1.2.1"
- es-object-atoms "^1.0.0"
-
-string.prototype.trimstart@^1.0.8:
- version "1.0.8"
- resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz"
- integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
- dependencies:
- call-bind "^1.0.7"
- define-properties "^1.2.1"
- es-object-atoms "^1.0.0"
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-stringify-entities@^3.1.0:
- version "3.1.0"
- resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz"
- integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==
- dependencies:
- character-entities-html4 "^1.0.0"
- character-entities-legacy "^1.0.0"
- xtend "^4.0.0"
-
-strip-ansi@^5.0.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-bom@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz"
- integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-strip-indent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz"
- integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
- dependencies:
- min-indent "^1.0.0"
-
-strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strnum@^1.1.1:
- version "1.1.2"
- resolved "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz"
- integrity sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-color@^8.0.0, supports-color@^8.1.1:
- version "8.1.1"
- resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
- integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- 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==
-
-svg-parser@^2.0.4:
- version "2.0.4"
- resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz"
- integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
-
-svgo@^3.0.2:
- version "3.3.2"
- resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz"
- integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==
- dependencies:
- "@trysound/sax" "0.2.0"
- commander "^7.2.0"
- css-select "^5.1.0"
- css-tree "^2.3.1"
- css-what "^6.1.0"
- csso "^5.0.5"
- picocolors "^1.0.0"
-
-synckit@^0.11.7:
- version "0.11.11"
- resolved "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz"
- integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==
- dependencies:
- "@pkgr/core" "^0.2.9"
-
-terser@^5.15.0:
- version "5.44.0"
- resolved "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz"
- integrity sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==
- dependencies:
- "@jridgewell/source-map" "^0.3.3"
- acorn "^8.15.0"
- commander "^2.20.0"
- source-map-support "~0.5.20"
-
-test-exclude@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz"
- integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
- dependencies:
- "@istanbuljs/schema" "^0.1.2"
- glob "^7.1.4"
- minimatch "^3.0.4"
-
-text-extensions@^2.0.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz"
- integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-throat@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz"
- integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
-
-"through@>=2.2.7 <3":
- version "2.3.8"
- resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
- integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-
-tinyexec@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz"
- integrity sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==
-
-tinyglobby@^0.2.15:
- version "0.2.15"
- resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz"
- integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
- dependencies:
- fdir "^6.5.0"
- picomatch "^4.0.3"
-
-tmp@^0.2.4:
- version "0.2.5"
- resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz"
- integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==
-
-tmpl@1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz"
- integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
-
-to-regex-range@^5.0.1:
- 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==
- dependencies:
- is-number "^7.0.0"
-
-toidentifier@1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
- integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-trim-newlines@5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-5.0.0.tgz"
- integrity sha512-kstfs+hgwmdsOadN3KgA+C68wPJwnZq4DN6WMDCvZapDWEF34W2TyPKN2v2+BJnZgIz5QOfxFeldLyYvdgRAwg==
-
-ts-api-utils@^2.4.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz"
- integrity sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==
-
-ts-toolbelt@^6.15.1:
- version "6.15.5"
- resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz"
- integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==
-
-tslib@^2.0.3, tslib@^2.1.0:
- version "2.8.1"
- resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
- integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-detect@4.0.8:
- 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==
-
-type-fest@^0.20.2:
- version "0.20.2"
- resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
- integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
-type-fest@^0.21.3:
- 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==
-
-type-fest@^0.7.1:
- version "0.7.1"
- resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz"
- integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
-
-type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-typed-array-buffer@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz"
- integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==
- dependencies:
- call-bound "^1.0.3"
- es-errors "^1.3.0"
- is-typed-array "^1.1.14"
-
-typed-array-byte-length@^1.0.3:
- 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==
- 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"
-
-typed-array-byte-offset@^1.0.4:
- 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==
- 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"
-
-typed-array-length@^1.0.7:
- version "1.0.7"
- resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz"
- integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==
- dependencies:
- call-bind "^1.0.7"
- for-each "^0.3.3"
- gopd "^1.0.1"
- is-typed-array "^1.1.13"
- possible-typed-array-names "^1.0.0"
- reflect.getprototypeof "^1.0.6"
-
-typescript@5.0.4:
- version "5.0.4"
- resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz"
- integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
-
-unbox-primitive@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz"
- integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==
- dependencies:
- call-bound "^1.0.3"
- has-bigints "^1.0.2"
- has-symbols "^1.1.0"
- which-boxed-primitive "^1.1.1"
-
-undici-types@~7.14.0:
- version "7.14.0"
- resolved "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz"
- integrity sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
- 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==
-
-unicode-match-property-ecmascript@^2.0.0:
- 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==
- dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.2.1:
- 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==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- 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==
-
-unicorn-magic@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz"
- integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-universalify@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
- integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
- integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-update-browserslist-db@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz"
- integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
- dependencies:
- escalade "^3.2.0"
- picocolors "^1.1.1"
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-urijs@^1.19.6:
- version "1.19.11"
- resolved "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz"
- integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==
-
-use-latest-callback@^0.2.3, use-latest-callback@^0.2.4:
- version "0.2.6"
- resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.6.tgz"
- integrity sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==
-
-use-sync-external-store@^1.4.0, use-sync-external-store@^1.5.0:
- version "1.6.0"
- resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz"
- integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==
-
-util-deprecate@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
- integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-
-uuid@*, uuid@^13.0.0:
- version "13.0.0"
- resolved "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz"
- integrity sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==
-
-v8-to-istanbul@^9.0.1:
- version "9.3.0"
- resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz"
- integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==
- dependencies:
- "@jridgewell/trace-mapping" "^0.3.12"
- "@types/istanbul-lib-coverage" "^2.0.1"
- convert-source-map "^2.0.0"
-
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
- integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
-vlq@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz"
- integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==
-
-walker@^1.0.7, walker@^1.0.8:
- version "1.0.8"
- resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz"
- integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
- dependencies:
- makeerror "1.0.12"
-
-warn-once@0.1.1, warn-once@^0.1.0:
- version "0.1.1"
- resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz"
- integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==
-
-wcwidth@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"
- integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
- dependencies:
- defaults "^1.0.3"
-
-web-vitals@^4.2.4:
- version "4.2.4"
- resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz"
- integrity sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-webidl-conversions@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz"
- integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
-
-websocket-driver@>=0.5.1:
- version "0.7.4"
- resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
- integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
- dependencies:
- http-parser-js ">=0.5.1"
- safe-buffer ">=5.1.0"
- websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
- version "0.1.4"
- resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz"
- integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
-
-whatwg-fetch@^3.0.0:
- version "3.6.20"
- resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz"
- integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==
-
-whatwg-url-without-unicode@8.0.0-3:
- 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==
- dependencies:
- buffer "^5.4.3"
- punycode "^2.1.1"
- webidl-conversions "^5.0.0"
-
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
- dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
-
-which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz"
- integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==
- 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"
-
-which-builtin-type@^1.2.1:
- 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==
- 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"
-
-which-collection@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz"
- integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
- dependencies:
- is-map "^2.0.3"
- is-set "^2.0.3"
- is-weakmap "^2.0.2"
- is-weakset "^2.0.3"
-
-which-module@^2.0.0:
- version "2.0.1"
- resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz"
- integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
-
-which-typed-array@^1.1.16, which-typed-array@^1.1.19:
- version "1.1.19"
- resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz"
- integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==
- dependencies:
- available-typed-arrays "^1.0.7"
- call-bind "^1.0.8"
- call-bound "^1.0.4"
- for-each "^0.3.5"
- get-proto "^1.0.1"
- gopd "^1.2.0"
- has-tostringtag "^1.0.2"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-word-wrap@^1.2.5:
- version "1.2.5"
- resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz"
- integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
-
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-write-file-atomic@^4.0.2:
- version "4.0.2"
- resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz"
- integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
- dependencies:
- imurmurhash "^0.1.4"
- signal-exit "^3.0.7"
-
-write-file-atomic@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz"
- integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==
- dependencies:
- imurmurhash "^0.1.4"
- signal-exit "^4.0.1"
-
-ws@^6.2.3:
- version "6.2.3"
- resolved "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz"
- integrity sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^7, ws@^7.5.10:
- version "7.5.10"
- resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz"
- integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
-
-ws@^8.18.2:
- version "8.18.3"
- resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz"
- integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
-
-xtend@^4.0.0:
- version "4.0.2"
- resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
-y18n@^5.0.5:
- version "5.0.8"
- resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
- integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yaml@^2.2.1, yaml@^2.2.2, yaml@^2.6.1:
- version "2.8.1"
- resolved "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz"
- integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==
-
-yargs-parser@^18.1.2:
- version "18.1.3"
- resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz"
- integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs-parser@^20.2.2:
- version "20.2.9"
- resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz"
- integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-
-yargs-parser@^21.1.1:
- version "21.1.1"
- resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
- integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-
-yargs@^15.1.0:
- version "15.4.1"
- resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz"
- integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
- 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"
-
-yargs@^16.1.1:
- version "16.2.0"
- resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
- integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
- dependencies:
- cliui "^7.0.2"
- escalade "^3.1.1"
- get-caller-file "^2.0.5"
- require-directory "^2.1.1"
- string-width "^4.2.0"
- y18n "^5.0.5"
- yargs-parser "^20.2.2"
-
-yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2:
- version "17.7.2"
- resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz"
- integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
- 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"
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-
-yocto-queue@^1.0.0:
- version "1.2.1"
- resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz"
- integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==
-
-zod@^4.1.12:
- version "4.1.12"
- resolved "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz"
- integrity sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==
From 32734857113eb821b8643f6db1a52e35ececc961 Mon Sep 17 00:00:00 2001
From: 1234
Date: Thu, 19 Mar 2026 23:57:03 +0000
Subject: [PATCH 085/240] Create yarn.lock
---
yarn.lock | 9223 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 9223 insertions(+)
create mode 100644 yarn.lock
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 000000000..e26cc9d50
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,9223 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz"
+ integrity sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==
+
+"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.9", "@babel/core@^7.25.2", "@babel/core@^7.27.4":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz"
+ integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.4"
+ "@babel/parser" "^7.28.4"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.4"
+ "@babel/types" "^7.28.4"
+ "@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"
+
+"@babel/eslint-parser@^7.25.1":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.4.tgz"
+ integrity sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==
+ dependencies:
+ "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
+ eslint-visitor-keys "^2.1.0"
+ semver "^6.3.1"
+
+"@babel/generator@^7.25.0", "@babel/generator@^7.28.3", "@babel/generator@^7.7.2":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz"
+ integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
+ dependencies:
+ "@babel/parser" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ dependencies:
+ "@babel/types" "^7.27.3"
+
+"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz"
+ integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+ semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz"
+ integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ regexpu-core "^6.2.0"
+ semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.22.10"
+
+"@babel/helper-globals@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz"
+ integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+
+"@babel/helper-member-expression-to-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz"
+ integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ dependencies:
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz"
+ integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+
+"@babel/helpers@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz"
+ integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.4"
+
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.3", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz"
+ integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==
+ dependencies:
+ "@babel/types" "^7.28.4"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz"
+ integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz"
+ integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+ version "7.27.1"
+ 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.27.1.tgz"
+ integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz"
+ integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz"
+ integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-proposal-decorators@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz"
+ integrity sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-decorators" "^7.27.1"
+
+"@babel/plugin-proposal-export-default-from@^7.24.7":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz"
+ integrity sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+ 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==
+
+"@babel/plugin-syntax-async-generators@^7.8.4":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-bigint@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz"
+ integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-decorators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz"
+ integrity sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-export-default-from@^7.24.7":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz"
+ integrity sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz"
+ integrity sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz"
+ integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz"
+ integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-meta@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-jsx@^7.27.1", "@babel/plugin-syntax-jsx@^7.7.2":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz"
+ integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.10.4":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-top-level-await@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
+ integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-typescript@^7.27.1", "@babel/plugin-syntax-typescript@^7.7.2":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz"
+ integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
+ 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==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.24.7", "@babel/plugin-transform-arrow-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-async-generator-functions@^7.25.4", "@babel/plugin-transform-async-generator-functions@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz"
+ integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-async-to-generator@^7.24.7", "@babel/plugin-transform-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-block-scoping@^7.25.0", "@babel/plugin-transform-block-scoping@^7.28.0":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz"
+ integrity sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.25.4", "@babel/plugin-transform-class-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz"
+ integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-static-block@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz"
+ integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.25.4", "@babel/plugin-transform-classes@^7.28.3":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz"
+ integrity sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.28.4"
+
+"@babel/plugin-transform-computed-properties@^7.24.7", "@babel/plugin-transform-computed-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
+
+"@babel/plugin-transform-destructuring@^7.24.8", "@babel/plugin-transform-destructuring@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz"
+ integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz"
+ integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz"
+ integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz"
+ integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz"
+ integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz"
+ integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-flow-strip-types@^7.25.2":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz"
+ integrity sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-flow" "^7.27.1"
+
+"@babel/plugin-transform-for-of@^7.24.7", "@babel/plugin-transform-for-of@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-function-name@^7.25.1", "@babel/plugin-transform-function-name@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-json-strings@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz"
+ integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-literals@^7.25.2", "@babel/plugin-transform-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-logical-assignment-operators@^7.24.7", "@babel/plugin-transform-logical-assignment-operators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz"
+ integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz"
+ integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-amd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-commonjs@^7.24.8", "@babel/plugin-transform-modules-commonjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-systemjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz"
+ integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-modules-umd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7", "@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-new-target@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz"
+ integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-numeric-separator@^7.24.7", "@babel/plugin-transform-numeric-separator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz"
+ integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-object-rest-spread@^7.24.7", "@babel/plugin-transform-object-rest-spread@^7.28.0":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz"
+ integrity sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/traverse" "^7.28.4"
+
+"@babel/plugin-transform-object-super@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+
+"@babel/plugin-transform-optional-catch-binding@^7.24.7", "@babel/plugin-transform-optional-catch-binding@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz"
+ integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz"
+ integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-methods@^7.24.7", "@babel/plugin-transform-private-methods@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz"
+ integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-property-in-object@^7.24.7", "@babel/plugin-transform-private-property-in-object@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz"
+ integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-property-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz"
+ integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-display-name@^7.24.7":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz"
+ integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx-self@^7.24.7":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz"
+ integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx-source@^7.24.7":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz"
+ integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx@^7.25.2":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz"
+ integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.24.7", "@babel/plugin-transform-regenerator@^7.28.3":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz"
+ integrity sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz"
+ integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-reserved-words@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz"
+ integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-runtime@^7.24.7":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz"
+ integrity sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ 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"
+
+"@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.24.7", "@babel/plugin-transform-shorthand-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-spread@^7.24.7", "@babel/plugin-transform-spread@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-sticky-regex@^7.24.7", "@babel/plugin-transform-sticky-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typescript@^7.25.2", "@babel/plugin-transform-typescript@^7.27.1":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz"
+ integrity sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-syntax-typescript" "^7.27.1"
+
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz"
+ integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz"
+ integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.24.7", "@babel/plugin-transform-unicode-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz"
+ integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.25.3":
+ version "7.28.3"
+ resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz"
+ integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
+ dependencies:
+ "@babel/compat-data" "^7.28.0"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
+ "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-import-assertions" "^7.27.1"
+ "@babel/plugin-syntax-import-attributes" "^7.27.1"
+ "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+ "@babel/plugin-transform-arrow-functions" "^7.27.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+ "@babel/plugin-transform-async-to-generator" "^7.27.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+ "@babel/plugin-transform-block-scoping" "^7.28.0"
+ "@babel/plugin-transform-class-properties" "^7.27.1"
+ "@babel/plugin-transform-class-static-block" "^7.28.3"
+ "@babel/plugin-transform-classes" "^7.28.3"
+ "@babel/plugin-transform-computed-properties" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-dotall-regex" "^7.27.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-dynamic-import" "^7.27.1"
+ "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+ "@babel/plugin-transform-for-of" "^7.27.1"
+ "@babel/plugin-transform-function-name" "^7.27.1"
+ "@babel/plugin-transform-json-strings" "^7.27.1"
+ "@babel/plugin-transform-literals" "^7.27.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+ "@babel/plugin-transform-modules-amd" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.27.1"
+ "@babel/plugin-transform-modules-umd" "^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-new-target" "^7.27.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+ "@babel/plugin-transform-numeric-separator" "^7.27.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.28.0"
+ "@babel/plugin-transform-object-super" "^7.27.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/plugin-transform-private-methods" "^7.27.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+ "@babel/plugin-transform-property-literals" "^7.27.1"
+ "@babel/plugin-transform-regenerator" "^7.28.3"
+ "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+ "@babel/plugin-transform-reserved-words" "^7.27.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+ "@babel/plugin-transform-spread" "^7.27.1"
+ "@babel/plugin-transform-sticky-regex" "^7.27.1"
+ "@babel/plugin-transform-template-literals" "^7.27.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
+ "@babel/preset-modules" "0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ core-js-compat "^3.43.0"
+ semver "^6.3.1"
+
+"@babel/preset-modules@0.1.6-no-external-plugins":
+ 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==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/preset-typescript@^7.16.7":
+ version "7.27.1"
+ resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz"
+ integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-typescript" "^7.27.1"
+
+"@babel/runtime@7.26.0":
+ version "7.26.0"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz"
+ integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.25.0", "@babel/runtime@^7.3.1":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz"
+ integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==
+
+"@babel/template@^7.25.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2", "@babel/template@^7.3.3":
+ version "7.27.2"
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
+"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz"
+ integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.4"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.4"
+ debug "^4.3.1"
+
+"@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz"
+ integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.4"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.4"
+ debug "^4.3.1"
+
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.25.2", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.28.4"
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz"
+ integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+
+"@bcoe/v8-coverage@^0.2.3":
+ version "0.2.3"
+ resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz"
+ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
+
+"@callstack/react-theme-provider@^3.0.9":
+ version "3.0.9"
+ resolved "https://registry.npmjs.org/@callstack/react-theme-provider/-/react-theme-provider-3.0.9.tgz"
+ integrity sha512-tTQ0uDSCL0ypeMa8T/E9wAZRGKWj8kXP7+6RYgPTfOPs9N07C9xM8P02GJ3feETap4Ux5S69D9nteq9mEj86NA==
+ dependencies:
+ deepmerge "^3.2.0"
+ hoist-non-react-statics "^3.3.0"
+
+"@commitlint/cli@^20.1.0":
+ version "20.1.0"
+ resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-20.1.0.tgz"
+ integrity sha512-pW5ujjrOovhq5RcYv5xCpb4GkZxkO2+GtOdBW2/qrr0Ll9tl3PX0aBBobGQl3mdZUbOBgwAexEQLeH6uxL0VYg==
+ dependencies:
+ "@commitlint/format" "^20.0.0"
+ "@commitlint/lint" "^20.0.0"
+ "@commitlint/load" "^20.1.0"
+ "@commitlint/read" "^20.0.0"
+ "@commitlint/types" "^20.0.0"
+ tinyexec "^1.0.0"
+ yargs "^17.0.0"
+
+"@commitlint/config-conventional@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.0.0.tgz"
+ integrity sha512-q7JroPIkDBtyOkVe9Bca0p7kAUYxZMxkrBArCfuD3yN4KjRAenP9PmYwnn7rsw8Q+hHq1QB2BRmBh0/Z19ZoJw==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ conventional-changelog-conventionalcommits "^7.0.2"
+
+"@commitlint/config-validator@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.0.0.tgz"
+ integrity sha512-BeyLMaRIJDdroJuYM2EGhDMGwVBMZna9UiIqV9hxj+J551Ctc6yoGuGSmghOy/qPhBSuhA6oMtbEiTmxECafsg==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ ajv "^8.11.0"
+
+"@commitlint/ensure@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.0.0.tgz"
+ integrity sha512-WBV47Fffvabe68n+13HJNFBqiMH5U1Ryls4W3ieGwPC0C7kJqp3OVQQzG2GXqOALmzrgAB+7GXmyy8N9ct8/Fg==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ lodash.camelcase "^4.3.0"
+ lodash.kebabcase "^4.1.1"
+ lodash.snakecase "^4.1.1"
+ lodash.startcase "^4.4.0"
+ lodash.upperfirst "^4.3.1"
+
+"@commitlint/execute-rule@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-20.0.0.tgz"
+ integrity sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==
+
+"@commitlint/format@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/format/-/format-20.0.0.tgz"
+ integrity sha512-zrZQXUcSDmQ4eGGrd+gFESiX0Rw+WFJk7nW4VFOmxub4mAATNKBQ4vNw5FgMCVehLUKG2OT2LjOqD0Hk8HvcRg==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ chalk "^5.3.0"
+
+"@commitlint/is-ignored@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.0.0.tgz"
+ integrity sha512-ayPLicsqqGAphYIQwh9LdAYOVAQ9Oe5QCgTNTj+BfxZb9b/JW222V5taPoIBzYnAP0z9EfUtljgBk+0BN4T4Cw==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ semver "^7.6.0"
+
+"@commitlint/lint@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-20.0.0.tgz"
+ integrity sha512-kWrX8SfWk4+4nCexfLaQT3f3EcNjJwJBsSZ5rMBw6JCd6OzXufFHgel2Curos4LKIxwec9WSvs2YUD87rXlxNQ==
+ dependencies:
+ "@commitlint/is-ignored" "^20.0.0"
+ "@commitlint/parse" "^20.0.0"
+ "@commitlint/rules" "^20.0.0"
+ "@commitlint/types" "^20.0.0"
+
+"@commitlint/load@^20.1.0":
+ version "20.1.0"
+ resolved "https://registry.npmjs.org/@commitlint/load/-/load-20.1.0.tgz"
+ integrity sha512-qo9ER0XiAimATQR5QhvvzePfeDfApi/AFlC1G+YN+ZAY8/Ua6IRrDrxRvQAr+YXUKAxUsTDSp9KXeXLBPsNRWg==
+ dependencies:
+ "@commitlint/config-validator" "^20.0.0"
+ "@commitlint/execute-rule" "^20.0.0"
+ "@commitlint/resolve-extends" "^20.1.0"
+ "@commitlint/types" "^20.0.0"
+ chalk "^5.3.0"
+ cosmiconfig "^9.0.0"
+ cosmiconfig-typescript-loader "^6.1.0"
+ lodash.isplainobject "^4.0.6"
+ lodash.merge "^4.6.2"
+ lodash.uniq "^4.5.0"
+
+"@commitlint/message@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/message/-/message-20.0.0.tgz"
+ integrity sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==
+
+"@commitlint/parse@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-20.0.0.tgz"
+ integrity sha512-j/PHCDX2bGM5xGcWObOvpOc54cXjn9g6xScXzAeOLwTsScaL4Y+qd0pFC6HBwTtrH92NvJQc+2Lx9HFkVi48cg==
+ dependencies:
+ "@commitlint/types" "^20.0.0"
+ conventional-changelog-angular "^7.0.0"
+ conventional-commits-parser "^5.0.0"
+
+"@commitlint/read@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/read/-/read-20.0.0.tgz"
+ integrity sha512-Ti7Y7aEgxsM1nkwA4ZIJczkTFRX/+USMjNrL9NXwWQHqNqrBX2iMi+zfuzZXqfZ327WXBjdkRaytJ+z5vNqTOA==
+ dependencies:
+ "@commitlint/top-level" "^20.0.0"
+ "@commitlint/types" "^20.0.0"
+ git-raw-commits "^4.0.0"
+ minimist "^1.2.8"
+ tinyexec "^1.0.0"
+
+"@commitlint/resolve-extends@^20.1.0":
+ version "20.1.0"
+ resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.1.0.tgz"
+ integrity sha512-cxKXQrqHjZT3o+XPdqDCwOWVFQiae++uwd9dUBC7f2MdV58ons3uUvASdW7m55eat5sRiQ6xUHyMWMRm6atZWw==
+ dependencies:
+ "@commitlint/config-validator" "^20.0.0"
+ "@commitlint/types" "^20.0.0"
+ global-directory "^4.0.1"
+ import-meta-resolve "^4.0.0"
+ lodash.mergewith "^4.6.2"
+ resolve-from "^5.0.0"
+
+"@commitlint/rules@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-20.0.0.tgz"
+ integrity sha512-gvg2k10I/RfvHn5I5sxvVZKM1fl72Sqrv2YY/BnM7lMHcYqO0E2jnRWoYguvBfEcZ39t+rbATlciggVe77E4zA==
+ dependencies:
+ "@commitlint/ensure" "^20.0.0"
+ "@commitlint/message" "^20.0.0"
+ "@commitlint/to-lines" "^20.0.0"
+ "@commitlint/types" "^20.0.0"
+
+"@commitlint/to-lines@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-20.0.0.tgz"
+ integrity sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==
+
+"@commitlint/top-level@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.0.0.tgz"
+ integrity sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==
+ dependencies:
+ find-up "^7.0.0"
+
+"@commitlint/types@^20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@commitlint/types/-/types-20.0.0.tgz"
+ integrity sha512-bVUNBqG6aznYcYjTjnc3+Cat/iBgbgpflxbIBTnsHTX0YVpnmINPEkSRWymT2Q8aSH3Y7aKnEbunilkYe8TybA==
+ dependencies:
+ "@types/conventional-commits-parser" "^5.0.0"
+ chalk "^5.3.0"
+
+"@dr.pogodin/react-native-fs@^2.36.0":
+ version "2.36.0"
+ resolved "https://registry.npmjs.org/@dr.pogodin/react-native-fs/-/react-native-fs-2.36.0.tgz"
+ integrity sha512-1pBdtSjIGHs6nJ4JiOc0VzBkLSc7H56yv9P1dqqr1AZSUjarNjXFz+eDLdHig9rUCP2bEkXBmFScHiAc5sF5xg==
+ dependencies:
+ buffer "^6.0.3"
+ http-status-codes "^2.3.0"
+
+"@egjs/hammerjs@^2.0.17":
+ version "2.0.17"
+ resolved "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz"
+ integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==
+ dependencies:
+ "@types/hammerjs" "^2.0.36"
+
+"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.9.1":
+ version "4.9.1"
+ resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz"
+ integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==
+ dependencies:
+ eslint-visitor-keys "^3.4.3"
+
+"@eslint-community/regexpp@^4.12.2", "@eslint-community/regexpp@^4.6.1":
+ version "4.12.2"
+ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz"
+ integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==
+
+"@eslint/eslintrc@^2.1.4":
+ version "2.1.4"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
+ integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^9.6.0"
+ globals "^13.19.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@eslint/js@8.57.1":
+ version "8.57.1"
+ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz"
+ integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
+
+"@firebase/ai@2.4.0":
+ version "2.4.0"
+ resolved "https://registry.npmjs.org/@firebase/ai/-/ai-2.4.0.tgz"
+ integrity sha512-YilG6AJ/nYpCKtxZyvEzBRAQv5bU+2tBOKX4Ps0rNNSdxN39aT37kGhjATbk1kq1z5Lq7mkWglw/ajAF3lOWUg==
+ dependencies:
+ "@firebase/app-check-interop-types" "0.3.3"
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/analytics-compat@0.2.25":
+ version "0.2.25"
+ resolved "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.25.tgz"
+ integrity sha512-fdzoaG0BEKbqksRDhmf4JoyZf16Wosrl0Y7tbZtJyVDOOwziE0vrFjmZuTdviL0yhak+Nco6rMsUUbkbD+qb6Q==
+ dependencies:
+ "@firebase/analytics" "0.10.19"
+ "@firebase/analytics-types" "0.8.3"
+ "@firebase/component" "0.7.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/analytics-types@0.8.3":
+ version "0.8.3"
+ resolved "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz"
+ integrity sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==
+
+"@firebase/analytics@0.10.19":
+ version "0.10.19"
+ resolved "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.19.tgz"
+ integrity sha512-3wU676fh60gaiVYQEEXsbGS4HbF2XsiBphyvvqDbtC1U4/dO4coshbYktcCHq+HFaGIK07iHOh4pME0hEq1fcg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/installations" "0.6.19"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/app-check-compat@0.4.0":
+ version "0.4.0"
+ resolved "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.4.0.tgz"
+ integrity sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g==
+ dependencies:
+ "@firebase/app-check" "0.11.0"
+ "@firebase/app-check-types" "0.5.3"
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/app-check-interop-types@0.3.3":
+ version "0.3.3"
+ resolved "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz"
+ integrity sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==
+
+"@firebase/app-check-types@0.5.3":
+ version "0.5.3"
+ resolved "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz"
+ integrity sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==
+
+"@firebase/app-check@0.11.0":
+ version "0.11.0"
+ resolved "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.11.0.tgz"
+ integrity sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/app-compat@0.5.4":
+ version "0.5.4"
+ resolved "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.5.4.tgz"
+ integrity sha512-T7ifGmb+awJEcp542Ek4HtNfBxcBrnuk1ggUdqyFEdsXHdq7+wVlhvE6YukTL7NS8hIkEfL7TMAPx/uCNqt30g==
+ dependencies:
+ "@firebase/app" "0.14.4"
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/app-types@0.9.3":
+ version "0.9.3"
+ resolved "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz"
+ integrity sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==
+
+"@firebase/app@0.14.4":
+ version "0.14.4"
+ resolved "https://registry.npmjs.org/@firebase/app/-/app-0.14.4.tgz"
+ integrity sha512-pUxEGmR+uu21OG/icAovjlu1fcYJzyVhhT0rsCrn+zi+nHtrS43Bp9KPn9KGa4NMspCUE++nkyiqziuIvJdwzw==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ idb "7.1.1"
+ tslib "^2.1.0"
+
+"@firebase/auth-compat@0.6.0":
+ version "0.6.0"
+ resolved "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.6.0.tgz"
+ integrity sha512-J0lGSxXlG/lYVi45wbpPhcWiWUMXevY4fvLZsN1GHh+po7TZVng+figdHBVhFheaiipU8HZyc7ljw1jNojM2nw==
+ dependencies:
+ "@firebase/auth" "1.11.0"
+ "@firebase/auth-types" "0.13.0"
+ "@firebase/component" "0.7.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/auth-interop-types@0.2.4":
+ version "0.2.4"
+ resolved "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz"
+ integrity sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==
+
+"@firebase/auth-types@0.13.0":
+ version "0.13.0"
+ resolved "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz"
+ integrity sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==
+
+"@firebase/auth@1.11.0":
+ version "1.11.0"
+ resolved "https://registry.npmjs.org/@firebase/auth/-/auth-1.11.0.tgz"
+ integrity sha512-5j7+ua93X+IRcJ1oMDTClTo85l7Xe40WSkoJ+shzPrX7OISlVWLdE1mKC57PSD+/LfAbdhJmvKixINBw2ESK6w==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/component@0.7.0":
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/@firebase/component/-/component-0.7.0.tgz"
+ integrity sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg==
+ dependencies:
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/data-connect@0.3.11":
+ version "0.3.11"
+ resolved "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.11.tgz"
+ integrity sha512-G258eLzAD6im9Bsw+Qm1Z+P4x0PGNQ45yeUuuqe5M9B1rn0RJvvsQCRHXgE52Z+n9+WX1OJd/crcuunvOGc7Vw==
+ dependencies:
+ "@firebase/auth-interop-types" "0.2.4"
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/database-compat@2.1.0":
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.1.0.tgz"
+ integrity sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/database" "1.1.0"
+ "@firebase/database-types" "1.0.16"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/database-types@1.0.16":
+ version "1.0.16"
+ resolved "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.16.tgz"
+ integrity sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw==
+ dependencies:
+ "@firebase/app-types" "0.9.3"
+ "@firebase/util" "1.13.0"
+
+"@firebase/database@1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@firebase/database/-/database-1.1.0.tgz"
+ integrity sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg==
+ dependencies:
+ "@firebase/app-check-interop-types" "0.3.3"
+ "@firebase/auth-interop-types" "0.2.4"
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ faye-websocket "0.11.4"
+ tslib "^2.1.0"
+
+"@firebase/firestore-compat@0.4.2":
+ version "0.4.2"
+ resolved "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.4.2.tgz"
+ integrity sha512-cy7ov6SpFBx+PHwFdOOjbI7kH00uNKmIFurAn560WiPCZXy9EMnil1SOG7VF4hHZKdenC+AHtL4r3fNpirpm0w==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/firestore" "4.9.2"
+ "@firebase/firestore-types" "3.0.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/firestore-types@3.0.3":
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz"
+ integrity sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==
+
+"@firebase/firestore@4.9.2":
+ version "4.9.2"
+ resolved "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.9.2.tgz"
+ integrity sha512-iuA5+nVr/IV/Thm0Luoqf2mERUvK9g791FZpUJV1ZGXO6RL2/i/WFJUj5ZTVXy5pRjpWYO+ZzPcReNrlilmztA==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ "@firebase/webchannel-wrapper" "1.0.5"
+ "@grpc/grpc-js" "~1.9.0"
+ "@grpc/proto-loader" "^0.7.8"
+ tslib "^2.1.0"
+
+"@firebase/functions-compat@0.4.1":
+ version "0.4.1"
+ resolved "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.4.1.tgz"
+ integrity sha512-AxxUBXKuPrWaVNQ8o1cG1GaCAtXT8a0eaTDfqgS5VsRYLAR0ALcfqDLwo/QyijZj1w8Qf8n3Qrfy/+Im245hOQ==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/functions" "0.13.1"
+ "@firebase/functions-types" "0.6.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/functions-types@0.6.3":
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz"
+ integrity sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==
+
+"@firebase/functions@0.13.1":
+ version "0.13.1"
+ resolved "https://registry.npmjs.org/@firebase/functions/-/functions-0.13.1.tgz"
+ integrity sha512-sUeWSb0rw5T+6wuV2o9XNmh9yHxjFI9zVGFnjFi+n7drTEWpl7ZTz1nROgGrSu472r+LAaj+2YaSicD4R8wfbw==
+ dependencies:
+ "@firebase/app-check-interop-types" "0.3.3"
+ "@firebase/auth-interop-types" "0.2.4"
+ "@firebase/component" "0.7.0"
+ "@firebase/messaging-interop-types" "0.2.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/installations-compat@0.2.19":
+ version "0.2.19"
+ resolved "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.19.tgz"
+ integrity sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/installations" "0.6.19"
+ "@firebase/installations-types" "0.5.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/installations-types@0.5.3":
+ version "0.5.3"
+ resolved "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz"
+ integrity sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==
+
+"@firebase/installations@0.6.19":
+ version "0.6.19"
+ resolved "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.19.tgz"
+ integrity sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/util" "1.13.0"
+ idb "7.1.1"
+ tslib "^2.1.0"
+
+"@firebase/logger@0.5.0":
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/@firebase/logger/-/logger-0.5.0.tgz"
+ integrity sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==
+ dependencies:
+ tslib "^2.1.0"
+
+"@firebase/messaging-compat@0.2.23":
+ version "0.2.23"
+ resolved "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.23.tgz"
+ integrity sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/messaging" "0.12.23"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/messaging-interop-types@0.2.3":
+ version "0.2.3"
+ resolved "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz"
+ integrity sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==
+
+"@firebase/messaging@0.12.23":
+ version "0.12.23"
+ resolved "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.23.tgz"
+ integrity sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/installations" "0.6.19"
+ "@firebase/messaging-interop-types" "0.2.3"
+ "@firebase/util" "1.13.0"
+ idb "7.1.1"
+ tslib "^2.1.0"
+
+"@firebase/performance-compat@0.2.22":
+ version "0.2.22"
+ resolved "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.22.tgz"
+ integrity sha512-xLKxaSAl/FVi10wDX/CHIYEUP13jXUjinL+UaNXT9ByIvxII5Ne5150mx6IgM8G6Q3V+sPiw9C8/kygkyHUVxg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/performance" "0.7.9"
+ "@firebase/performance-types" "0.2.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/performance-types@0.2.3":
+ version "0.2.3"
+ resolved "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz"
+ integrity sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==
+
+"@firebase/performance@0.7.9":
+ version "0.7.9"
+ resolved "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.9.tgz"
+ integrity sha512-UzybENl1EdM2I1sjYm74xGt/0JzRnU/0VmfMAKo2LSpHJzaj77FCLZXmYQ4oOuE+Pxtt8Wy2BVJEENiZkaZAzQ==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/installations" "0.6.19"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+ web-vitals "^4.2.4"
+
+"@firebase/remote-config-compat@0.2.20":
+ version "0.2.20"
+ resolved "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.20.tgz"
+ integrity sha512-P/ULS9vU35EL9maG7xp66uljkZgcPMQOxLj3Zx2F289baTKSInE6+YIkgHEi1TwHoddC/AFePXPpshPlEFkbgg==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/logger" "0.5.0"
+ "@firebase/remote-config" "0.7.0"
+ "@firebase/remote-config-types" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/remote-config-types@0.5.0":
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.5.0.tgz"
+ integrity sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg==
+
+"@firebase/remote-config@0.7.0":
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.7.0.tgz"
+ integrity sha512-dX95X6WlW7QlgNd7aaGdjAIZUiQkgWgNS+aKNu4Wv92H1T8Ue/NDUjZHd9xb8fHxLXIHNZeco9/qbZzr500MjQ==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/installations" "0.6.19"
+ "@firebase/logger" "0.5.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/storage-compat@0.4.0":
+ version "0.4.0"
+ resolved "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.4.0.tgz"
+ integrity sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/storage" "0.14.0"
+ "@firebase/storage-types" "0.8.3"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/storage-types@0.8.3":
+ version "0.8.3"
+ resolved "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz"
+ integrity sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==
+
+"@firebase/storage@0.14.0":
+ version "0.14.0"
+ resolved "https://registry.npmjs.org/@firebase/storage/-/storage-0.14.0.tgz"
+ integrity sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA==
+ dependencies:
+ "@firebase/component" "0.7.0"
+ "@firebase/util" "1.13.0"
+ tslib "^2.1.0"
+
+"@firebase/util@1.13.0":
+ version "1.13.0"
+ resolved "https://registry.npmjs.org/@firebase/util/-/util-1.13.0.tgz"
+ integrity sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==
+ dependencies:
+ tslib "^2.1.0"
+
+"@firebase/webchannel-wrapper@1.0.5":
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.5.tgz"
+ integrity sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==
+
+"@flyerhq/react-native-link-preview@^1.6.0":
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/@flyerhq/react-native-link-preview/-/react-native-link-preview-1.6.0.tgz"
+ integrity sha512-MY2Kxlf3SzLVUAuGU2LXhDU0a2icNBWL7MDCA8BNpmKqsWI+tHjX3mHm5nGpsLweYG5wsajzBd5XS0KCXNPkJA==
+ dependencies:
+ html-entities "^2.3.2"
+
+"@gorhom/bottom-sheet@^5.2.8":
+ version "5.2.8"
+ resolved "https://registry.npmjs.org/@gorhom/bottom-sheet/-/bottom-sheet-5.2.8.tgz"
+ integrity sha512-+N27SMpbBxXZQ/IA2nlEV6RGxL/qSFHKfdFKcygvW+HqPG5jVNb1OqehLQsGfBP+Up42i0gW5ppI+DhpB7UCzA==
+ dependencies:
+ "@gorhom/portal" "1.0.14"
+ invariant "^2.2.4"
+
+"@gorhom/portal@1.0.14":
+ version "1.0.14"
+ resolved "https://registry.npmjs.org/@gorhom/portal/-/portal-1.0.14.tgz"
+ integrity sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==
+ dependencies:
+ nanoid "^3.3.1"
+
+"@grpc/grpc-js@~1.9.0":
+ version "1.9.15"
+ resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz"
+ integrity sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==
+ dependencies:
+ "@grpc/proto-loader" "^0.7.8"
+ "@types/node" ">=12.12.47"
+
+"@grpc/proto-loader@^0.7.8":
+ version "0.7.15"
+ resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz"
+ integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==
+ dependencies:
+ lodash.camelcase "^4.3.0"
+ long "^5.0.0"
+ protobufjs "^7.2.5"
+ yargs "^17.7.2"
+
+"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
+ version "9.3.0"
+ resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/topo@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@hookform/resolvers@^5.2.2":
+ version "5.2.2"
+ resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.2.2.tgz"
+ integrity sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==
+ dependencies:
+ "@standard-schema/utils" "^0.3.0"
+
+"@humanwhocodes/config-array@^0.13.0":
+ version "0.13.0"
+ resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz"
+ integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==
+ dependencies:
+ "@humanwhocodes/object-schema" "^2.0.3"
+ debug "^4.3.1"
+ minimatch "^3.0.5"
+
+"@humanwhocodes/module-importer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
+ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
+"@humanwhocodes/object-schema@^2.0.3":
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
+ integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
+
+"@isaacs/ttlcache@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz"
+ integrity sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==
+
+"@istanbuljs/load-nyc-config@^1.0.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz"
+ integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==
+ dependencies:
+ camelcase "^5.3.1"
+ find-up "^4.1.0"
+ get-package-type "^0.1.0"
+ js-yaml "^3.13.1"
+ resolve-from "^5.0.0"
+
+"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz"
+ integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
+
+"@jest/console@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz"
+ integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ jest-message-util "^29.7.0"
+ jest-util "^29.7.0"
+ slash "^3.0.0"
+
+"@jest/core@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz"
+ integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==
+ dependencies:
+ "@jest/console" "^29.7.0"
+ "@jest/reporters" "^29.7.0"
+ "@jest/test-result" "^29.7.0"
+ "@jest/transform" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ jest-changed-files "^29.7.0"
+ jest-config "^29.7.0"
+ jest-haste-map "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-regex-util "^29.6.3"
+ jest-resolve "^29.7.0"
+ jest-resolve-dependencies "^29.7.0"
+ jest-runner "^29.7.0"
+ jest-runtime "^29.7.0"
+ jest-snapshot "^29.7.0"
+ jest-util "^29.7.0"
+ jest-validate "^29.7.0"
+ jest-watcher "^29.7.0"
+ micromatch "^4.0.4"
+ pretty-format "^29.7.0"
+ slash "^3.0.0"
+ strip-ansi "^6.0.0"
+
+"@jest/create-cache-key-function@^29.7.0":
+ 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==
+ dependencies:
+ "@jest/types" "^29.6.3"
+
+"@jest/diff-sequences@30.0.1":
+ version "30.0.1"
+ resolved "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz"
+ integrity sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==
+
+"@jest/environment@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz"
+ integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==
+ dependencies:
+ "@jest/fake-timers" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ jest-mock "^29.7.0"
+
+"@jest/expect-utils@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz"
+ integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==
+ dependencies:
+ jest-get-type "^29.6.3"
+
+"@jest/expect@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz"
+ integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==
+ dependencies:
+ expect "^29.7.0"
+ jest-snapshot "^29.7.0"
+
+"@jest/fake-timers@^29.7.0":
+ 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==
+ 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"
+
+"@jest/get-type@30.1.0":
+ version "30.1.0"
+ resolved "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz"
+ integrity sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==
+
+"@jest/globals@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz"
+ integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==
+ dependencies:
+ "@jest/environment" "^29.7.0"
+ "@jest/expect" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ jest-mock "^29.7.0"
+
+"@jest/pattern@30.0.1":
+ version "30.0.1"
+ resolved "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz"
+ integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==
+ dependencies:
+ "@types/node" "*"
+ jest-regex-util "30.0.1"
+
+"@jest/reporters@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz"
+ integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==
+ dependencies:
+ "@bcoe/v8-coverage" "^0.2.3"
+ "@jest/console" "^29.7.0"
+ "@jest/test-result" "^29.7.0"
+ "@jest/transform" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@jridgewell/trace-mapping" "^0.3.18"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
+ exit "^0.1.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-instrument "^6.0.0"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.1.3"
+ jest-message-util "^29.7.0"
+ jest-util "^29.7.0"
+ jest-worker "^29.7.0"
+ slash "^3.0.0"
+ string-length "^4.0.1"
+ strip-ansi "^6.0.0"
+ v8-to-istanbul "^9.0.1"
+
+"@jest/schemas@30.0.5":
+ version "30.0.5"
+ resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz"
+ integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==
+ dependencies:
+ "@sinclair/typebox" "^0.34.0"
+
+"@jest/schemas@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz"
+ integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
+ dependencies:
+ "@sinclair/typebox" "^0.27.8"
+
+"@jest/source-map@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz"
+ integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.18"
+ callsites "^3.0.0"
+ graceful-fs "^4.2.9"
+
+"@jest/test-result@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz"
+ integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==
+ dependencies:
+ "@jest/console" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
+
+"@jest/test-sequencer@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz"
+ integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==
+ dependencies:
+ "@jest/test-result" "^29.7.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.7.0"
+ slash "^3.0.0"
+
+"@jest/transform@30.2.0":
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz"
+ integrity sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==
+ dependencies:
+ "@babel/core" "^7.27.4"
+ "@jest/types" "30.2.0"
+ "@jridgewell/trace-mapping" "^0.3.25"
+ babel-plugin-istanbul "^7.0.1"
+ chalk "^4.1.2"
+ convert-source-map "^2.0.0"
+ fast-json-stable-stringify "^2.1.0"
+ graceful-fs "^4.2.11"
+ jest-haste-map "30.2.0"
+ jest-regex-util "30.0.1"
+ jest-util "30.2.0"
+ micromatch "^4.0.8"
+ pirates "^4.0.7"
+ slash "^3.0.0"
+ write-file-atomic "^5.0.1"
+
+"@jest/transform@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz"
+ integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/types" "^29.6.3"
+ "@jridgewell/trace-mapping" "^0.3.18"
+ babel-plugin-istanbul "^6.1.1"
+ chalk "^4.0.0"
+ convert-source-map "^2.0.0"
+ fast-json-stable-stringify "^2.1.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.7.0"
+ jest-regex-util "^29.6.3"
+ jest-util "^29.7.0"
+ micromatch "^4.0.4"
+ pirates "^4.0.4"
+ slash "^3.0.0"
+ write-file-atomic "^4.0.2"
+
+"@jest/types@30.2.0":
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz"
+ integrity sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==
+ dependencies:
+ "@jest/pattern" "30.0.1"
+ "@jest/schemas" "30.0.5"
+ "@types/istanbul-lib-coverage" "^2.0.6"
+ "@types/istanbul-reports" "^3.0.4"
+ "@types/node" "*"
+ "@types/yargs" "^17.0.33"
+ chalk "^4.1.2"
+
+"@jest/types@^29.6.3":
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz"
+ integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==
+ 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"
+
+"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
+ 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==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/remapping@^2.3.5":
+ version "2.3.5"
+ resolved "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz"
+ integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
+"@jridgewell/source-map@^0.3.3":
+ version "0.3.11"
+ resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz"
+ integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.5"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.31"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz"
+ integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@jsamr/counter-style@^2.0.1":
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/@jsamr/counter-style/-/counter-style-2.0.2.tgz"
+ integrity sha512-2mXudGVtSzVxWEA7B9jZLKjoXUeUFYDDtFrQoC0IFX9/Dszz4t1vZOmafi3JSw/FxD+udMQ+4TAFR8Qs0J3URQ==
+
+"@jsamr/react-native-li@^2.3.0":
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/@jsamr/react-native-li/-/react-native-li-2.3.1.tgz"
+ integrity sha512-Qbo4NEj48SQ4k8FZJHFE2fgZDKTWaUGmVxcIQh3msg5JezLdTMMHuRRDYctfdHI6L0FZGObmEv3haWbIvmol8w==
+
+"@native-html/css-processor@1.11.0":
+ version "1.11.0"
+ resolved "https://registry.npmjs.org/@native-html/css-processor/-/css-processor-1.11.0.tgz"
+ integrity sha512-NnhBEbJX5M2gBGltPKOetiLlKhNf3OHdRafc8//e2ZQxXN8JaSW/Hy8cm94pnIckQxwaMKxrtaNT3x4ZcffoNQ==
+ dependencies:
+ css-to-react-native "^3.0.0"
+ csstype "^3.0.8"
+
+"@native-html/transient-render-engine@11.2.3":
+ version "11.2.3"
+ resolved "https://registry.npmjs.org/@native-html/transient-render-engine/-/transient-render-engine-11.2.3.tgz"
+ integrity sha512-zXwgA3gPUEmFs3I3syfnvDvS6WiUHXEE6jY09OBzK+trq7wkweOSFWIoyXiGkbXrozGYG0KY90YgPyr8Tg8Uyg==
+ dependencies:
+ "@native-html/css-processor" "1.11.0"
+ "@types/ramda" "^0.27.44"
+ csstype "^3.0.9"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.2"
+ domutils "^2.8.0"
+ htmlparser2 "^7.1.2"
+ ramda "^0.27.2"
+
+"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
+ version "5.1.1-v1"
+ resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz"
+ integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==
+ dependencies:
+ eslint-scope "5.1.1"
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@nozbe/simdjson@3.9.4":
+ version "3.9.4"
+ resolved "https://registry.npmjs.org/@nozbe/simdjson/-/simdjson-3.9.4.tgz"
+ integrity sha512-/3oCP8GBpdyeiBMEnuI6S0yl0yekD6Qxfed67hZqU1GIVn3o/vZgE8qANm69THfw7JgHLS9zjx56F/dO3q+koA==
+
+"@nozbe/sqlite@3.46.0":
+ version "3.46.0"
+ resolved "https://registry.npmjs.org/@nozbe/sqlite/-/sqlite-3.46.0.tgz"
+ integrity sha512-ntt8eNp5hh+axX9+kFb5uwyVE0edyfhiYYr+zHDzzFleGC7Qm+a2wHDWDtmRr5nSfbgomhY1uh30kpsHEIR3Mw==
+
+"@nozbe/watermelondb@^0.28.0":
+ version "0.28.0"
+ resolved "https://registry.npmjs.org/@nozbe/watermelondb/-/watermelondb-0.28.0.tgz"
+ integrity sha512-40ttcqPOLCTGnbfCQAXSEo8J4KlH/QQhwTfTb9E21CyX/driMEZueiJSI2rSkHICZrI2vnu52aRubNbI3UAzQQ==
+ dependencies:
+ "@babel/runtime" "7.26.0"
+ "@nozbe/simdjson" "3.9.4"
+ "@nozbe/sqlite" "3.46.0"
+ hoist-non-react-statics "^3.3.2"
+ lokijs "npm:@nozbe/lokijs@1.5.12-wmelon6"
+ rxjs "^7.8.1"
+ sql-escape-string "^1.1.0"
+
+"@pkgr/core@^0.2.9":
+ version "0.2.9"
+ resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz"
+ integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==
+
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz"
+ integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==
+
+"@protobufjs/base64@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz"
+ integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
+
+"@protobufjs/codegen@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz"
+ integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
+
+"@protobufjs/eventemitter@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz"
+ integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==
+
+"@protobufjs/fetch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz"
+ integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.1"
+ "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz"
+ integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==
+
+"@protobufjs/inquire@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz"
+ integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==
+
+"@protobufjs/path@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz"
+ integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==
+
+"@protobufjs/pool@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz"
+ integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==
+
+"@protobufjs/utf8@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
+ integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
+
+"@react-native-async-storage/async-storage@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.2.0.tgz"
+ integrity sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw==
+ dependencies:
+ merge-options "^3.0.4"
+
+"@react-native-clipboard/clipboard@^1.16.3":
+ version "1.16.3"
+ resolved "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.16.3.tgz"
+ integrity sha512-cMIcvoZKIrShzJHEaHbTAp458R9WOv0fB6UyC7Ek4Qk561Ow/DrzmmJmH/rAZg21Z6ixJ4YSdFDC14crqIBmCQ==
+
+"@react-native-community/cli-clean@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-20.0.0.tgz"
+ integrity sha512-YmdNRcT+Dp8lC7CfxSDIfPMbVPEXVFzBH62VZNbYGxjyakqAvoQUFTYPgM2AyFusAr4wDFbDOsEv88gCDwR3ig==
+ dependencies:
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ fast-glob "^3.3.2"
+
+"@react-native-community/cli-config-android@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-config-android/-/cli-config-android-20.0.0.tgz"
+ integrity sha512-asv60qYCnL1v0QFWcG9r1zckeFlKG+14GGNyPXY72Eea7RX5Cxdx8Pb6fIPKroWH1HEWjYH9KKHksMSnf9FMKw==
+ dependencies:
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ fast-glob "^3.3.2"
+ fast-xml-parser "^4.4.1"
+
+"@react-native-community/cli-config-apple@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-config-apple/-/cli-config-apple-20.0.0.tgz"
+ integrity sha512-PS1gNOdpeQ6w7dVu1zi++E+ix2D0ZkGC2SQP6Y/Qp002wG4se56esLXItYiiLrJkhH21P28fXdmYvTEkjSm9/Q==
+ dependencies:
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ fast-glob "^3.3.2"
+
+"@react-native-community/cli-config@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-20.0.0.tgz"
+ integrity sha512-5Ky9ceYuDqG62VIIpbOmkg8Lybj2fUjf/5wK4UO107uRqejBgNgKsbGnIZgEhREcaSEOkujWrroJ9gweueLfBg==
+ dependencies:
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ cosmiconfig "^9.0.0"
+ deepmerge "^4.3.0"
+ fast-glob "^3.3.2"
+ joi "^17.2.1"
+
+"@react-native-community/cli-doctor@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-20.0.0.tgz"
+ integrity sha512-cPHspi59+Fy41FDVxt62ZWoicCZ1o34k8LAl64NVSY0lwPl+CEi78jipXJhtfkVqSTetloA8zexa/vSAcJy57Q==
+ dependencies:
+ "@react-native-community/cli-config" "20.0.0"
+ "@react-native-community/cli-platform-android" "20.0.0"
+ "@react-native-community/cli-platform-apple" "20.0.0"
+ "@react-native-community/cli-platform-ios" "20.0.0"
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ command-exists "^1.2.8"
+ deepmerge "^4.3.0"
+ envinfo "^7.13.0"
+ execa "^5.0.0"
+ node-stream-zip "^1.9.1"
+ ora "^5.4.1"
+ semver "^7.5.2"
+ wcwidth "^1.0.1"
+ yaml "^2.2.1"
+
+"@react-native-community/cli-platform-android@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-20.0.0.tgz"
+ integrity sha512-th3ji1GRcV6ACelgC0wJtt9daDZ+63/52KTwL39xXGoqczFjml4qERK90/ppcXU0Ilgq55ANF8Pr+UotQ2AB/A==
+ dependencies:
+ "@react-native-community/cli-config-android" "20.0.0"
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ logkitty "^0.7.1"
+
+"@react-native-community/cli-platform-apple@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-platform-apple/-/cli-platform-apple-20.0.0.tgz"
+ integrity sha512-rZZCnAjUHN1XBgiWTAMwEKpbVTO4IHBSecdd1VxJFeTZ7WjmstqA6L/HXcnueBgxrzTCRqvkRIyEQXxC1OfhGw==
+ dependencies:
+ "@react-native-community/cli-config-apple" "20.0.0"
+ "@react-native-community/cli-tools" "20.0.0"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ fast-xml-parser "^4.4.1"
+
+"@react-native-community/cli-platform-ios@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-20.0.0.tgz"
+ integrity sha512-Z35M+4gUJgtS4WqgpKU9/XYur70nmj3Q65c9USyTq6v/7YJ4VmBkmhC9BticPs6wuQ9Jcv0NyVCY0Wmh6kMMYw==
+ dependencies:
+ "@react-native-community/cli-platform-apple" "20.0.0"
+
+"@react-native-community/cli-server-api@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-20.0.0.tgz"
+ integrity sha512-Ves21bXtjUK3tQbtqw/NdzpMW1vR2HvYCkUQ/MXKrJcPjgJnXQpSnTqHXz6ZdBlMbbwLJXOhSPiYzxb5/v4CDg==
+ dependencies:
+ "@react-native-community/cli-tools" "20.0.0"
+ body-parser "^1.20.3"
+ compression "^1.7.1"
+ connect "^3.6.5"
+ errorhandler "^1.5.1"
+ nocache "^3.0.1"
+ open "^6.2.0"
+ pretty-format "^29.7.0"
+ serve-static "^1.13.1"
+ ws "^6.2.3"
+
+"@react-native-community/cli-tools@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-20.0.0.tgz"
+ integrity sha512-akSZGxr1IajJ8n0YCwQoA3DI0HttJ0WB7M3nVpb0lOM+rJpsBN7WG5Ft+8ozb6HyIPX+O+lLeYazxn5VNG/Xhw==
+ dependencies:
+ "@vscode/sudo-prompt" "^9.0.0"
+ appdirsjs "^1.2.4"
+ chalk "^4.1.2"
+ execa "^5.0.0"
+ find-up "^5.0.0"
+ launch-editor "^2.9.1"
+ mime "^2.4.1"
+ ora "^5.4.1"
+ prompts "^2.4.2"
+ semver "^7.5.2"
+
+"@react-native-community/cli-types@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-20.0.0.tgz"
+ integrity sha512-7J4hzGWOPTBV1d30Pf2NidV+bfCWpjfCOiGO3HUhz1fH4MvBM0FbbBmE9LE5NnMz7M8XSRSi68ZGYQXgLBB2Qw==
+ dependencies:
+ joi "^17.2.1"
+
+"@react-native-community/cli@20.0.0":
+ version "20.0.0"
+ resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-20.0.0.tgz"
+ integrity sha512-/cMnGl5V1rqnbElY1Fvga1vfw0d3bnqiJLx2+2oh7l9ulnXfVRWb5tU2kgBqiMxuDOKA+DQoifC9q/tvkj5K2w==
+ dependencies:
+ "@react-native-community/cli-clean" "20.0.0"
+ "@react-native-community/cli-config" "20.0.0"
+ "@react-native-community/cli-doctor" "20.0.0"
+ "@react-native-community/cli-server-api" "20.0.0"
+ "@react-native-community/cli-tools" "20.0.0"
+ "@react-native-community/cli-types" "20.0.0"
+ chalk "^4.1.2"
+ commander "^9.4.1"
+ deepmerge "^4.3.0"
+ execa "^5.0.0"
+ find-up "^5.0.0"
+ fs-extra "^8.1.0"
+ graceful-fs "^4.1.3"
+ prompts "^2.4.2"
+ semver "^7.5.2"
+
+"@react-native-community/slider@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/@react-native-community/slider/-/slider-5.0.1.tgz"
+ integrity sha512-K3JRWkIW4wQ79YJ6+BPZzp1SamoikxfPRw7Yw4B4PElEQmqZFrmH9M5LxvIo460/3QSrZF/wCgi3qizJt7g/iw==
+
+"@react-native-documents/picker@^10.1.7":
+ version "10.1.7"
+ resolved "https://registry.npmjs.org/@react-native-documents/picker/-/picker-10.1.7.tgz"
+ integrity sha512-Tb8SPU+pHxrSJmDHBozSUStIPeyFHTHLrU3MW0N3sUAioLd5z+nmUdypfg5fs+Yzp7KTxVW06APe2HLB1ysLww==
+
+"@react-native-firebase/app-check@^23.5.0":
+ version "23.5.0"
+ resolved "https://registry.npmjs.org/@react-native-firebase/app-check/-/app-check-23.5.0.tgz"
+ integrity sha512-jUEHrQ4wio++T2oGvEcr/fMtBpKJvmC8jsxVg1FRMIxgGlZ8UYrMSghu8QGZO6KEVim6QWFEnOSKAvVJmL3HXw==
+
+"@react-native-firebase/app@^23.5.0":
+ version "23.5.0"
+ resolved "https://registry.npmjs.org/@react-native-firebase/app/-/app-23.5.0.tgz"
+ integrity sha512-TOlm6V6fbILwgFP37QZM9Y0nfAW6zqNGVIWlMlepQB6b/BzzFMrCl1FiyknqD5l7i1jgdFQrqX1WH6ZO4ePa/g==
+ dependencies:
+ firebase "12.4.0"
+
+"@react-native-google-signin/google-signin@^16.0.0":
+ version "16.0.0"
+ resolved "https://registry.npmjs.org/@react-native-google-signin/google-signin/-/google-signin-16.0.0.tgz"
+ integrity sha512-jVuzPo8odREekFc0b4RK3YsqCvedtLIM2P6NSszFr9cYyhKrUNikffPapL6LmkL9qkb8K6pDeb5CXg4qALOc0g==
+
+"@react-native-masked-view/masked-view@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.npmjs.org/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz"
+ integrity sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ==
+
+"@react-native-picker/picker@^2.11.4":
+ version "2.11.4"
+ resolved "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.11.4.tgz"
+ integrity sha512-Kf8h1AMnBo54b1fdiVylP2P/iFcZqzpMYcglC28EEFB1DEnOjsNr6Ucqc+3R9e91vHxEDnhZFbYDmAe79P2gjA==
+
+"@react-native/assets-registry@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.82.1.tgz"
+ integrity sha512-B1SRwpntaAcckiatxbjzylvNK562Ayza05gdJCjDQHTiDafa1OABmyB5LHt7qWDOpNkaluD+w11vHF7pBmTpzQ==
+
+"@react-native/babel-plugin-codegen@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.82.1.tgz"
+ integrity sha512-wzmEz/RlR4SekqmaqeQjdMVh4LsnL9e62mrOikOOkHDQ3QN0nrKLuUDzXyYptVbxQ0IRua4pTm3efJLymDBoEg==
+ dependencies:
+ "@babel/traverse" "^7.25.3"
+ "@react-native/codegen" "0.82.1"
+
+"@react-native/babel-preset@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.82.1.tgz"
+ integrity sha512-Olj7p4XIsUWLKjlW46CqijaXt45PZT9Lbvv/Hz698FXTenPKk4k7sy6RGRGZPWO2TCBBfcb73dus1iNHRFSq7g==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/plugin-proposal-export-default-from" "^7.24.7"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-export-default-from" "^7.24.7"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-transform-arrow-functions" "^7.24.7"
+ "@babel/plugin-transform-async-generator-functions" "^7.25.4"
+ "@babel/plugin-transform-async-to-generator" "^7.24.7"
+ "@babel/plugin-transform-block-scoping" "^7.25.0"
+ "@babel/plugin-transform-class-properties" "^7.25.4"
+ "@babel/plugin-transform-classes" "^7.25.4"
+ "@babel/plugin-transform-computed-properties" "^7.24.7"
+ "@babel/plugin-transform-destructuring" "^7.24.8"
+ "@babel/plugin-transform-flow-strip-types" "^7.25.2"
+ "@babel/plugin-transform-for-of" "^7.24.7"
+ "@babel/plugin-transform-function-name" "^7.25.1"
+ "@babel/plugin-transform-literals" "^7.25.2"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.24.7"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.8"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7"
+ "@babel/plugin-transform-numeric-separator" "^7.24.7"
+ "@babel/plugin-transform-object-rest-spread" "^7.24.7"
+ "@babel/plugin-transform-optional-catch-binding" "^7.24.7"
+ "@babel/plugin-transform-optional-chaining" "^7.24.8"
+ "@babel/plugin-transform-parameters" "^7.24.7"
+ "@babel/plugin-transform-private-methods" "^7.24.7"
+ "@babel/plugin-transform-private-property-in-object" "^7.24.7"
+ "@babel/plugin-transform-react-display-name" "^7.24.7"
+ "@babel/plugin-transform-react-jsx" "^7.25.2"
+ "@babel/plugin-transform-react-jsx-self" "^7.24.7"
+ "@babel/plugin-transform-react-jsx-source" "^7.24.7"
+ "@babel/plugin-transform-regenerator" "^7.24.7"
+ "@babel/plugin-transform-runtime" "^7.24.7"
+ "@babel/plugin-transform-shorthand-properties" "^7.24.7"
+ "@babel/plugin-transform-spread" "^7.24.7"
+ "@babel/plugin-transform-sticky-regex" "^7.24.7"
+ "@babel/plugin-transform-typescript" "^7.25.2"
+ "@babel/plugin-transform-unicode-regex" "^7.24.7"
+ "@babel/template" "^7.25.0"
+ "@react-native/babel-plugin-codegen" "0.82.1"
+ babel-plugin-syntax-hermes-parser "0.32.0"
+ babel-plugin-transform-flow-enums "^0.0.2"
+ react-refresh "^0.14.0"
+
+"@react-native/codegen@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.82.1.tgz"
+ integrity sha512-ezXTN70ygVm9l2m0i+pAlct0RntoV4afftWMGUIeAWLgaca9qItQ54uOt32I/9dBJvzBibT33luIR/pBG0dQvg==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/parser" "^7.25.3"
+ glob "^7.1.1"
+ hermes-parser "0.32.0"
+ invariant "^2.2.4"
+ nullthrows "^1.1.1"
+ yargs "^17.6.2"
+
+"@react-native/community-cli-plugin@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.82.1.tgz"
+ integrity sha512-H/eMdtOy9nEeX7YVeEG1N2vyCoifw3dr9OV8++xfUElNYV7LtSmJ6AqxZUUfxGJRDFPQvaU/8enmJlM/l11VxQ==
+ dependencies:
+ "@react-native/dev-middleware" "0.82.1"
+ debug "^4.4.0"
+ invariant "^2.2.4"
+ metro "^0.83.1"
+ metro-config "^0.83.1"
+ metro-core "^0.83.1"
+ semver "^7.1.3"
+
+"@react-native/debugger-frontend@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.82.1.tgz"
+ integrity sha512-a2O6M7/OZ2V9rdavOHyCQ+10z54JX8+B+apYKCQ6a9zoEChGTxUMG2YzzJ8zZJVvYf1ByWSNxv9Se0dca1hO9A==
+
+"@react-native/debugger-shell@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.82.1.tgz"
+ integrity sha512-fdRHAeqqPT93bSrxfX+JHPpCXHApfDUdrXMXhoxlPgSzgXQXJDykIViKhtpu0M6slX6xU/+duq+AtP/qWJRpBw==
+ dependencies:
+ cross-spawn "^7.0.6"
+ fb-dotslash "0.5.8"
+
+"@react-native/dev-middleware@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.82.1.tgz"
+ integrity sha512-wuOIzms/Qg5raBV6Ctf2LmgzEOCqdP3p1AYN4zdhMT110c39TVMbunpBaJxm0Kbt2HQ762MQViF9naxk7SBo4w==
+ dependencies:
+ "@isaacs/ttlcache" "^1.4.1"
+ "@react-native/debugger-frontend" "0.82.1"
+ "@react-native/debugger-shell" "0.82.1"
+ chrome-launcher "^0.15.2"
+ chromium-edge-launcher "^0.2.0"
+ connect "^3.6.5"
+ debug "^4.4.0"
+ invariant "^2.2.4"
+ nullthrows "^1.1.1"
+ open "^7.0.3"
+ serve-static "^1.16.2"
+ ws "^6.2.3"
+
+"@react-native/eslint-config@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.82.1.tgz"
+ integrity sha512-K3xCTEAg8WDd7WpDhQ1hsKbuY3OXaQtqpokeOdgyJag100ZvUX84YIaqDqsVaAZqjA53zCA5PbxerWs6mPA+PQ==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/eslint-parser" "^7.25.1"
+ "@react-native/eslint-plugin" "0.82.1"
+ "@typescript-eslint/eslint-plugin" "^8.36.0"
+ "@typescript-eslint/parser" "^8.36.0"
+ eslint-config-prettier "^8.5.0"
+ eslint-plugin-eslint-comments "^3.2.0"
+ eslint-plugin-ft-flow "^2.0.1"
+ eslint-plugin-jest "^29.0.1"
+ eslint-plugin-react "^7.30.1"
+ eslint-plugin-react-hooks "^5.2.0"
+ eslint-plugin-react-native "^4.0.0"
+
+"@react-native/eslint-plugin@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.82.1.tgz"
+ integrity sha512-PU0ho8pNp24pdegIpYRAwppfO8z7werpoTts2CJ/wXYQ+ryZKa2M31DHW+kl+K3wwwqVqFKAzLh4t3sP/mOqMQ==
+
+"@react-native/gradle-plugin@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.82.1.tgz"
+ integrity sha512-KkF/2T1NSn6EJ5ALNT/gx0MHlrntFHv8YdooH9OOGl9HQn5NM0ZmQSr86o5utJsGc7ME3R6p3SaQuzlsFDrn8Q==
+
+"@react-native/js-polyfills@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.82.1.tgz"
+ integrity sha512-tf70X7pUodslOBdLN37J57JmDPB/yiZcNDzS2m+4bbQzo8fhx3eG9QEBv5n4fmzqfGAgSB4BWRHgDMXmmlDSVA==
+
+"@react-native/metro-babel-transformer@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.82.1.tgz"
+ integrity sha512-kVQyYxYe1Da7cr7uGK9c44O6vTzM8YY3KW9CSLhhV1CGw7jmohU1HfLaUxDEmYfFZMc4Kj3JsIEbdUlaHMtprQ==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@react-native/babel-preset" "0.82.1"
+ hermes-parser "0.32.0"
+ nullthrows "^1.1.1"
+
+"@react-native/metro-config@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.82.1.tgz"
+ integrity sha512-mAY6R3xnDMlmDOrUCAtLTjIkli26DZt4LNVuAjDEdnlv5sHANOr5x4qpMn7ea1p9Q/tpfHLalPQUQeJ8CZH4gA==
+ dependencies:
+ "@react-native/js-polyfills" "0.82.1"
+ "@react-native/metro-babel-transformer" "0.82.1"
+ metro-config "^0.83.1"
+ metro-runtime "^0.83.1"
+
+"@react-native/normalize-colors@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.82.1.tgz"
+ integrity sha512-CCfTR1uX+Z7zJTdt3DNX9LUXr2zWXsNOyLbwupW2wmRzrxlHRYfmLgTABzRL/cKhh0Ubuwn15o72MQChvCRaHw==
+
+"@react-native/typescript-config@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.82.1.tgz"
+ integrity sha512-kCTjmBg44p0kqU4xEMg7l6SNJyHWTHuTqiT9MpHasEYcnVpBWyEQsSQAiVKONHwcUWcAktrGVLE1dYGfBmPJ3Q==
+
+"@react-native/virtualized-lists@0.82.1":
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.82.1.tgz"
+ integrity sha512-f5zpJg9gzh7JtCbsIwV+4kP3eI0QBuA93JGmwFRd4onQ3DnCjV2J5pYqdWtM95sjSKK1dyik59Gj01lLeKqs1Q==
+ dependencies:
+ invariant "^2.2.4"
+ nullthrows "^1.1.1"
+
+"@react-navigation/core@^7.13.7":
+ version "7.13.7"
+ resolved "https://registry.npmjs.org/@react-navigation/core/-/core-7.13.7.tgz"
+ integrity sha512-k2ABo3250vq1ovOh/iVwXS6Hwr5PVRGXoPh/ewVFOOuEKTvOx9i//OBzt8EF+HokBxS2HBRlR2b+aCOmscRqBw==
+ dependencies:
+ "@react-navigation/routers" "^7.5.3"
+ escape-string-regexp "^4.0.0"
+ fast-deep-equal "^3.1.3"
+ nanoid "^3.3.11"
+ query-string "^7.1.3"
+ react-is "^19.1.0"
+ use-latest-callback "^0.2.4"
+ use-sync-external-store "^1.5.0"
+
+"@react-navigation/drawer@^7.7.10":
+ version "7.7.10"
+ resolved "https://registry.npmjs.org/@react-navigation/drawer/-/drawer-7.7.10.tgz"
+ integrity sha512-FGYU5Ebd2whTa4Z+RBCxnWqmyWIQGTJ7PAAhk2RjlVrEXLU0HaFR5JGmEHuNm/Cm9xX3xCwOxYZiA0Xi/DeyAA==
+ dependencies:
+ "@react-navigation/elements" "^2.9.3"
+ color "^4.2.3"
+ react-native-drawer-layout "^4.2.1"
+ use-latest-callback "^0.2.4"
+
+"@react-navigation/elements@^2.9.3":
+ version "2.9.3"
+ resolved "https://registry.npmjs.org/@react-navigation/elements/-/elements-2.9.3.tgz"
+ integrity sha512-3+eyvWiVPIEf6tN9UdduhOEHcTuNe3R5WovgiVkfH9+jApHMTZDc2loePTpY/i2HDJhObhhChpJzO6BVjrpdYQ==
+ dependencies:
+ color "^4.2.3"
+ use-latest-callback "^0.2.4"
+ use-sync-external-store "^1.5.0"
+
+"@react-navigation/native@^7.1.26":
+ version "7.1.26"
+ resolved "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.26.tgz"
+ integrity sha512-RhKmeD0E2ejzKS6z8elAfdfwShpcdkYY8zJzvHYLq+wv183BBcElTeyMLcIX6wIn7QutXeI92Yi21t7aUWfqNQ==
+ dependencies:
+ "@react-navigation/core" "^7.13.7"
+ escape-string-regexp "^4.0.0"
+ fast-deep-equal "^3.1.3"
+ nanoid "^3.3.11"
+ use-latest-callback "^0.2.4"
+
+"@react-navigation/routers@^7.5.3":
+ version "7.5.3"
+ resolved "https://registry.npmjs.org/@react-navigation/routers/-/routers-7.5.3.tgz"
+ integrity sha512-1tJHg4KKRJuQ1/EvJxatrMef3NZXEPzwUIUZ3n1yJ2t7Q97siwRtbynRpQG9/69ebbtiZ8W3ScOZF/OmhvM4Rg==
+ dependencies:
+ nanoid "^3.3.11"
+
+"@react-navigation/stack@^7.6.13":
+ version "7.6.13"
+ resolved "https://registry.npmjs.org/@react-navigation/stack/-/stack-7.6.13.tgz"
+ integrity sha512-Zs8W2k9AGltBVkUw0QXU97rTDLbfTikCWA3fstzpjVDVTXp+h0irXm1MTnAl79D3B1wcyZasUIwMZdyUqwMT6g==
+ dependencies:
+ "@react-navigation/elements" "^2.9.3"
+ color "^4.2.3"
+ use-latest-callback "^0.2.4"
+
+"@sideway/address@^4.1.5":
+ version "4.1.5"
+ resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz"
+ integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz"
+ integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
+"@sinclair/typebox@^0.27.8":
+ version "0.27.8"
+ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz"
+ integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
+
+"@sinclair/typebox@^0.34.0":
+ version "0.34.41"
+ resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz"
+ integrity sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==
+
+"@sinonjs/commons@^3.0.0":
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz"
+ integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==
+ dependencies:
+ type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^10.0.2":
+ 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==
+ dependencies:
+ "@sinonjs/commons" "^3.0.0"
+
+"@standard-schema/utils@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz"
+ integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
+
+"@supabase/auth-js@2.75.1":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.75.1.tgz"
+ integrity sha512-zktlxtXstQuVys/egDpVsargD9hQtG20CMdtn+mMn7d2Ulkzy2tgUT5FUtpppvCJtd9CkhPHO/73rvi5W6Am5A==
+ dependencies:
+ "@supabase/node-fetch" "2.6.15"
+
+"@supabase/functions-js@2.75.1":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.75.1.tgz"
+ integrity sha512-xO+01SUcwVmmo67J7Htxq8FmhkYLFdWkxfR/taxBOI36wACEUNQZmroXGPl4PkpYxBO7TaDsRHYGxUpv9zTKkg==
+ dependencies:
+ "@supabase/node-fetch" "2.6.15"
+
+"@supabase/node-fetch@2.6.15":
+ version "2.6.15"
+ resolved "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz"
+ integrity sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+"@supabase/postgrest-js@2.75.1":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.75.1.tgz"
+ integrity sha512-FiYBD0MaKqGW8eo4Xqu7/100Xm3ddgh+3qHtqS18yQRoglJTFRQCJzY1xkrGS0JFHE2YnbjL6XCiOBXiG8DK4Q==
+ dependencies:
+ "@supabase/node-fetch" "2.6.15"
+
+"@supabase/realtime-js@2.75.1":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.75.1.tgz"
+ integrity sha512-lBIJ855bUsBFScHA/AY+lxIFkubduUvmwbagbP1hq0wDBNAsYdg3ql80w8YmtXCDjkCwlE96SZqcFn7BGKKJKQ==
+ dependencies:
+ "@supabase/node-fetch" "2.6.15"
+ "@types/phoenix" "^1.6.6"
+ "@types/ws" "^8.18.1"
+ ws "^8.18.2"
+
+"@supabase/storage-js@2.75.1":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.75.1.tgz"
+ integrity sha512-WdGEhroflt5O398Yg3dpf1uKZZ6N3CGloY9iGsdT873uWbkQKoP0wG8mtx98dh0fhj6dAlzBqOAvnlV12cJfzA==
+ dependencies:
+ "@supabase/node-fetch" "2.6.15"
+
+"@supabase/supabase-js@^2.75.0":
+ version "2.75.1"
+ resolved "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.75.1.tgz"
+ integrity sha512-GEPVBvjQimcMd9z5K1eTKTixTRb6oVbudoLQ9JKqTUJnR6GQdBU4OifFZean1AnHfsQwtri1fop2OWwsMv019w==
+ dependencies:
+ "@supabase/auth-js" "2.75.1"
+ "@supabase/functions-js" "2.75.1"
+ "@supabase/node-fetch" "2.6.15"
+ "@supabase/postgrest-js" "2.75.1"
+ "@supabase/realtime-js" "2.75.1"
+ "@supabase/storage-js" "2.75.1"
+
+"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz"
+ integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
+
+"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz"
+ integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz"
+ integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz"
+ integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
+
+"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz"
+ integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
+
+"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz"
+ integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
+
+"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz"
+ integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
+
+"@svgr/babel-plugin-transform-svg-component@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz"
+ integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
+
+"@svgr/babel-preset@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz"
+ integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
+ dependencies:
+ "@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
+ "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
+ "@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
+ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
+ "@svgr/babel-plugin-transform-svg-component" "8.0.0"
+
+"@svgr/core@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz"
+ integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ camelcase "^6.2.0"
+ cosmiconfig "^8.1.3"
+ snake-case "^3.0.4"
+
+"@svgr/hast-util-to-babel-ast@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz"
+ integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
+ dependencies:
+ "@babel/types" "^7.21.3"
+ entities "^4.4.0"
+
+"@svgr/plugin-jsx@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz"
+ integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ "@svgr/hast-util-to-babel-ast" "8.0.0"
+ svg-parser "^2.0.4"
+
+"@svgr/plugin-svgo@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz"
+ integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
+ dependencies:
+ cosmiconfig "^8.1.3"
+ deepmerge "^4.3.1"
+ svgo "^3.0.2"
+
+"@testing-library/react-hooks@^8.0.1":
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz"
+ integrity sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ react-error-boundary "^3.1.0"
+
+"@testing-library/react-native@^13.3.3":
+ version "13.3.3"
+ resolved "https://registry.npmjs.org/@testing-library/react-native/-/react-native-13.3.3.tgz"
+ integrity sha512-k6Mjsd9dbZgvY4Bl7P1NIpePQNi+dfYtlJ5voi9KQlynxSyQkfOgJmYGCYmw/aSgH/rUcFvG8u5gd4npzgRDyg==
+ dependencies:
+ jest-matcher-utils "^30.0.5"
+ picocolors "^1.1.1"
+ pretty-format "^30.0.5"
+ redent "^3.0.0"
+
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
+"@types/babel__core@^7.1.14", "@types/babel__core@^7.20.5":
+ version "7.20.5"
+ resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz"
+ integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==
+ dependencies:
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
+ "@types/babel__generator" "*"
+ "@types/babel__template" "*"
+ "@types/babel__traverse" "*"
+
+"@types/babel__generator@*":
+ version "7.27.0"
+ resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz"
+ integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@types/babel__template@*":
+ version "7.4.4"
+ resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz"
+ integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
+ version "7.28.0"
+ resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz"
+ integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==
+ dependencies:
+ "@babel/types" "^7.28.2"
+
+"@types/conventional-commits-parser@^5.0.0":
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz"
+ integrity sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/graceful-fs@^4.1.3":
+ version "4.1.9"
+ resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz"
+ integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/hammerjs@^2.0.36":
+ version "2.0.46"
+ resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz"
+ integrity sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==
+
+"@types/hast@^2.0.0":
+ version "2.3.10"
+ resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz"
+ integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==
+ dependencies:
+ "@types/unist" "^2"
+
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1", "@types/istanbul-lib-coverage@^2.0.6":
+ 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==
+
+"@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==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^3.0.0", "@types/istanbul-reports@^3.0.4":
+ 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==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/jest@^29.5.13":
+ version "29.5.14"
+ resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz"
+ integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==
+ dependencies:
+ expect "^29.0.0"
+ pretty-format "^29.0.0"
+
+"@types/lodash@^4.17.20":
+ version "4.17.20"
+ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz"
+ integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==
+
+"@types/mustache@^4.2.6":
+ version "4.2.6"
+ resolved "https://registry.npmjs.org/@types/mustache/-/mustache-4.2.6.tgz"
+ integrity sha512-t+8/QWTAhOFlrF1IVZqKnMRJi84EgkIK5Kh0p2JV4OLywUvCwJPFxbJAl7XAow7DVIHsF+xW9f1MVzg0L6Szjw==
+
+"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":
+ version "24.8.1"
+ resolved "https://registry.npmjs.org/@types/node/-/node-24.8.1.tgz"
+ integrity sha512-alv65KGRadQVfVcG69MuB4IzdYVpRwMG/mq8KWOaoOdyY617P5ivaDiMCGOFDWD2sAn5Q0mR3mRtUOgm99hL9Q==
+ dependencies:
+ undici-types "~7.14.0"
+
+"@types/phoenix@^1.6.6":
+ version "1.6.6"
+ resolved "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz"
+ integrity sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==
+
+"@types/ramda@^0.27.40", "@types/ramda@^0.27.44":
+ version "0.27.66"
+ resolved "https://registry.npmjs.org/@types/ramda/-/ramda-0.27.66.tgz"
+ integrity sha512-i2YW+E2U6NfMt3dp0RxNcejox+bxJUNDjB7BpYuRuoHIzv5juPHkJkNgcUOu+YSQEmaWu8cnAo/8r63C0NnuVA==
+ dependencies:
+ ts-toolbelt "^6.15.1"
+
+"@types/react-syntax-highlighter@^15.5.13":
+ version "15.5.13"
+ resolved "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.13.tgz"
+ integrity sha512-uLGJ87j6Sz8UaBAooU0T6lWJ0dBmjZgN1PZTrj05TNql2/XpC6+4HhMT5syIdFUUt+FASfCeLLv4kBygNU+8qA==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-test-renderer@^19.0.0":
+ version "19.1.0"
+ resolved "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz"
+ integrity sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@^19.0.0":
+ version "19.2.2"
+ resolved "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz"
+ integrity sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==
+ dependencies:
+ csstype "^3.0.2"
+
+"@types/stack-utils@^2.0.0":
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz"
+ integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==
+
+"@types/unist@^2":
+ version "2.0.11"
+ resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz"
+ integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==
+
+"@types/urijs@^1.19.15":
+ version "1.19.25"
+ resolved "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz"
+ integrity sha512-XOfUup9r3Y06nFAZh3WvO0rBU4OtlfPB/vgxpjg+NRdGU6CN6djdc6OEiH+PcqHCY6eFLo9Ista73uarf4gnBg==
+
+"@types/uuid@^11.0.0":
+ version "11.0.0"
+ resolved "https://registry.npmjs.org/@types/uuid/-/uuid-11.0.0.tgz"
+ integrity sha512-HVyk8nj2m+jcFRNazzqyVKiZezyhDKrGUA3jlEcg/nZ6Ms+qHwocba1Y/AaVaznJTAM9xpdFSh+ptbNrhOGvZA==
+ dependencies:
+ uuid "*"
+
+"@types/ws@^8.18.1":
+ version "8.18.1"
+ resolved "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz"
+ integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==
+ dependencies:
+ "@types/node" "*"
+
+"@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==
+
+"@types/yargs@^17.0.33", "@types/yargs@^17.0.8":
+ version "17.0.33"
+ resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz"
+ integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@typescript-eslint/eslint-plugin@^8.36.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz"
+ integrity sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==
+ dependencies:
+ "@eslint-community/regexpp" "^4.12.2"
+ "@typescript-eslint/scope-manager" "8.52.0"
+ "@typescript-eslint/type-utils" "8.52.0"
+ "@typescript-eslint/utils" "8.52.0"
+ "@typescript-eslint/visitor-keys" "8.52.0"
+ ignore "^7.0.5"
+ natural-compare "^1.4.0"
+ ts-api-utils "^2.4.0"
+
+"@typescript-eslint/parser@^8.36.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz"
+ integrity sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==
+ dependencies:
+ "@typescript-eslint/scope-manager" "8.52.0"
+ "@typescript-eslint/types" "8.52.0"
+ "@typescript-eslint/typescript-estree" "8.52.0"
+ "@typescript-eslint/visitor-keys" "8.52.0"
+ debug "^4.4.3"
+
+"@typescript-eslint/project-service@8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz"
+ integrity sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==
+ dependencies:
+ "@typescript-eslint/tsconfig-utils" "^8.52.0"
+ "@typescript-eslint/types" "^8.52.0"
+ debug "^4.4.3"
+
+"@typescript-eslint/scope-manager@8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz"
+ integrity sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==
+ dependencies:
+ "@typescript-eslint/types" "8.52.0"
+ "@typescript-eslint/visitor-keys" "8.52.0"
+
+"@typescript-eslint/tsconfig-utils@8.52.0", "@typescript-eslint/tsconfig-utils@^8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz"
+ integrity sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==
+
+"@typescript-eslint/type-utils@8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz"
+ integrity sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==
+ dependencies:
+ "@typescript-eslint/types" "8.52.0"
+ "@typescript-eslint/typescript-estree" "8.52.0"
+ "@typescript-eslint/utils" "8.52.0"
+ debug "^4.4.3"
+ ts-api-utils "^2.4.0"
+
+"@typescript-eslint/types@8.52.0", "@typescript-eslint/types@^8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz"
+ integrity sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==
+
+"@typescript-eslint/typescript-estree@8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz"
+ integrity sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==
+ dependencies:
+ "@typescript-eslint/project-service" "8.52.0"
+ "@typescript-eslint/tsconfig-utils" "8.52.0"
+ "@typescript-eslint/types" "8.52.0"
+ "@typescript-eslint/visitor-keys" "8.52.0"
+ debug "^4.4.3"
+ minimatch "^9.0.5"
+ semver "^7.7.3"
+ tinyglobby "^0.2.15"
+ ts-api-utils "^2.4.0"
+
+"@typescript-eslint/utils@8.52.0", "@typescript-eslint/utils@^8.0.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz"
+ integrity sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.9.1"
+ "@typescript-eslint/scope-manager" "8.52.0"
+ "@typescript-eslint/types" "8.52.0"
+ "@typescript-eslint/typescript-estree" "8.52.0"
+
+"@typescript-eslint/visitor-keys@8.52.0":
+ version "8.52.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz"
+ integrity sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==
+ dependencies:
+ "@typescript-eslint/types" "8.52.0"
+ eslint-visitor-keys "^4.2.1"
+
+"@ungap/structured-clone@^1.2.0", "@ungap/structured-clone@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz"
+ integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
+
+"@vscode/sudo-prompt@^9.0.0":
+ version "9.3.1"
+ resolved "https://registry.npmjs.org/@vscode/sudo-prompt/-/sudo-prompt-9.3.1.tgz"
+ integrity sha512-9ORTwwS74VaTn38tNbQhsA5U44zkJfcb0BdTSyyG6frP4e8KMtHuTXYmwefe5dpL8XB1aGSIVTaLjD3BbWb5iA==
+
+"@yarnpkg/lockfile@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"
+ integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
+
+JSONStream@^1.3.5:
+ version "1.3.5"
+ resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
+ integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
+a-sync-waterfall@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz"
+ integrity sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==
+
+abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
+accepts@^1.3.7, accepts@~1.3.7:
+ 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==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+acorn-jsx@^5.3.2:
+ version "5.3.2"
+ resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.15.0, acorn@^8.9.0:
+ version "8.15.0"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
+ integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
+
+agent-base@^7.1.2:
+ version "7.1.4"
+ resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz"
+ integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==
+
+ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^8.11.0:
+ version "8.17.1"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz"
+ integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
+anser@^1.4.9:
+ version "1.4.10"
+ resolved "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz"
+ integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
+
+ansi-escapes@^4.2.1:
+ version "4.3.2"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-fragments@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz"
+ integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==
+ dependencies:
+ colorette "^1.0.7"
+ slice-ansi "^2.0.0"
+ strip-ansi "^5.0.0"
+
+ansi-regex@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz"
+ integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
+
+ansi-regex@^5.0.0, ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^3.2.0:
+ 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==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^5.0.0, ansi-styles@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
+ integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+
+anymatch@^3.0.3, anymatch@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+appdirsjs@^1.2.4:
+ version "1.2.7"
+ resolved "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz"
+ integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2:
+ 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==
+ dependencies:
+ call-bound "^1.0.3"
+ is-array-buffer "^3.0.5"
+
+array-ify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz"
+ integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
+
+array-includes@^3.1.6, array-includes@^3.1.8:
+ version "3.1.9"
+ resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz"
+ integrity sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.24.0"
+ es-object-atoms "^1.1.1"
+ get-intrinsic "^1.3.0"
+ is-string "^1.1.1"
+ math-intrinsics "^1.1.0"
+
+array.prototype.findlast@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz"
+ integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ es-shim-unscopables "^1.0.2"
+
+array.prototype.flat@^1.3.1:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz"
+ integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-shim-unscopables "^1.0.2"
+
+array.prototype.flatmap@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz"
+ integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-shim-unscopables "^1.0.2"
+
+array.prototype.tosorted@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz"
+ integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.3"
+ es-errors "^1.3.0"
+ es-shim-unscopables "^1.0.2"
+
+arraybuffer.prototype.slice@^1.0.4:
+ 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==
+ 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"
+
+asap@^2.0.3, asap@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
+ integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
+async-function@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz"
+ integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
+
+async-limiter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"
+ integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+available-typed-arrays@^1.0.7:
+ 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==
+ dependencies:
+ possible-typed-array-names "^1.0.0"
+
+axios@^1.12.2:
+ version "1.12.2"
+ resolved "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz"
+ integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==
+ dependencies:
+ follow-redirects "^1.15.6"
+ form-data "^4.0.4"
+ proxy-from-env "^1.1.0"
+
+babel-jest@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz"
+ integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==
+ dependencies:
+ "@jest/transform" "^29.7.0"
+ "@types/babel__core" "^7.1.14"
+ babel-plugin-istanbul "^6.1.1"
+ babel-preset-jest "^29.6.3"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ slash "^3.0.0"
+
+babel-jest@^30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz"
+ integrity sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==
+ dependencies:
+ "@jest/transform" "30.2.0"
+ "@types/babel__core" "^7.20.5"
+ babel-plugin-istanbul "^7.0.1"
+ babel-preset-jest "30.2.0"
+ chalk "^4.1.2"
+ graceful-fs "^4.2.11"
+ slash "^3.0.0"
+
+babel-plugin-istanbul@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz"
+ integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-instrument "^5.0.4"
+ test-exclude "^6.0.0"
+
+babel-plugin-istanbul@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz"
+ integrity sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@istanbuljs/load-nyc-config" "^1.0.0"
+ "@istanbuljs/schema" "^0.1.3"
+ istanbul-lib-instrument "^6.0.2"
+ test-exclude "^6.0.0"
+
+babel-plugin-jest-hoist@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz"
+ integrity sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==
+ dependencies:
+ "@types/babel__core" "^7.20.5"
+
+babel-plugin-jest-hoist@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz"
+ integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.1.14"
+ "@types/babel__traverse" "^7.0.6"
+
+babel-plugin-polyfill-corejs2@^0.4.14:
+ version "0.4.14"
+ resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ dependencies:
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.13.0:
+ 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==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ core-js-compat "^3.43.0"
+
+babel-plugin-polyfill-regenerator@^0.6.5:
+ version "0.6.5"
+ resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+
+babel-plugin-syntax-hermes-parser@0.32.0:
+ version "0.32.0"
+ resolved "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz"
+ integrity sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg==
+ dependencies:
+ hermes-parser "0.32.0"
+
+babel-plugin-transform-flow-enums@^0.0.2:
+ 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==
+ dependencies:
+ "@babel/plugin-syntax-flow" "^7.12.1"
+
+babel-preset-current-node-syntax@^1.0.0, babel-preset-current-node-syntax@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz"
+ integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==
+ dependencies:
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-bigint" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-import-attributes" "^7.24.7"
+ "@babel/plugin-syntax-import-meta" "^7.10.4"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+
+babel-preset-jest@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.2.0.tgz"
+ integrity sha512-US4Z3NOieAQumwFnYdUWKvUKh8+YSnS/gB3t6YBiz0bskpu7Pine8pPCheNxlPEW4wnUkma2a94YuW2q3guvCQ==
+ dependencies:
+ babel-plugin-jest-hoist "30.2.0"
+ babel-preset-current-node-syntax "^1.2.0"
+
+babel-preset-jest@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz"
+ integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==
+ dependencies:
+ babel-plugin-jest-hoist "^29.6.3"
+ babel-preset-current-node-syntax "^1.0.0"
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1, base64-js@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+baseline-browser-mapping@^2.8.9:
+ version "2.8.18"
+ resolved "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.18.tgz"
+ integrity sha512-UYmTpOBwgPScZpS4A+YbapwWuBwasxvO/2IOHArSsAhL/+ZdmATBXTex3t+l2hXwLVYK382ibr/nKoY9GKe86w==
+
+bl@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+body-parser@^1.20.3:
+ version "1.20.3"
+ resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz"
+ integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
+ dependencies:
+ bytes "3.1.2"
+ content-type "~1.0.5"
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ on-finished "2.4.1"
+ qs "6.13.0"
+ raw-body "2.5.2"
+ type-is "~1.6.18"
+ unpipe "1.0.0"
+
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+brace-expansion@^1.1.7:
+ version "1.1.12"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz"
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz"
+ integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+ dependencies:
+ fill-range "^7.1.1"
+
+browserslist@^4.24.0, browserslist@^4.26.3:
+ version "4.26.3"
+ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz"
+ integrity sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==
+ dependencies:
+ baseline-browser-mapping "^2.8.9"
+ caniuse-lite "^1.0.30001746"
+ electron-to-chromium "^1.5.227"
+ node-releases "^2.0.21"
+ update-browserslist-db "^1.1.3"
+
+bser@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz"
+ integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+ dependencies:
+ node-int64 "^0.4.0"
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.4.3, buffer@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
+call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
+ 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==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+
+call-bind@^1.0.7, call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camelcase@^5.0.0, camelcase@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+camelcase@^6.2.0:
+ version "6.3.0"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
+camelize@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz"
+ integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==
+
+caniuse-lite@^1.0.30001746:
+ version "1.0.30001751"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz"
+ integrity sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==
+
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^5.3.0:
+ version "5.6.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz"
+ integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==
+
+char-regex@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
+ integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
+character-entities-html4@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz"
+ integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==
+
+character-entities-legacy@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz"
+ integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+
+character-entities@^1.0.0:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz"
+ integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz"
+ integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+
+chat-formatter@^0.3.4:
+ version "0.3.4"
+ resolved "https://registry.npmjs.org/chat-formatter/-/chat-formatter-0.3.4.tgz"
+ integrity sha512-yxU9JbOLVNm6juucWZf9QNLTG/2Mna75YjSuhJuwALbryjbhGasS9DxK4WUwzW5jZoAwVrdUIRHYNKrZWxWS1A==
+ dependencies:
+ nunjucks "^3.2.4"
+
+chrome-launcher@^0.15.2:
+ version "0.15.2"
+ resolved "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz"
+ integrity sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==
+ dependencies:
+ "@types/node" "*"
+ escape-string-regexp "^4.0.0"
+ is-wsl "^2.2.0"
+ lighthouse-logger "^1.0.0"
+
+chromium-edge-launcher@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz"
+ integrity sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==
+ dependencies:
+ "@types/node" "*"
+ escape-string-regexp "^4.0.0"
+ is-wsl "^2.2.0"
+ lighthouse-logger "^1.0.0"
+ mkdirp "^1.0.4"
+ rimraf "^3.0.2"
+
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+ci-info@^3.2.0, ci-info@^3.7.0:
+ version "3.9.0"
+ resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz"
+ integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+
+ci-info@^4.2.0:
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz"
+ integrity sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==
+
+cjs-module-lexer@^1.0.0:
+ version "1.4.3"
+ resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz"
+ integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-spinners@^2.5.0:
+ version "2.9.2"
+ resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz"
+ integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
+
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+cliui@^8.0.1:
+ 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==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.1"
+ wrap-ansi "^7.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
+ integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
+collect-v8-coverage@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz"
+ integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==
+
+color-convert@^1.9.0, color-convert@^1.9.3:
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.6.0, color-string@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^3.1.2:
+ version "3.2.1"
+ resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz"
+ integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
+ dependencies:
+ color-convert "^1.9.3"
+ color-string "^1.6.0"
+
+color@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz"
+ integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
+ dependencies:
+ color-convert "^2.0.1"
+ color-string "^1.9.0"
+
+colorette@^1.0.7:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+comma-separated-tokens@^1.0.0:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz"
+ integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
+
+command-exists@^1.2.8:
+ 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==
+
+commander@^12.0.0:
+ version "12.1.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz"
+ integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==
+
+commander@^2.20.0:
+ 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==
+
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+commander@^9.4.1:
+ version "9.5.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz"
+ integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
+
+compare-func@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz"
+ integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==
+ dependencies:
+ array-ify "^1.0.0"
+ dot-prop "^5.1.0"
+
+compressible@~2.0.18:
+ version "2.0.18"
+ resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.1:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz"
+ integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==
+ 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"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+connect@^3.6.5:
+ version "3.7.0"
+ resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz"
+ integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
+ dependencies:
+ debug "2.6.9"
+ finalhandler "1.1.2"
+ parseurl "~1.3.3"
+ utils-merge "1.0.1"
+
+content-type@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+
+conventional-changelog-angular@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz"
+ integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==
+ dependencies:
+ compare-func "^2.0.0"
+
+conventional-changelog-conventionalcommits@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz"
+ integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==
+ dependencies:
+ compare-func "^2.0.0"
+
+conventional-commits-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz"
+ integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==
+ dependencies:
+ JSONStream "^1.3.5"
+ is-text-path "^2.0.0"
+ meow "^12.0.1"
+ split2 "^4.0.0"
+
+convert-source-map@^2.0.0:
+ 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==
+
+core-js-compat@^3.43.0:
+ version "3.46.0"
+ resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz"
+ integrity sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==
+ dependencies:
+ browserslist "^4.26.3"
+
+cosmiconfig-typescript-loader@^6.1.0:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.2.0.tgz"
+ integrity sha512-GEN39v7TgdxgIoNcdkRE3uiAzQt3UXLyHbRHD6YoL048XAeOomyxaP+Hh/+2C6C2wYjxJ2onhJcsQp+L4YEkVQ==
+ dependencies:
+ jiti "^2.6.1"
+
+cosmiconfig@^8.1.3:
+ version "8.3.6"
+ resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz"
+ integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
+ dependencies:
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ parse-json "^5.2.0"
+ path-type "^4.0.0"
+
+cosmiconfig@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz"
+ integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==
+ dependencies:
+ env-paths "^2.2.1"
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ parse-json "^5.2.0"
+
+create-jest@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz"
+ integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ chalk "^4.0.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ jest-config "^29.7.0"
+ jest-util "^29.7.0"
+ prompts "^2.0.1"
+
+cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6:
+ version "7.0.6"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
+ integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+css-color-keywords@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz"
+ integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==
+
+css-select@^5.1.0:
+ version "5.2.2"
+ resolved "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz"
+ integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.1.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ nth-check "^2.0.1"
+
+css-to-react-native@3.2.0, css-to-react-native@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz"
+ integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==
+ dependencies:
+ camelize "^1.0.0"
+ css-color-keywords "^1.0.0"
+ postcss-value-parser "^4.0.2"
+
+css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-tree@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz"
+ integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+ dependencies:
+ mdn-data "2.0.30"
+ source-map-js "^1.0.1"
+
+css-tree@~2.2.0:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz"
+ integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
+ dependencies:
+ mdn-data "2.0.28"
+ source-map-js "^1.0.1"
+
+css-what@^6.1.0:
+ version "6.2.2"
+ resolved "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz"
+ integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==
+
+csso@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz"
+ integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
+ dependencies:
+ css-tree "~2.2.0"
+
+csstype@^3.0.2, csstype@^3.0.8, csstype@^3.0.9:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+
+dargs@^8.0.0:
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz"
+ integrity sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==
+
+data-view-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz"
+ integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-length@^1.0.2:
+ 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==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-offset@^1.0.1:
+ 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==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+date-fns@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz"
+ integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==
+
+dayjs@^1.11.18, dayjs@^1.8.15:
+ version "1.11.18"
+ resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.18.tgz"
+ integrity sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==
+
+debug@2.6.9, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3:
+ version "4.4.3"
+ resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz"
+ integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ dependencies:
+ ms "^2.1.3"
+
+decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
+decode-uri-component@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz"
+ integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
+
+dedent@^1.0.0:
+ version "1.7.0"
+ resolved "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz"
+ integrity sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz"
+ integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==
+
+deepmerge@^4.2.2, deepmerge@^4.3.0, deepmerge@^4.3.1:
+ 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==
+
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+ 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==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ gopd "^1.0.1"
+
+define-properties@^1.1.3, define-properties@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz"
+ integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+ dependencies:
+ define-data-property "^1.0.1"
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-newline@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz"
+ integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+
+diff-sequences@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz"
+ integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+ dependencies:
+ esutils "^2.0.2"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^4.2.0, domhandler@^4.2.2:
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+domutils@^3.0.1:
+ version "3.2.2"
+ resolved "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz"
+ integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+
+dot-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz"
+ integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+dot-prop@^5.1.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+ dependencies:
+ is-obj "^2.0.0"
+
+dotenv@^16.4.5:
+ version "16.6.1"
+ resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz"
+ integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==
+
+dunder-proto@^1.0.0, dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+electron-to-chromium@^1.5.227:
+ version "1.5.237"
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz"
+ integrity sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==
+
+emittery@^0.13.1:
+ version "0.13.1"
+ resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz"
+ integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+encodeurl@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz"
+ integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz"
+ integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
+
+entities@^4.2.0, entities@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
+env-paths@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
+ integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
+
+envinfo@^7.13.0:
+ version "7.19.0"
+ resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.19.0.tgz"
+ integrity sha512-DoSM9VyG6O3vqBf+p3Gjgr/Q52HYBBtO3v+4koAxt1MnWr+zEnxE+nke/yXS4lt2P4SYCHQ4V3f1i88LQVOpAw==
+
+error-ex@^1.3.1:
+ version "1.3.4"
+ resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz"
+ integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.6:
+ 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==
+ dependencies:
+ stackframe "^1.3.4"
+
+errorhandler@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz"
+ integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==
+ dependencies:
+ accepts "~1.3.7"
+ escape-html "~1.0.3"
+
+es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9, es-abstract@^1.24.0:
+ version "1.24.0"
+ resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz"
+ integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==
+ 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"
+
+es-define-property@^1.0.0, es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-iterator-helpers@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz"
+ integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.6"
+ es-errors "^1.3.0"
+ es-set-tostringtag "^2.0.3"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.6"
+ globalthis "^1.0.4"
+ gopd "^1.2.0"
+ has-property-descriptors "^1.0.2"
+ has-proto "^1.2.0"
+ has-symbols "^1.1.0"
+ internal-slot "^1.1.0"
+ iterator.prototype "^1.1.4"
+ safe-array-concat "^1.1.3"
+
+es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
+es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0:
+ 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==
+ dependencies:
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+es-shim-unscopables@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz"
+ integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==
+ dependencies:
+ hasown "^2.0.2"
+
+es-to-primitive@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz"
+ integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==
+ dependencies:
+ is-callable "^1.2.7"
+ is-date-object "^1.0.5"
+ is-symbol "^1.0.4"
+
+escalade@^3.1.1, escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-config-prettier@^10.1.8:
+ version "10.1.8"
+ resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz"
+ integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==
+
+eslint-config-prettier@^8.5.0:
+ version "8.10.2"
+ resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz"
+ integrity sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==
+
+eslint-plugin-eslint-comments@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz"
+ integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ ignore "^5.0.5"
+
+eslint-plugin-ft-flow@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-2.0.3.tgz"
+ integrity sha512-Vbsd/b+LYA99jUbsL6viEUWShFaYQt2YQs3QN3f+aeszOhh2sgdcU0mjzDyD4yyBvMc8qy2uwvBBWfMzEX06tg==
+ dependencies:
+ lodash "^4.17.21"
+ string-natural-compare "^3.0.1"
+
+eslint-plugin-jest@^29.0.1:
+ version "29.12.1"
+ resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.12.1.tgz"
+ integrity sha512-Rxo7r4jSANMBkXLICJKS0gjacgyopfNAsoS0e3R9AHnjoKuQOaaPfmsDJPi8UWwygI099OV/K/JhpYRVkxD4AA==
+ dependencies:
+ "@typescript-eslint/utils" "^8.0.0"
+
+eslint-plugin-prettier@^5.5.4:
+ version "5.5.4"
+ resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz"
+ integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==
+ dependencies:
+ prettier-linter-helpers "^1.0.0"
+ synckit "^0.11.7"
+
+eslint-plugin-react-hooks@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz"
+ integrity sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==
+
+eslint-plugin-react-native-globals@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz"
+ integrity sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==
+
+eslint-plugin-react-native@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/eslint-plugin-react-native/-/eslint-plugin-react-native-4.1.0.tgz"
+ integrity sha512-QLo7rzTBOl43FvVqDdq5Ql9IoElIuTdjrz9SKAXCvULvBoRZ44JGSkx9z4999ZusCsb4rK3gjS8gOGyeYqZv2Q==
+ dependencies:
+ eslint-plugin-react-native-globals "^0.1.1"
+
+eslint-plugin-react@^7.30.1:
+ version "7.37.5"
+ resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz"
+ integrity sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==
+ dependencies:
+ array-includes "^3.1.8"
+ array.prototype.findlast "^1.2.5"
+ array.prototype.flatmap "^1.3.3"
+ array.prototype.tosorted "^1.1.4"
+ doctrine "^2.1.0"
+ es-iterator-helpers "^1.2.1"
+ estraverse "^5.3.0"
+ hasown "^2.0.2"
+ jsx-ast-utils "^2.4.1 || ^3.0.0"
+ minimatch "^3.1.2"
+ object.entries "^1.1.9"
+ object.fromentries "^2.0.8"
+ object.values "^1.2.1"
+ prop-types "^15.8.1"
+ resolve "^2.0.0-next.5"
+ semver "^6.3.1"
+ string.prototype.matchall "^4.0.12"
+ string.prototype.repeat "^1.0.0"
+
+eslint-scope@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^7.2.2:
+ version "7.2.2"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
+ integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-visitor-keys@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
+ version "3.4.3"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
+ integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
+
+eslint-visitor-keys@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz"
+ integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
+
+eslint@^8.57.0:
+ version "8.57.1"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz"
+ integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
+ "@eslint-community/regexpp" "^4.6.1"
+ "@eslint/eslintrc" "^2.1.4"
+ "@eslint/js" "8.57.1"
+ "@humanwhocodes/config-array" "^0.13.0"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@nodelib/fs.walk" "^1.2.8"
+ "@ungap/structured-clone" "^1.2.0"
+ ajv "^6.12.4"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ doctrine "^3.0.0"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^7.2.2"
+ eslint-visitor-keys "^3.4.3"
+ espree "^9.6.1"
+ esquery "^1.4.2"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ globals "^13.19.0"
+ graphemer "^1.4.0"
+ ignore "^5.2.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ is-path-inside "^3.0.3"
+ js-yaml "^4.1.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.3"
+ strip-ansi "^6.0.1"
+ text-table "^0.2.0"
+
+espree@^9.6.0, espree@^9.6.1:
+ version "9.6.1"
+ resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
+ integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
+ dependencies:
+ acorn "^8.9.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^3.4.1"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.4.2:
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
+ integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+event-target-shim@^5.0.0:
+ 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==
+
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ 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"
+
+exit@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
+ integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
+
+expect@^29.0.0, expect@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz"
+ integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==
+ dependencies:
+ "@jest/expect-utils" "^29.7.0"
+ jest-get-type "^29.6.3"
+ jest-matcher-utils "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-util "^29.7.0"
+
+exponential-backoff@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz"
+ integrity sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==
+
+fast-base64-decode@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz"
+ integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-diff@^1.1.2:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
+ integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
+
+fast-glob@^3.3.2:
+ version "3.3.3"
+ resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
+ integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
+ 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"
+
+fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fast-uri@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz"
+ integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
+
+fast-xml-parser@^4.4.1:
+ version "4.5.3"
+ resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz"
+ integrity sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==
+ dependencies:
+ strnum "^1.1.1"
+
+fastq@^1.6.0:
+ version "1.19.1"
+ resolved "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz"
+ integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
+ dependencies:
+ reusify "^1.0.4"
+
+fault@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz"
+ integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
+ dependencies:
+ format "^0.2.0"
+
+faye-websocket@0.11.4:
+ version "0.11.4"
+ resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz"
+ integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+fb-dotslash@0.5.8:
+ version "0.5.8"
+ resolved "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz"
+ integrity sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==
+
+fb-watchman@^2.0.0, fb-watchman@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz"
+ integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
+ dependencies:
+ bser "2.1.1"
+
+fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
+
+file-entry-cache@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
+ integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+ dependencies:
+ flat-cache "^3.0.4"
+
+fill-range@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+filter-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz"
+ integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
+
+finalhandler@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
+ integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+ 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"
+
+find-up@^4.0.0, find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+find-up@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz"
+ integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==
+ dependencies:
+ locate-path "^7.2.0"
+ path-exists "^5.0.0"
+ unicorn-magic "^0.1.0"
+
+find-yarn-workspace-root@^2.0.0:
+ 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==
+ dependencies:
+ micromatch "^4.0.2"
+
+firebase@12.4.0:
+ version "12.4.0"
+ resolved "https://registry.npmjs.org/firebase/-/firebase-12.4.0.tgz"
+ integrity sha512-/chNgDQ6ppPPGOQO4jctxOa/5JeQxuhaxA7Y90K0I+n/wPfoO8mRveedhVUdo7ExLcWUivnnow/ouSLYSI5Icw==
+ dependencies:
+ "@firebase/ai" "2.4.0"
+ "@firebase/analytics" "0.10.19"
+ "@firebase/analytics-compat" "0.2.25"
+ "@firebase/app" "0.14.4"
+ "@firebase/app-check" "0.11.0"
+ "@firebase/app-check-compat" "0.4.0"
+ "@firebase/app-compat" "0.5.4"
+ "@firebase/app-types" "0.9.3"
+ "@firebase/auth" "1.11.0"
+ "@firebase/auth-compat" "0.6.0"
+ "@firebase/data-connect" "0.3.11"
+ "@firebase/database" "1.1.0"
+ "@firebase/database-compat" "2.1.0"
+ "@firebase/firestore" "4.9.2"
+ "@firebase/firestore-compat" "0.4.2"
+ "@firebase/functions" "0.13.1"
+ "@firebase/functions-compat" "0.4.1"
+ "@firebase/installations" "0.6.19"
+ "@firebase/installations-compat" "0.2.19"
+ "@firebase/messaging" "0.12.23"
+ "@firebase/messaging-compat" "0.2.23"
+ "@firebase/performance" "0.7.9"
+ "@firebase/performance-compat" "0.2.22"
+ "@firebase/remote-config" "0.7.0"
+ "@firebase/remote-config-compat" "0.2.20"
+ "@firebase/storage" "0.14.0"
+ "@firebase/storage-compat" "0.4.0"
+ "@firebase/util" "1.13.0"
+
+flat-cache@^3.0.4:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz"
+ integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
+ dependencies:
+ flatted "^3.2.9"
+ keyv "^4.5.3"
+ rimraf "^3.0.2"
+
+flatted@^3.2.9:
+ version "3.3.3"
+ resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz"
+ integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
+
+flow-enums-runtime@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz"
+ integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==
+
+follow-redirects@^1.15.6:
+ version "1.15.11"
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz"
+ integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
+
+for-each@^0.3.3, for-each@^0.3.5:
+ version "0.3.5"
+ resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz"
+ integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==
+ dependencies:
+ is-callable "^1.2.7"
+
+form-data@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz"
+ integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ es-set-tostringtag "^2.1.0"
+ hasown "^2.0.2"
+ mime-types "^2.1.12"
+
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz"
+ integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+fs-extra@^10.0.0:
+ version "10.1.0"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
+ integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-extra@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@^2.3.2, fsevents@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+function.prototype.name@^1.1.6, function.prototype.name@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz"
+ integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ functions-have-names "^1.2.3"
+ hasown "^2.0.2"
+ is-callable "^1.2.7"
+
+functions-have-names@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
+ integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+generator-function@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz"
+ integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==
+
+gensync@^1.0.0-beta.2:
+ 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==
+
+get-caller-file@^2.0.1, get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ 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"
+
+get-package-type@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz"
+ integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+
+get-proto@^1.0.0, get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-symbol-description@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz"
+ integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+
+git-raw-commits@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz"
+ integrity sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==
+ dependencies:
+ dargs "^8.0.0"
+ meow "^12.0.1"
+ split2 "^4.0.0"
+
+glob-parent@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+glob@^7.1.1, glob@^7.1.3, glob@^7.1.4:
+ version "7.2.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ 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"
+
+global-directory@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz"
+ integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==
+ dependencies:
+ ini "4.1.1"
+
+globals@^13.19.0:
+ version "13.24.0"
+ resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
+ integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
+ dependencies:
+ type-fest "^0.20.2"
+
+globalthis@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz"
+ integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==
+ dependencies:
+ define-properties "^1.2.1"
+ gopd "^1.0.1"
+
+gopd@^1.0.1, gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+ 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==
+
+graphemer@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
+ integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
+
+has-bigints@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz"
+ integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+ dependencies:
+ es-define-property "^1.0.0"
+
+has-proto@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz"
+ integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==
+ dependencies:
+ dunder-proto "^1.0.0"
+
+has-symbols@^1.0.3, has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
+has-tostringtag@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
+ dependencies:
+ has-symbols "^1.0.3"
+
+hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
+ dependencies:
+ function-bind "^1.1.2"
+
+hast-util-parse-selector@^2.0.0:
+ version "2.2.5"
+ resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz"
+ integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
+
+hastscript@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz"
+ integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==
+ dependencies:
+ "@types/hast" "^2.0.0"
+ comma-separated-tokens "^1.0.0"
+ hast-util-parse-selector "^2.0.0"
+ property-information "^5.0.0"
+ space-separated-tokens "^1.0.0"
+
+hermes-compiler@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-0.0.0.tgz"
+ integrity sha512-boVFutx6ME/Km2mB6vvsQcdnazEYYI/jV1pomx1wcFUG/EVqTkr5CU0CW9bKipOA/8Hyu3NYwW3THg2Q1kNCfA==
+
+hermes-estree@0.32.0:
+ version "0.32.0"
+ resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz"
+ integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==
+
+hermes-parser@0.32.0:
+ version "0.32.0"
+ resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz"
+ integrity sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==
+ dependencies:
+ hermes-estree "0.32.0"
+
+highlight.js@^10.4.1, highlight.js@~10.7.0:
+ version "10.7.3"
+ resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz"
+ integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
+
+highlightjs-vue@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz"
+ integrity sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==
+
+hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
+html-entities@^2.3.2:
+ version "2.6.0"
+ resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz"
+ integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==
+
+html-escaper@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz"
+ integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+
+htmlparser2@^7.1.2:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz"
+ integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.2"
+ domutils "^2.8.0"
+ entities "^3.0.1"
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
+http-parser-js@>=0.5.1:
+ version "0.5.10"
+ resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz"
+ integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==
+
+http-status-codes@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz"
+ integrity sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==
+
+https-proxy-agent@^7.0.5:
+ version "7.0.6"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz"
+ integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
+ dependencies:
+ agent-base "^7.1.2"
+ debug "4"
+
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+husky@^9.1.7:
+ version "9.1.7"
+ resolved "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz"
+ integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==
+
+iconv-lite@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+idb@7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz"
+ integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==
+
+ieee754@^1.1.13, ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^5.0.5, ignore@^5.2.0:
+ version "5.3.2"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz"
+ integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+
+ignore@^7.0.5:
+ version "7.0.5"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz"
+ integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
+
+image-size@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz"
+ integrity sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==
+ dependencies:
+ queue "6.0.2"
+
+import-fresh@^3.2.1, import-fresh@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-local@^3.0.2:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz"
+ integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==
+ dependencies:
+ pkg-dir "^4.2.0"
+ resolve-cwd "^3.0.0"
+
+import-meta-resolve@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz"
+ integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz"
+ integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
+
+internal-slot@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz"
+ integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==
+ dependencies:
+ es-errors "^1.3.0"
+ hasown "^2.0.2"
+ side-channel "^1.1.0"
+
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+is-alphabetical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz"
+ integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+
+is-alphanumerical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz"
+ integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
+is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
+ 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==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-arrayish@^0.3.1:
+ version "0.3.4"
+ resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz"
+ integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==
+
+is-async-function@^2.0.0:
+ 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==
+ 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"
+
+is-bigint@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz"
+ integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==
+ dependencies:
+ has-bigints "^1.0.2"
+
+is-boolean-object@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz"
+ integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-callable@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
+is-core-module@^2.13.0, is-core-module@^2.16.0:
+ version "2.16.1"
+ resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ dependencies:
+ hasown "^2.0.2"
+
+is-data-view@^1.0.1, is-data-view@^1.0.2:
+ 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==
+ dependencies:
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ is-typed-array "^1.1.13"
+
+is-date-object@^1.0.5, is-date-object@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz"
+ integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==
+ dependencies:
+ call-bound "^1.0.2"
+ has-tostringtag "^1.0.2"
+
+is-decimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz"
+ integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+
+is-docker@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-finalizationregistry@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz"
+ integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-fullwidth-code-point@^2.0.0:
+ 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==
+
+is-fullwidth-code-point@^3.0.0:
+ 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==
+
+is-generator-fn@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz"
+ integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
+
+is-generator-function@^1.0.10:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz"
+ integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==
+ 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"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hexadecimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz"
+ integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+
+is-interactive@^1.0.0:
+ 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==
+
+is-map@^2.0.3:
+ 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==
+
+is-negative-zero@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz"
+ integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
+
+is-number-object@^1.1.1:
+ 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==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-path-inside@^3.0.3:
+ 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==
+
+is-plain-obj@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-regex@^1.2.1:
+ 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==
+ dependencies:
+ call-bound "^1.0.2"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+is-set@^2.0.3:
+ 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==
+
+is-shared-array-buffer@^1.0.4:
+ 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==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-string@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz"
+ integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-symbol@^1.0.4, is-symbol@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz"
+ integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==
+ dependencies:
+ call-bound "^1.0.2"
+ has-symbols "^1.1.0"
+ safe-regex-test "^1.1.0"
+
+is-text-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz"
+ integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==
+ dependencies:
+ text-extensions "^2.0.0"
+
+is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz"
+ integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==
+ dependencies:
+ which-typed-array "^1.1.16"
+
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
+is-weakmap@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz"
+ integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
+
+is-weakref@^1.0.2, is-weakref@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz"
+ integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-weakset@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz"
+ integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"
+ integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
+
+is-wsl@^2.1.1, is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz"
+ integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
+
+istanbul-lib-instrument@^5.0.4:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz"
+ integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
+ dependencies:
+ "@babel/core" "^7.12.3"
+ "@babel/parser" "^7.14.7"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.2.0"
+ semver "^6.3.0"
+
+istanbul-lib-instrument@^6.0.0, istanbul-lib-instrument@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz"
+ integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==
+ dependencies:
+ "@babel/core" "^7.23.9"
+ "@babel/parser" "^7.23.9"
+ "@istanbuljs/schema" "^0.1.3"
+ istanbul-lib-coverage "^3.2.0"
+ semver "^7.5.4"
+
+istanbul-lib-report@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz"
+ integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
+ dependencies:
+ istanbul-lib-coverage "^3.0.0"
+ make-dir "^4.0.0"
+ supports-color "^7.1.0"
+
+istanbul-lib-source-maps@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz"
+ integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
+ dependencies:
+ debug "^4.1.1"
+ istanbul-lib-coverage "^3.0.0"
+ source-map "^0.6.1"
+
+istanbul-reports@^3.1.3:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz"
+ integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==
+ dependencies:
+ html-escaper "^2.0.0"
+ istanbul-lib-report "^3.0.0"
+
+iterator.prototype@^1.1.4:
+ version "1.1.5"
+ resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz"
+ integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.6"
+ get-proto "^1.0.0"
+ has-symbols "^1.1.0"
+ set-function-name "^2.0.2"
+
+jest-changed-files@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz"
+ integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==
+ dependencies:
+ execa "^5.0.0"
+ jest-util "^29.7.0"
+ p-limit "^3.1.0"
+
+jest-circus@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz"
+ integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==
+ dependencies:
+ "@jest/environment" "^29.7.0"
+ "@jest/expect" "^29.7.0"
+ "@jest/test-result" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ dedent "^1.0.0"
+ is-generator-fn "^2.0.0"
+ jest-each "^29.7.0"
+ jest-matcher-utils "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-runtime "^29.7.0"
+ jest-snapshot "^29.7.0"
+ jest-util "^29.7.0"
+ p-limit "^3.1.0"
+ pretty-format "^29.7.0"
+ pure-rand "^6.0.0"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+
+jest-cli@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz"
+ integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==
+ dependencies:
+ "@jest/core" "^29.7.0"
+ "@jest/test-result" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ chalk "^4.0.0"
+ create-jest "^29.7.0"
+ exit "^0.1.2"
+ import-local "^3.0.2"
+ jest-config "^29.7.0"
+ jest-util "^29.7.0"
+ jest-validate "^29.7.0"
+ yargs "^17.3.1"
+
+jest-config@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz"
+ integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/test-sequencer" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ babel-jest "^29.7.0"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ deepmerge "^4.2.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-circus "^29.7.0"
+ jest-environment-node "^29.7.0"
+ jest-get-type "^29.6.3"
+ jest-regex-util "^29.6.3"
+ jest-resolve "^29.7.0"
+ jest-runner "^29.7.0"
+ jest-util "^29.7.0"
+ jest-validate "^29.7.0"
+ micromatch "^4.0.4"
+ parse-json "^5.2.0"
+ pretty-format "^29.7.0"
+ slash "^3.0.0"
+ strip-json-comments "^3.1.1"
+
+jest-diff@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz"
+ integrity sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==
+ dependencies:
+ "@jest/diff-sequences" "30.0.1"
+ "@jest/get-type" "30.1.0"
+ chalk "^4.1.2"
+ pretty-format "30.2.0"
+
+jest-diff@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz"
+ integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^29.6.3"
+ jest-get-type "^29.6.3"
+ pretty-format "^29.7.0"
+
+jest-docblock@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz"
+ integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==
+ dependencies:
+ detect-newline "^3.0.0"
+
+jest-each@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz"
+ integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ chalk "^4.0.0"
+ jest-get-type "^29.6.3"
+ jest-util "^29.7.0"
+ pretty-format "^29.7.0"
+
+jest-environment-node@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz"
+ integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==
+ 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"
+
+jest-get-type@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz"
+ integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==
+
+jest-haste-map@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.2.0.tgz"
+ integrity sha512-sQA/jCb9kNt+neM0anSj6eZhLZUIhQgwDt7cPGjumgLM4rXsfb9kpnlacmvZz3Q5tb80nS+oG/if+NBKrHC+Xw==
+ dependencies:
+ "@jest/types" "30.2.0"
+ "@types/node" "*"
+ anymatch "^3.1.3"
+ fb-watchman "^2.0.2"
+ graceful-fs "^4.2.11"
+ jest-regex-util "30.0.1"
+ jest-util "30.2.0"
+ jest-worker "30.2.0"
+ micromatch "^4.0.8"
+ walker "^1.0.8"
+ optionalDependencies:
+ fsevents "^2.3.3"
+
+jest-haste-map@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz"
+ integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ "@types/graceful-fs" "^4.1.3"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-regex-util "^29.6.3"
+ jest-util "^29.7.0"
+ jest-worker "^29.7.0"
+ micromatch "^4.0.4"
+ walker "^1.0.8"
+ optionalDependencies:
+ fsevents "^2.3.2"
+
+jest-leak-detector@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz"
+ integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==
+ dependencies:
+ jest-get-type "^29.6.3"
+ pretty-format "^29.7.0"
+
+jest-matcher-utils@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz"
+ integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==
+ dependencies:
+ chalk "^4.0.0"
+ jest-diff "^29.7.0"
+ jest-get-type "^29.6.3"
+ pretty-format "^29.7.0"
+
+jest-matcher-utils@^30.0.5:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz"
+ integrity sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==
+ dependencies:
+ "@jest/get-type" "30.1.0"
+ chalk "^4.1.2"
+ jest-diff "30.2.0"
+ pretty-format "30.2.0"
+
+jest-message-util@^29.7.0:
+ 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==
+ 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"
+
+jest-mock@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz"
+ integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==
+ dependencies:
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ jest-util "^29.7.0"
+
+jest-pnp-resolver@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz"
+ integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
+
+jest-regex-util@30.0.1:
+ version "30.0.1"
+ resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz"
+ integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==
+
+jest-regex-util@^29.6.3:
+ version "29.6.3"
+ resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz"
+ integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==
+
+jest-resolve-dependencies@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz"
+ integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==
+ dependencies:
+ jest-regex-util "^29.6.3"
+ jest-snapshot "^29.7.0"
+
+jest-resolve@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz"
+ integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==
+ dependencies:
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.7.0"
+ jest-pnp-resolver "^1.2.2"
+ jest-util "^29.7.0"
+ jest-validate "^29.7.0"
+ resolve "^1.20.0"
+ resolve.exports "^2.0.0"
+ slash "^3.0.0"
+
+jest-runner@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz"
+ integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==
+ dependencies:
+ "@jest/console" "^29.7.0"
+ "@jest/environment" "^29.7.0"
+ "@jest/test-result" "^29.7.0"
+ "@jest/transform" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ emittery "^0.13.1"
+ graceful-fs "^4.2.9"
+ jest-docblock "^29.7.0"
+ jest-environment-node "^29.7.0"
+ jest-haste-map "^29.7.0"
+ jest-leak-detector "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-resolve "^29.7.0"
+ jest-runtime "^29.7.0"
+ jest-util "^29.7.0"
+ jest-watcher "^29.7.0"
+ jest-worker "^29.7.0"
+ p-limit "^3.1.0"
+ source-map-support "0.5.13"
+
+jest-runtime@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz"
+ integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==
+ dependencies:
+ "@jest/environment" "^29.7.0"
+ "@jest/fake-timers" "^29.7.0"
+ "@jest/globals" "^29.7.0"
+ "@jest/source-map" "^29.6.3"
+ "@jest/test-result" "^29.7.0"
+ "@jest/transform" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ cjs-module-lexer "^1.0.0"
+ collect-v8-coverage "^1.0.0"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-mock "^29.7.0"
+ jest-regex-util "^29.6.3"
+ jest-resolve "^29.7.0"
+ jest-snapshot "^29.7.0"
+ jest-util "^29.7.0"
+ slash "^3.0.0"
+ strip-bom "^4.0.0"
+
+jest-snapshot@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz"
+ integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@babel/generator" "^7.7.2"
+ "@babel/plugin-syntax-jsx" "^7.7.2"
+ "@babel/plugin-syntax-typescript" "^7.7.2"
+ "@babel/types" "^7.3.3"
+ "@jest/expect-utils" "^29.7.0"
+ "@jest/transform" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ babel-preset-current-node-syntax "^1.0.0"
+ chalk "^4.0.0"
+ expect "^29.7.0"
+ graceful-fs "^4.2.9"
+ jest-diff "^29.7.0"
+ jest-get-type "^29.6.3"
+ jest-matcher-utils "^29.7.0"
+ jest-message-util "^29.7.0"
+ jest-util "^29.7.0"
+ natural-compare "^1.4.0"
+ pretty-format "^29.7.0"
+ semver "^7.5.3"
+
+jest-util@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz"
+ integrity sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==
+ dependencies:
+ "@jest/types" "30.2.0"
+ "@types/node" "*"
+ chalk "^4.1.2"
+ ci-info "^4.2.0"
+ graceful-fs "^4.2.11"
+ picomatch "^4.0.2"
+
+jest-util@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz"
+ integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==
+ 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"
+
+jest-validate@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz"
+ integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==
+ 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"
+
+jest-watcher@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz"
+ integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==
+ dependencies:
+ "@jest/test-result" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ emittery "^0.13.1"
+ jest-util "^29.7.0"
+ string-length "^4.0.1"
+
+jest-worker@30.2.0:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-30.2.0.tgz"
+ integrity sha512-0Q4Uk8WF7BUwqXHuAjc23vmopWJw5WH7w2tqBoUOZpOjW/ZnR44GXXd1r82RvnmI2GZge3ivrYXk/BE2+VtW2g==
+ dependencies:
+ "@types/node" "*"
+ "@ungap/structured-clone" "^1.3.0"
+ jest-util "30.2.0"
+ merge-stream "^2.0.0"
+ supports-color "^8.1.1"
+
+jest-worker@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz"
+ integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==
+ dependencies:
+ "@types/node" "*"
+ jest-util "^29.7.0"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jest@^29.6.3:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz"
+ integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==
+ dependencies:
+ "@jest/core" "^29.7.0"
+ "@jest/types" "^29.6.3"
+ import-local "^3.0.2"
+ jest-cli "^29.7.0"
+
+jiti@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz"
+ integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==
+
+joi@^17.2.1:
+ version "17.13.3"
+ resolved "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz"
+ integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==
+ 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"
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+jsc-safe-url@^0.2.2:
+ 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==
+
+jsesc@^3.0.2, jsesc@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-parse-even-better-errors@^2.3.0:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+json-stable-stringify@^1.0.2:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz"
+ integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ isarray "^2.0.5"
+ jsonify "^0.0.1"
+ object-keys "^1.1.1"
+
+json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
+ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^6.0.1:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz"
+ integrity sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonify@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz"
+ integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
+
+jsonparse@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
+ integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
+
+"jsx-ast-utils@^2.4.1 || ^3.0.0":
+ version "3.3.5"
+ resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz"
+ integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
+ dependencies:
+ array-includes "^3.1.6"
+ array.prototype.flat "^1.3.1"
+ object.assign "^4.1.4"
+ object.values "^1.1.6"
+
+keyv@^4.5.3:
+ version "4.5.4"
+ resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
+ integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
+ dependencies:
+ json-buffer "3.0.1"
+
+klaw-sync@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz"
+ integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+
+kleur@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz"
+ integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
+launch-editor@^2.9.1:
+ version "2.11.1"
+ resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz"
+ integrity sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==
+ dependencies:
+ picocolors "^1.1.1"
+ shell-quote "^1.8.3"
+
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+lighthouse-logger@^1.0.0:
+ version "1.4.2"
+ resolved "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz"
+ integrity sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==
+ dependencies:
+ debug "^2.6.9"
+ marky "^1.2.2"
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+llama.rn@0.11.3:
+ version "0.11.3"
+ resolved "https://registry.npmjs.org/llama.rn/-/llama.rn-0.11.3.tgz"
+ integrity sha512-op4re/djQDYmtnxdO1FwdkJQsXsPIYHfrvr03nIFbxNzhVyMiFi96+c84+P6t9/Cxuxe4ckAJaMsqfGpK2j/Nw==
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+locate-path@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz"
+ integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==
+ dependencies:
+ p-locate "^6.0.0"
+
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"
+ integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz"
+ integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
+
+lodash.isobject@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz"
+ integrity sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
+lodash.kebabcase@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"
+ integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash.mergewith@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz"
+ integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==
+
+lodash.snakecase@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz"
+ integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==
+
+lodash.startcase@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz"
+ integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==
+
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
+ integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash.upperfirst@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz"
+ integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==
+
+lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+logkitty@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz"
+ integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==
+ dependencies:
+ ansi-fragments "^0.2.1"
+ dayjs "^1.8.15"
+ yargs "^15.1.0"
+
+"lokijs@npm:@nozbe/lokijs@1.5.12-wmelon6":
+ version "1.5.12-wmelon6"
+ resolved "https://registry.npmjs.org/@nozbe/lokijs/-/lokijs-1.5.12-wmelon6.tgz"
+ integrity sha512-GXsaqY8qTJ6xdCrGyno2t+ON2aj6PrUDdvhbrkxK/0Fp12C4FGvDg1wS+voLU9BANYHEnr7KRWfItDZnQkjoAg==
+
+long@^5.0.0:
+ version "5.3.2"
+ resolved "https://registry.npmjs.org/long/-/long-5.3.2.tgz"
+ integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==
+
+loose-envify@^1.0.0, loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz"
+ integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+ dependencies:
+ tslib "^2.0.3"
+
+lowlight@^1.17.0:
+ version "1.20.0"
+ resolved "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz"
+ integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
+ dependencies:
+ fault "^1.0.0"
+ highlight.js "~10.7.0"
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+make-dir@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz"
+ integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
+ dependencies:
+ semver "^7.5.3"
+
+makeerror@1.0.12:
+ version "1.0.12"
+ resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz"
+ integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
+ dependencies:
+ tmpl "1.0.5"
+
+marked@^16.4.0:
+ version "16.4.1"
+ resolved "https://registry.npmjs.org/marked/-/marked-16.4.1.tgz"
+ integrity sha512-ntROs7RaN3EvWfy3EZi14H4YxmT6A5YvywfhO+0pm+cH/dnSQRmdAmoFIc3B9aiwTehyk7pESH4ofyBY+V5hZg==
+
+marky@^1.2.2:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz"
+ integrity sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==
+
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
+mdn-data@2.0.28:
+ version "2.0.28"
+ resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz"
+ integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
+
+mdn-data@2.0.30:
+ version "2.0.30"
+ resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
+ integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+memoize-one@^5.0.0:
+ 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==
+
+meow@^12.0.1:
+ version "12.1.1"
+ resolved "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz"
+ integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==
+
+merge-options@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz"
+ integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==
+ dependencies:
+ is-plain-obj "^2.1.0"
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+metro-babel-transformer@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.3.tgz"
+ integrity sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ flow-enums-runtime "^0.0.6"
+ hermes-parser "0.32.0"
+ nullthrows "^1.1.1"
+
+metro-cache-key@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.3.tgz"
+ integrity sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+
+metro-cache@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.3.tgz"
+ integrity sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q==
+ dependencies:
+ exponential-backoff "^3.1.1"
+ flow-enums-runtime "^0.0.6"
+ https-proxy-agent "^7.0.5"
+ metro-core "0.83.3"
+
+metro-config@0.83.3, metro-config@^0.83.1:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-config/-/metro-config-0.83.3.tgz"
+ integrity sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA==
+ dependencies:
+ connect "^3.6.5"
+ flow-enums-runtime "^0.0.6"
+ jest-validate "^29.7.0"
+ metro "0.83.3"
+ metro-cache "0.83.3"
+ metro-core "0.83.3"
+ metro-runtime "0.83.3"
+ yaml "^2.6.1"
+
+metro-core@0.83.3, metro-core@^0.83.1:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.83.3.tgz"
+ integrity sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+ lodash.throttle "^4.1.1"
+ metro-resolver "0.83.3"
+
+metro-file-map@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.3.tgz"
+ integrity sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA==
+ dependencies:
+ debug "^4.4.0"
+ fb-watchman "^2.0.0"
+ flow-enums-runtime "^0.0.6"
+ graceful-fs "^4.2.4"
+ invariant "^2.2.4"
+ jest-worker "^29.7.0"
+ micromatch "^4.0.4"
+ nullthrows "^1.1.1"
+ walker "^1.0.7"
+
+metro-minify-terser@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.3.tgz"
+ integrity sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+ terser "^5.15.0"
+
+metro-resolver@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.3.tgz"
+ integrity sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+
+metro-runtime@0.83.3, metro-runtime@^0.83.1:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.3.tgz"
+ integrity sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw==
+ dependencies:
+ "@babel/runtime" "^7.25.0"
+ flow-enums-runtime "^0.0.6"
+
+metro-source-map@0.83.3, metro-source-map@^0.83.1:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.3.tgz"
+ integrity sha512-xkC3qwUBh2psVZgVavo8+r2C9Igkk3DibiOXSAht1aYRRcztEZNFtAMtfSB7sdO2iFMx2Mlyu++cBxz/fhdzQg==
+ dependencies:
+ "@babel/traverse" "^7.25.3"
+ "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3"
+ "@babel/types" "^7.25.2"
+ flow-enums-runtime "^0.0.6"
+ invariant "^2.2.4"
+ metro-symbolicate "0.83.3"
+ nullthrows "^1.1.1"
+ ob1 "0.83.3"
+ source-map "^0.5.6"
+ vlq "^1.0.0"
+
+metro-symbolicate@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.3.tgz"
+ integrity sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+ invariant "^2.2.4"
+ metro-source-map "0.83.3"
+ nullthrows "^1.1.1"
+ source-map "^0.5.6"
+ vlq "^1.0.0"
+
+metro-transform-plugins@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.3.tgz"
+ integrity sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/generator" "^7.25.0"
+ "@babel/template" "^7.25.0"
+ "@babel/traverse" "^7.25.3"
+ flow-enums-runtime "^0.0.6"
+ nullthrows "^1.1.1"
+
+metro-transform-worker@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.3.tgz"
+ integrity sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA==
+ dependencies:
+ "@babel/core" "^7.25.2"
+ "@babel/generator" "^7.25.0"
+ "@babel/parser" "^7.25.3"
+ "@babel/types" "^7.25.2"
+ flow-enums-runtime "^0.0.6"
+ metro "0.83.3"
+ metro-babel-transformer "0.83.3"
+ metro-cache "0.83.3"
+ metro-cache-key "0.83.3"
+ metro-minify-terser "0.83.3"
+ metro-source-map "0.83.3"
+ metro-transform-plugins "0.83.3"
+ nullthrows "^1.1.1"
+
+metro@0.83.3, metro@^0.83.1:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/metro/-/metro-0.83.3.tgz"
+ integrity sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q==
+ dependencies:
+ "@babel/code-frame" "^7.24.7"
+ "@babel/core" "^7.25.2"
+ "@babel/generator" "^7.25.0"
+ "@babel/parser" "^7.25.3"
+ "@babel/template" "^7.25.0"
+ "@babel/traverse" "^7.25.3"
+ "@babel/types" "^7.25.2"
+ accepts "^1.3.7"
+ chalk "^4.0.0"
+ ci-info "^2.0.0"
+ connect "^3.6.5"
+ debug "^4.4.0"
+ error-stack-parser "^2.0.6"
+ flow-enums-runtime "^0.0.6"
+ graceful-fs "^4.2.4"
+ hermes-parser "0.32.0"
+ image-size "^1.0.2"
+ invariant "^2.2.4"
+ jest-worker "^29.7.0"
+ jsc-safe-url "^0.2.2"
+ lodash.throttle "^4.1.1"
+ metro-babel-transformer "0.83.3"
+ metro-cache "0.83.3"
+ metro-cache-key "0.83.3"
+ metro-config "0.83.3"
+ metro-core "0.83.3"
+ metro-file-map "0.83.3"
+ metro-resolver "0.83.3"
+ metro-runtime "0.83.3"
+ metro-source-map "0.83.3"
+ metro-symbolicate "0.83.3"
+ metro-transform-plugins "0.83.3"
+ metro-transform-worker "0.83.3"
+ mime-types "^2.1.27"
+ nullthrows "^1.1.1"
+ serialize-error "^2.1.0"
+ source-map "^0.5.6"
+ throat "^5.0.0"
+ ws "^7.5.10"
+ yargs "^17.6.2"
+
+micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
+ dependencies:
+ braces "^3.0.3"
+ picomatch "^2.3.1"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+"mime-db@>= 1.43.0 < 2":
+ version "1.54.0"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz"
+ integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
+
+mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.4.1:
+ version "2.6.0"
+ resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz"
+ integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+min-indent@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
+ integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
+minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^9.0.5:
+ version "9.0.5"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimist@^1.2.6, minimist@^1.2.8:
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mobx-persist-store@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.npmjs.org/mobx-persist-store/-/mobx-persist-store-1.1.8.tgz"
+ integrity sha512-7SiLvang0POfGvfP69fzmppBKv36e0TNndKJT1UokZuLXt13CqF3PAxIcRacHqjTBe4ktmzDsh3DK+fbM6epNg==
+
+mobx-react-lite@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.1.1.tgz"
+ integrity sha512-iUxiMpsvNraCKXU+yPotsOncNNmyeS2B5DKL+TL6Tar/xm+wwNJAubJmtRSeAoYawdZqwv8Z/+5nPRHeQxTiXg==
+ dependencies:
+ use-sync-external-store "^1.4.0"
+
+mobx-react@^9.2.1:
+ version "9.2.1"
+ resolved "https://registry.npmjs.org/mobx-react/-/mobx-react-9.2.1.tgz"
+ integrity sha512-WJNNm0FB2n0Z0u+jS1QHmmWyV8l2WiAj8V8I/96kbUEN2YbYCoKW+hbbqKKRUBqElu0llxM7nWKehvRIkhBVJw==
+ dependencies:
+ mobx-react-lite "^4.1.1"
+
+mobx@^6.15.0:
+ version "6.15.0"
+ resolved "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz"
+ integrity sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.3, ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+mustache@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz"
+ integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==
+
+nanoid@^3.3.1, nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+negotiator@~0.6.4:
+ version "0.6.4"
+ resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz"
+ integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
+
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz"
+ integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+ dependencies:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
+nocache@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz"
+ integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==
+
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz"
+ integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+
+node-releases@^2.0.21:
+ version "2.0.25"
+ resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.25.tgz"
+ integrity sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==
+
+node-stream-zip@^1.9.1:
+ version "1.15.0"
+ resolved "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz"
+ integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==
+
+normalize-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
+nullthrows@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz"
+ integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
+
+nunjucks@^3.2.4:
+ version "3.2.4"
+ resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz"
+ integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==
+ dependencies:
+ a-sync-waterfall "^1.0.0"
+ asap "^2.0.3"
+ commander "^5.1.0"
+
+ob1@0.83.3:
+ version "0.83.3"
+ resolved "https://registry.npmjs.org/ob1/-/ob1-0.83.3.tgz"
+ integrity sha512-egUxXCDwoWG06NGCS5s5AdcpnumHKJlfd3HH06P3m9TEMwwScfcY35wpQxbm9oHof+dM/lVH9Rfyu1elTVelSA==
+ dependencies:
+ flow-enums-runtime "^0.0.6"
+
+object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-inspect@^1.13.3, object-inspect@^1.13.4:
+ version "1.13.4"
+ resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.4, object.assign@^4.1.7:
+ version "4.1.7"
+ resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz"
+ integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
+ 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"
+
+object.entries@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz"
+ integrity sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.1.1"
+
+object.fromentries@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz"
+ integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-object-atoms "^1.0.0"
+
+object.values@^1.1.6, object.values@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz"
+ integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
+ integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz"
+ integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+onetime@^5.1.0, onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+open@^6.2.0:
+ version "6.4.0"
+ resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz"
+ integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
+ dependencies:
+ is-wsl "^1.1.0"
+
+open@^7.0.3, open@^7.4.2:
+ version "7.4.2"
+ resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz"
+ integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
+ dependencies:
+ is-docker "^2.0.0"
+ is-wsl "^2.1.1"
+
+optionator@^0.9.3:
+ version "0.9.4"
+ resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz"
+ integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.5"
+
+ora@^5.4.1:
+ version "5.4.1"
+ resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz"
+ integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
+ 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"
+
+own-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz"
+ integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==
+ dependencies:
+ get-intrinsic "^1.2.6"
+ object-keys "^1.1.1"
+ safe-push-apply "^1.0.0"
+
+p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-limit@^3.0.2, p-limit@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-limit@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz"
+ integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==
+ dependencies:
+ yocto-queue "^1.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-locate@^5.0.0:
+ 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==
+ dependencies:
+ p-limit "^3.0.2"
+
+p-locate@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz"
+ integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==
+ dependencies:
+ p-limit "^4.0.0"
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz"
+ integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+parse-json@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+patch-package@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz"
+ integrity sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==
+ dependencies:
+ "@yarnpkg/lockfile" "^1.1.0"
+ chalk "^4.1.2"
+ ci-info "^3.7.0"
+ cross-spawn "^7.0.3"
+ find-yarn-workspace-root "^2.0.0"
+ fs-extra "^10.0.0"
+ json-stable-stringify "^1.0.2"
+ klaw-sync "^6.0.0"
+ minimist "^1.2.6"
+ open "^7.4.2"
+ semver "^7.5.3"
+ slash "^2.0.0"
+ tmp "^0.2.4"
+ yaml "^2.2.2"
+
+path-dirname@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"
+ integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-exists@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz"
+ integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+picocolors@^1.0.0, picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+picomatch@^4.0.2, picomatch@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz"
+ integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
+
+pirates@^4.0.4, pirates@^4.0.7:
+ version "4.0.7"
+ resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz"
+ integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
+
+pkg-dir@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
+possible-typed-array-names@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz"
+ integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==
+
+postcss-value-parser@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postinstall-postinstall@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz"
+ integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prettier-linter-helpers@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz"
+ integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
+ dependencies:
+ fast-diff "^1.1.2"
+
+prettier@3.6.2:
+ version "3.6.2"
+ resolved "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz"
+ integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==
+
+pretty-format@30.2.0, pretty-format@^30.0.5:
+ version "30.2.0"
+ resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz"
+ integrity sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==
+ dependencies:
+ "@jest/schemas" "30.0.5"
+ ansi-styles "^5.2.0"
+ react-is "^18.3.1"
+
+pretty-format@^29.0.0, pretty-format@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz"
+ integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==
+ dependencies:
+ "@jest/schemas" "^29.6.3"
+ ansi-styles "^5.0.0"
+ react-is "^18.0.0"
+
+prismjs@^1.27.0, prismjs@^1.30.0:
+ version "1.30.0"
+ resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz"
+ integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==
+
+prismjs@~1.27.0:
+ version "1.27.0"
+ resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz"
+ integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
+
+promise@^8.3.0:
+ version "8.3.0"
+ resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz"
+ integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==
+ dependencies:
+ asap "~2.0.6"
+
+prompts@^2.0.1, prompts@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz"
+ integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.5"
+
+prop-types@^15.5.7, prop-types@^15.7.2, prop-types@^15.7.x, prop-types@^15.8.1:
+ version "15.8.1"
+ resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
+ integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.13.1"
+
+property-information@^5.0.0:
+ version "5.6.0"
+ resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz"
+ integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
+ dependencies:
+ xtend "^4.0.0"
+
+protobufjs@^7.2.5:
+ version "7.5.4"
+ resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz"
+ integrity sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/node" ">=13.7.0"
+ long "^5.0.0"
+
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+pure-rand@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz"
+ integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
+
+qs@6.13.0:
+ version "6.13.0"
+ resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz"
+ integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
+ dependencies:
+ side-channel "^1.0.6"
+
+query-string@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz"
+ integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==
+ dependencies:
+ decode-uri-component "^0.2.2"
+ filter-obj "^1.1.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+queue@6.0.2:
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz"
+ integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
+ dependencies:
+ inherits "~2.0.3"
+
+ramda@^0.27.2:
+ version "0.27.2"
+ resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz"
+ integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.2:
+ version "2.5.2"
+ resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
+ integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
+ dependencies:
+ bytes "3.1.2"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+react-devtools-core@^6.1.5:
+ version "6.1.5"
+ resolved "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz"
+ integrity sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==
+ dependencies:
+ shell-quote "^1.6.1"
+ ws "^7"
+
+react-error-boundary@^3.1.0:
+ version "3.1.4"
+ resolved "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz"
+ integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+
+react-freeze@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.4.tgz"
+ integrity sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==
+
+react-hook-form@^7.65.0:
+ version "7.65.0"
+ resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.65.0.tgz"
+ integrity sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw==
+
+react-is@^16.13.1, react-is@^16.7.0:
+ version "16.13.1"
+ resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-is@^18.0.0, react-is@^18.3.1:
+ 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==
+
+react-is@^19.1.0, react-is@^19.1.1:
+ version "19.2.0"
+ resolved "https://registry.npmjs.org/react-is/-/react-is-19.2.0.tgz"
+ integrity sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==
+
+react-native-code-highlighter@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/react-native-code-highlighter/-/react-native-code-highlighter-1.3.0.tgz"
+ integrity sha512-Hd6YSHRfkrZBxmiujMBkIKvG2g8YIUllqnjJ6hEBGUGfiSlwu50SzGathW25pL2Ab3rT4doMSu8fIKGZPqxGSA==
+ dependencies:
+ css-to-react-native "3.2.0"
+ react-syntax-highlighter "15.6.1"
+ trim-newlines "5.0.0"
+
+react-native-config@1.5.5:
+ version "1.5.5"
+ resolved "https://registry.npmjs.org/react-native-config/-/react-native-config-1.5.5.tgz"
+ integrity sha512-dGdLnBU0cd5xL5bF0ROTmHYbsstZnQKOEPfglvZi1vStvAjpld14X25K6mY3KGPTMWAzx6TbjKeq5dR+ILuMMA==
+
+react-native-device-info@^14.1.1:
+ version "14.1.1"
+ resolved "https://registry.npmjs.org/react-native-device-info/-/react-native-device-info-14.1.1.tgz"
+ integrity sha512-lXFpe6DJmzbQXNLWxlMHP2xuTU5gwrKAvI8dCAZuERhW9eOXSubOQIesk9lIBnsi9pI19GMrcpJEvs4ARPRYmw==
+
+react-native-dotenv@^3.4.11:
+ version "3.4.11"
+ resolved "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-3.4.11.tgz"
+ integrity sha512-6vnIE+WHABSeHCaYP6l3O1BOEhWxKH6nHAdV7n/wKn/sciZ64zPPp2NUdEUf1m7g4uuzlLbjgr+6uDt89q2DOg==
+ dependencies:
+ dotenv "^16.4.5"
+
+react-native-drawer-layout@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.2.1.tgz"
+ integrity sha512-liwRJ7ynRU/ogRlUdiK1Yoi1VzUSq2Vu/RU+UgqlMB3XduslZ1DZg/mTX0f1uCEV2dJ4ec+1fRa3OlIierfyZg==
+ dependencies:
+ color "^4.2.3"
+ use-latest-callback "^0.2.4"
+
+react-native-gesture-handler@^2.28.0:
+ version "2.28.0"
+ resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.28.0.tgz"
+ integrity sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A==
+ dependencies:
+ "@egjs/hammerjs" "^2.0.17"
+ hoist-non-react-statics "^3.3.0"
+ invariant "^2.2.4"
+
+react-native-get-random-values@^1.11.0:
+ version "1.11.0"
+ resolved "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz"
+ integrity sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==
+ dependencies:
+ fast-base64-decode "^1.0.0"
+
+react-native-haptic-feedback@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.npmjs.org/react-native-haptic-feedback/-/react-native-haptic-feedback-2.3.3.tgz"
+ integrity sha512-svS4D5PxfNv8o68m9ahWfwje5NqukM3qLS48+WTdhbDkNUkOhP9rDfDSRHzlhk4zq+ISjyw95EhLeh8NkKX5vQ==
+
+react-native-image-picker@^8.2.1:
+ version "8.2.1"
+ resolved "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-8.2.1.tgz"
+ integrity sha512-FBeGYJGFDjMdGCcyubDJgBAPCQ4L1D3hwLXyUU91jY9ahOZMTbluceVvRmrEKqnDPFJ0gF1NVhJ0nr1nROFLdg==
+
+react-native-image-viewing@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/react-native-image-viewing/-/react-native-image-viewing-0.2.2.tgz"
+ integrity sha512-osWieG+p/d2NPbAyonOMubttajtYEYiRGQaJA54slFxZ69j1V4/dCmcrVQry47ktVKy8/qpFwCpW1eT6MH5T2Q==
+
+react-native-is-edge-to-edge@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.2.1.tgz"
+ integrity sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==
+
+react-native-keyboard-controller@^1.19.1:
+ version "1.19.1"
+ resolved "https://registry.npmjs.org/react-native-keyboard-controller/-/react-native-keyboard-controller-1.19.1.tgz"
+ integrity sha512-+/jWtRfWQtq7Akr73x9y0iJJ4NPoENrBpNKDU/s65HeUH8VAzXz+Fq7kFSObJx5UVelRN/d8njTK/tMrs4a/hA==
+ dependencies:
+ react-native-is-edge-to-edge "^1.2.1"
+
+react-native-keychain@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-10.0.0.tgz"
+ integrity sha512-YzPKSAnSzGEJ12IK6CctNLU79T1W15WDrElRQ+1/FsOazGX9ucFPTQwgYe8Dy8jiSEDJKM4wkVa3g4lD2Z+Pnw==
+
+react-native-linear-gradient@^2.8.3:
+ version "2.8.3"
+ resolved "https://registry.npmjs.org/react-native-linear-gradient/-/react-native-linear-gradient-2.8.3.tgz"
+ integrity sha512-KflAXZcEg54PXkLyflaSZQ3PJp4uC4whM7nT/Uot9m0e/qxFV3p6uor1983D1YOBJbJN7rrWdqIjq0T42jOJyA==
+
+react-native-paper@5.14.5:
+ version "5.14.5"
+ resolved "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.14.5.tgz"
+ integrity sha512-eaIH5bUQjJ/mYm4AkI6caaiyc7BcHDwX6CqNDi6RIxfxfWxROsHpll1oBuwn/cFvknvA8uEAkqLk/vzVihI3AQ==
+ dependencies:
+ "@callstack/react-theme-provider" "^3.0.9"
+ color "^3.1.2"
+ use-latest-callback "^0.2.3"
+
+react-native-parsed-text@^0.0.22:
+ version "0.0.22"
+ resolved "https://registry.npmjs.org/react-native-parsed-text/-/react-native-parsed-text-0.0.22.tgz"
+ integrity sha512-hfD83RDXZf9Fvth3DowR7j65fMnlqM9PpxZBGWkzVcUTFtqe6/yPcIoIAgrJbKn6YmtzkivmhWE2MCE4JKBXrQ==
+ dependencies:
+ prop-types "^15.7.x"
+
+react-native-picker-select@^9.3.1:
+ version "9.3.1"
+ resolved "https://registry.npmjs.org/react-native-picker-select/-/react-native-picker-select-9.3.1.tgz"
+ integrity sha512-o621HcsKJfJkpYeP/PZQiZTKbf8W7FT08niLFL0v1pGkIQyak5IfzfinV2t+/l1vktGwAH2Tt29LrP/Hc5fk3A==
+ dependencies:
+ lodash.isequal "^4.5.0"
+ lodash.isobject "^3.0.2"
+
+react-native-reanimated@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.1.3.tgz"
+ integrity sha512-GP8wsi1u3nqvC1fMab/m8gfFwFyldawElCcUSBJQgfrXeLmsPPUOpDw44lbLeCpcwUuLa05WTVePdTEwCLTUZg==
+ dependencies:
+ react-native-is-edge-to-edge "^1.2.1"
+ semver "7.7.2"
+
+react-native-render-html@^6.3.4:
+ version "6.3.4"
+ resolved "https://registry.npmjs.org/react-native-render-html/-/react-native-render-html-6.3.4.tgz"
+ integrity sha512-H2jSMzZjidE+Wo3qCWPUMU1nm98Vs2SGCvQCz/i6xf0P3Y9uVtG/b0sDbG/cYFir2mSYBYCIlS1Dv0WC1LjYig==
+ dependencies:
+ "@jsamr/counter-style" "^2.0.1"
+ "@jsamr/react-native-li" "^2.3.0"
+ "@native-html/transient-render-engine" "11.2.3"
+ "@types/ramda" "^0.27.40"
+ "@types/urijs" "^1.19.15"
+ prop-types "^15.5.7"
+ ramda "^0.27.2"
+ stringify-entities "^3.1.0"
+ urijs "^1.19.6"
+
+react-native-safe-area-context@^5.6.1:
+ version "5.6.1"
+ resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.6.1.tgz"
+ integrity sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==
+
+react-native-screens@^4.19.0:
+ version "4.19.0"
+ resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.19.0.tgz"
+ integrity sha512-qSDAO3AL5bti0Ri7KZRSVmWlhDr8MV86N5GruiKVQfEL7Zx2nUi3Dl62lqHUAD/LnDvOPuDDsMHCfIpYSv3hPQ==
+ dependencies:
+ react-freeze "^1.0.0"
+ warn-once "^0.1.0"
+
+react-native-share@^12.2.0:
+ version "12.2.0"
+ resolved "https://registry.npmjs.org/react-native-share/-/react-native-share-12.2.0.tgz"
+ integrity sha512-f6MB9BsKa9xVvu0DKbxq5jw4IyYHqQeqUlCNkD8eAFoJx6SD31ObPAn7SQ6NG9AOuhCy6aYuSJYJvx25DaoMZQ==
+
+react-native-svg-transformer@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-1.5.1.tgz"
+ integrity sha512-dFvBNR8A9VPum9KCfh+LE49YiJEF8zUSnEFciKQroR/bEOhlPoZA0SuQ0qNk7m2iZl2w59FYjdRe0pMHWMDl0Q==
+ dependencies:
+ "@svgr/core" "^8.1.0"
+ "@svgr/plugin-jsx" "^8.1.0"
+ "@svgr/plugin-svgo" "^8.1.0"
+ path-dirname "^1.0.2"
+
+react-native-svg@^15.13.0:
+ version "15.14.0"
+ resolved "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.14.0.tgz"
+ integrity sha512-B3gYc7WztcOT4N54AtUutbe0Nuqqh/nkresY0fAXzUHYLsWuIu/yGiCCD3DKfAs6GLv5LFtWTu7N333Q+e3bkg==
+ dependencies:
+ css-select "^5.1.0"
+ css-tree "^1.1.3"
+ warn-once "0.1.1"
+
+react-native-url-polyfill@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-3.0.0.tgz"
+ integrity sha512-aA5CiuUCUb/lbrliVCJ6lZ17/RpNJzvTO/C7gC/YmDQhTUoRD5q5HlJfwLWcxz4VgAhHwXKzhxH+wUN24tAdqg==
+ dependencies:
+ whatwg-url-without-unicode "8.0.0-3"
+
+react-native-vector-icons@^10.3.0:
+ version "10.3.0"
+ resolved "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.3.0.tgz"
+ integrity sha512-IFQ0RE57819hOUdFvgK4FowM5aMXg7C7XKsuGLevqXkkIJatc3QopN0wYrb2IrzUgmdpfP+QVIbI3S6h7M0btw==
+ dependencies:
+ prop-types "^15.7.2"
+ yargs "^16.1.1"
+
+react-native-vision-camera@^4.7.2:
+ version "4.7.2"
+ resolved "https://registry.npmjs.org/react-native-vision-camera/-/react-native-vision-camera-4.7.2.tgz"
+ integrity sha512-C+5PvlSunN6I4aYplSask+v3jfhgduZumIVw6H6lG+Afpf8boIcG3uFSsSfVgj+hxI7fx6qM6bsciEhzgxEUYg==
+
+react-native-worklets@^0.6.0:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/react-native-worklets/-/react-native-worklets-0.6.1.tgz"
+ integrity sha512-URca8l7c7Uog7gv4mcg9KILdJlnbvwdS5yfXQYf5TDkD2W1VY1sduEKrD+sA3lUPXH/TG1vmXAvNxCNwPMYgGg==
+ dependencies:
+ "@babel/plugin-transform-arrow-functions" "^7.0.0-0"
+ "@babel/plugin-transform-class-properties" "^7.0.0-0"
+ "@babel/plugin-transform-classes" "^7.0.0-0"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0"
+ "@babel/plugin-transform-optional-chaining" "^7.0.0-0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0-0"
+ "@babel/plugin-transform-template-literals" "^7.0.0-0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0-0"
+ "@babel/preset-typescript" "^7.16.7"
+ convert-source-map "^2.0.0"
+ semver "7.7.2"
+
+react-native@0.82.1:
+ version "0.82.1"
+ resolved "https://registry.npmjs.org/react-native/-/react-native-0.82.1.tgz"
+ integrity sha512-tFAqcU7Z4g49xf/KnyCEzI4nRTu1Opcx05Ov2helr8ZTg1z7AJR/3sr2rZ+AAVlAs2IXk+B0WOxXGmdD3+4czA==
+ dependencies:
+ "@jest/create-cache-key-function" "^29.7.0"
+ "@react-native/assets-registry" "0.82.1"
+ "@react-native/codegen" "0.82.1"
+ "@react-native/community-cli-plugin" "0.82.1"
+ "@react-native/gradle-plugin" "0.82.1"
+ "@react-native/js-polyfills" "0.82.1"
+ "@react-native/normalize-colors" "0.82.1"
+ "@react-native/virtualized-lists" "0.82.1"
+ abort-controller "^3.0.0"
+ anser "^1.4.9"
+ ansi-regex "^5.0.0"
+ babel-jest "^29.7.0"
+ babel-plugin-syntax-hermes-parser "0.32.0"
+ base64-js "^1.5.1"
+ commander "^12.0.0"
+ flow-enums-runtime "^0.0.6"
+ glob "^7.1.1"
+ hermes-compiler "0.0.0"
+ invariant "^2.2.4"
+ jest-environment-node "^29.7.0"
+ memoize-one "^5.0.0"
+ metro-runtime "^0.83.1"
+ metro-source-map "^0.83.1"
+ nullthrows "^1.1.1"
+ pretty-format "^29.7.0"
+ promise "^8.3.0"
+ react-devtools-core "^6.1.5"
+ react-refresh "^0.14.0"
+ regenerator-runtime "^0.13.2"
+ scheduler "0.26.0"
+ semver "^7.1.3"
+ stacktrace-parser "^0.1.10"
+ whatwg-fetch "^3.0.0"
+ ws "^6.2.3"
+ yargs "^17.6.2"
+
+react-refresh@^0.14.0:
+ version "0.14.2"
+ resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz"
+ integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==
+
+react-syntax-highlighter@15.6.1:
+ version "15.6.1"
+ resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.1.tgz"
+ integrity sha512-OqJ2/vL7lEeV5zTJyG7kmARppUjiB9h9udl4qHQjjgEos66z00Ia0OckwYfRxCSFrW8RJIBnsBwQsHZbVPspqg==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ highlight.js "^10.4.1"
+ highlightjs-vue "^1.0.0"
+ lowlight "^1.17.0"
+ prismjs "^1.27.0"
+ refractor "^3.6.0"
+
+react-syntax-highlighter@^15.6.6:
+ version "15.6.6"
+ resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.6.6.tgz"
+ integrity sha512-DgXrc+AZF47+HvAPEmn7Ua/1p10jNoVZVI/LoPiYdtY+OM+/nG5yefLHKJwdKqY1adMuHFbeyBaG9j64ML7vTw==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ highlight.js "^10.4.1"
+ highlightjs-vue "^1.0.0"
+ lowlight "^1.17.0"
+ prismjs "^1.30.0"
+ refractor "^3.6.0"
+
+react-test-renderer@19.1.1:
+ version "19.1.1"
+ resolved "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-19.1.1.tgz"
+ integrity sha512-aGRXI+zcBTtg0diHofc7+Vy97nomBs9WHHFY1Csl3iV0x6xucjNYZZAkiVKGiNYUv23ecOex5jE67t8ZzqYObA==
+ dependencies:
+ react-is "^19.1.1"
+ scheduler "^0.26.0"
+
+react@19.1.1:
+ version "19.1.1"
+ resolved "https://registry.npmjs.org/react/-/react-19.1.1.tgz"
+ integrity sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==
+
+readable-stream@^3.4.0:
+ version "3.6.2"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz"
+ integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+ dependencies:
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
+
+reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
+ 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==
+ 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"
+
+refractor@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz"
+ integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==
+ dependencies:
+ hastscript "^6.0.0"
+ parse-entities "^2.0.0"
+ prismjs "~1.27.0"
+
+regenerate-unicode-properties@^10.2.2:
+ 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==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.13.2:
+ version "0.13.11"
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
+ integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
+
+regenerator-runtime@^0.14.0:
+ version "0.14.1"
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
+ integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
+
+regexp.prototype.flags@^1.5.3, regexp.prototype.flags@^1.5.4:
+ 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==
+ 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"
+
+regexpu-core@^6.2.0:
+ version "6.4.0"
+ resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz"
+ integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==
+ 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"
+
+regjsgen@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz"
+ integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz"
+ integrity sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==
+ dependencies:
+ jsesc "~3.1.0"
+
+require-directory@^2.1.1:
+ 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==
+
+require-from-string@^2.0.2:
+ 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==
+
+require-main-filename@^2.0.0:
+ 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==
+
+resolve-cwd@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
+ integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+ dependencies:
+ resolve-from "^5.0.0"
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve.exports@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz"
+ integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==
+
+resolve@^1.20.0, resolve@^1.22.10:
+ version "1.22.10"
+ resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz"
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
+ dependencies:
+ is-core-module "^2.16.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+resolve@^2.0.0-next.5:
+ version "2.0.0-next.5"
+ resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz"
+ integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+reusify@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz"
+ integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+rxjs@^7.8.1:
+ version "7.8.2"
+ resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz"
+ integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==
+ dependencies:
+ tslib "^2.1.0"
+
+safe-array-concat@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz"
+ integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ has-symbols "^1.1.0"
+ isarray "^2.0.5"
+
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-push-apply@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz"
+ integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==
+ dependencies:
+ es-errors "^1.3.0"
+ isarray "^2.0.5"
+
+safe-regex-test@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz"
+ integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-regex "^1.2.1"
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+scheduler@0.26.0, scheduler@^0.26.0:
+ version "0.26.0"
+ resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz"
+ integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==
+
+semver@7.7.2:
+ version "7.7.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
+
+semver@^6.3.0, semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.1.3, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.3:
+ version "7.7.3"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz"
+ integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==
+
+send@0.19.0:
+ version "0.19.0"
+ resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
+ integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
+ 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"
+
+serialize-error@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz"
+ integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==
+
+serve-static@^1.13.1, serve-static@^1.16.2:
+ version "1.16.2"
+ resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz"
+ integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
+ dependencies:
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.19.0"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+set-function-length@^1.2.2:
+ 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==
+ 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"
+
+set-function-name@^2.0.2:
+ 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==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ functions-have-names "^1.2.3"
+ has-property-descriptors "^1.0.2"
+
+set-proto@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz"
+ integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+shell-quote@^1.6.1, shell-quote@^1.8.3:
+ version "1.8.3"
+ resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz"
+ integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
+
+side-channel-list@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+
+side-channel-map@^1.0.1:
+ 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==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ 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"
+
+side-channel@^1.0.6, side-channel@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
+
+signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+ version "3.0.7"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+signal-exit@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
+ integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+
+simple-swizzle@^0.2.2:
+ version "0.2.4"
+ resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz"
+ integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==
+ dependencies:
+ is-arrayish "^0.3.1"
+
+sisteransi@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz"
+ integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz"
+ integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
+source-map-js@^1.0.1:
+ 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==
+
+source-map-support@0.5.13:
+ version "0.5.13"
+ resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz"
+ integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-support@~0.5.20:
+ 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==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+
+source-map@^0.6.0, source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+space-separated-tokens@^1.0.0:
+ version "1.1.5"
+ resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz"
+ integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
+split2@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz"
+ integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+sql-escape-string@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/sql-escape-string/-/sql-escape-string-1.1.0.tgz"
+ integrity sha512-/kqO4pLZSLfV0KsBM2xkVh2S3GbjJJone37d7gYwLyP0c+REh3vnmkhQ7VwNrX76igC0OhJWpTg0ukkdef9vvA==
+
+stack-utils@^2.0.3:
+ version "2.0.6"
+ resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz"
+ integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==
+ dependencies:
+ escape-string-regexp "^2.0.0"
+
+stackframe@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz"
+ integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+
+stacktrace-parser@^0.1.10:
+ version "0.1.11"
+ resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz"
+ integrity sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==
+ dependencies:
+ type-fest "^0.7.1"
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+statuses@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
+stop-iteration-iterator@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz"
+ integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==
+ dependencies:
+ es-errors "^1.3.0"
+ internal-slot "^1.1.0"
+
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz"
+ integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
+
+string-length@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz"
+ integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
+ dependencies:
+ char-regex "^1.0.2"
+ strip-ansi "^6.0.0"
+
+string-natural-compare@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz"
+ integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
+
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string.prototype.matchall@^4.0.12:
+ version "4.0.12"
+ resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz"
+ integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.6"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.6"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ internal-slot "^1.1.0"
+ regexp.prototype.flags "^1.5.3"
+ set-function-name "^2.0.2"
+ side-channel "^1.1.0"
+
+string.prototype.repeat@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz"
+ integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string.prototype.trim@^1.2.10:
+ version "1.2.10"
+ resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz"
+ integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-data-property "^1.1.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-object-atoms "^1.0.0"
+ has-property-descriptors "^1.0.2"
+
+string.prototype.trimend@^1.0.9:
+ version "1.0.9"
+ resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz"
+ integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string.prototype.trimstart@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+stringify-entities@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz"
+ integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ xtend "^4.0.0"
+
+strip-ansi@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-bom@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz"
+ integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-indent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz"
+ integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
+ dependencies:
+ min-indent "^1.0.0"
+
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strnum@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz"
+ integrity sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.0.0, supports-color@^8.1.1:
+ version "8.1.1"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ 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==
+
+svg-parser@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^3.0.2:
+ version "3.3.2"
+ resolved "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz"
+ integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^5.1.0"
+ css-tree "^2.3.1"
+ css-what "^6.1.0"
+ csso "^5.0.5"
+ picocolors "^1.0.0"
+
+synckit@^0.11.7:
+ version "0.11.11"
+ resolved "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz"
+ integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==
+ dependencies:
+ "@pkgr/core" "^0.2.9"
+
+terser@^5.15.0:
+ version "5.44.0"
+ resolved "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz"
+ integrity sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.3"
+ acorn "^8.15.0"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
+test-exclude@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz"
+ integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==
+ dependencies:
+ "@istanbuljs/schema" "^0.1.2"
+ glob "^7.1.4"
+ minimatch "^3.0.4"
+
+text-extensions@^2.0.0:
+ version "2.4.0"
+ resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz"
+ integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+throat@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz"
+ integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+
+"through@>=2.2.7 <3":
+ version "2.3.8"
+ resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+tinyexec@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz"
+ integrity sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==
+
+tinyglobby@^0.2.15:
+ version "0.2.15"
+ resolved "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz"
+ integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
+ dependencies:
+ fdir "^6.5.0"
+ picomatch "^4.0.3"
+
+tmp@^0.2.4:
+ version "0.2.5"
+ resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz"
+ integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==
+
+tmpl@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz"
+ integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+
+to-regex-range@^5.0.1:
+ 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==
+ dependencies:
+ is-number "^7.0.0"
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+trim-newlines@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-5.0.0.tgz"
+ integrity sha512-kstfs+hgwmdsOadN3KgA+C68wPJwnZq4DN6WMDCvZapDWEF34W2TyPKN2v2+BJnZgIz5QOfxFeldLyYvdgRAwg==
+
+ts-api-utils@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz"
+ integrity sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==
+
+ts-toolbelt@^6.15.1:
+ version "6.15.5"
+ resolved "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz"
+ integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==
+
+tslib@^2.0.3, tslib@^2.1.0:
+ version "2.8.1"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+type-detect@4.0.8:
+ 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==
+
+type-fest@^0.20.2:
+ version "0.20.2"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
+ integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+type-fest@^0.21.3:
+ 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==
+
+type-fest@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz"
+ integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+
+type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typed-array-buffer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz"
+ integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-typed-array "^1.1.14"
+
+typed-array-byte-length@^1.0.3:
+ 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==
+ 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"
+
+typed-array-byte-offset@^1.0.4:
+ 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==
+ 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"
+
+typed-array-length@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz"
+ integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==
+ dependencies:
+ call-bind "^1.0.7"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ is-typed-array "^1.1.13"
+ possible-typed-array-names "^1.0.0"
+ reflect.getprototypeof "^1.0.6"
+
+typescript@5.0.4:
+ version "5.0.4"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz"
+ integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
+
+unbox-primitive@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz"
+ integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-bigints "^1.0.2"
+ has-symbols "^1.1.0"
+ which-boxed-primitive "^1.1.1"
+
+undici-types@~7.14.0:
+ version "7.14.0"
+ resolved "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz"
+ integrity sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ 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==
+
+unicode-match-property-ecmascript@^2.0.0:
+ 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==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.2.1:
+ 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==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ 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==
+
+unicorn-magic@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz"
+ integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+universalify@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
+ integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+urijs@^1.19.6:
+ version "1.19.11"
+ resolved "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz"
+ integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==
+
+use-latest-callback@^0.2.3, use-latest-callback@^0.2.4:
+ version "0.2.6"
+ resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.2.6.tgz"
+ integrity sha512-FvRG9i1HSo0wagmX63Vrm8SnlUU3LMM3WyZkQ76RnslpBrX694AdG4A0zQBx2B3ZifFA0yv/BaEHGBnEax5rZg==
+
+use-sync-external-store@^1.4.0, use-sync-external-store@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz"
+ integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==
+
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uuid@*, uuid@^13.0.0:
+ version "13.0.0"
+ resolved "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz"
+ integrity sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==
+
+v8-to-istanbul@^9.0.1:
+ version "9.3.0"
+ resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz"
+ integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.12"
+ "@types/istanbul-lib-coverage" "^2.0.1"
+ convert-source-map "^2.0.0"
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+vlq@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz"
+ integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==
+
+walker@^1.0.7, walker@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz"
+ integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
+ dependencies:
+ makeerror "1.0.12"
+
+warn-once@0.1.1, warn-once@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz"
+ integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+web-vitals@^4.2.4:
+ version "4.2.4"
+ resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz"
+ integrity sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+webidl-conversions@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz"
+ integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
+
+websocket-driver@>=0.5.1:
+ version "0.7.4"
+ resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
+ integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+ dependencies:
+ http-parser-js ">=0.5.1"
+ safe-buffer ">=5.1.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.4"
+ resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz"
+ integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+
+whatwg-fetch@^3.0.0:
+ version "3.6.20"
+ resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz"
+ integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==
+
+whatwg-url-without-unicode@8.0.0-3:
+ 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==
+ dependencies:
+ buffer "^5.4.3"
+ punycode "^2.1.1"
+ webidl-conversions "^5.0.0"
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz"
+ integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==
+ 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"
+
+which-builtin-type@^1.2.1:
+ 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==
+ 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"
+
+which-collection@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz"
+ integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
+ dependencies:
+ is-map "^2.0.3"
+ is-set "^2.0.3"
+ is-weakmap "^2.0.2"
+ is-weakset "^2.0.3"
+
+which-module@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz"
+ integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
+
+which-typed-array@^1.1.16, which-typed-array@^1.1.19:
+ version "1.1.19"
+ resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz"
+ integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ for-each "^0.3.5"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz"
+ integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.7"
+
+write-file-atomic@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz"
+ integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^4.0.1"
+
+ws@^6.2.3:
+ version "6.2.3"
+ resolved "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz"
+ integrity sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==
+ dependencies:
+ async-limiter "~1.0.0"
+
+ws@^7, ws@^7.5.10:
+ version "7.5.10"
+ resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz"
+ integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
+
+ws@^8.18.2:
+ version "8.18.3"
+ resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz"
+ integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
+
+xtend@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yaml@^2.2.1, yaml@^2.2.2, yaml@^2.6.1:
+ version "2.8.1"
+ resolved "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz"
+ integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==
+
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^20.2.2:
+ version "20.2.9"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
+yargs@^15.1.0:
+ version "15.4.1"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+ 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"
+
+yargs@^16.1.1:
+ version "16.2.0"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
+
+yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2, yargs@^17.7.2:
+ version "17.7.2"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz"
+ integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
+ 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"
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+yocto-queue@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz"
+ integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==
+
+zod@^4.1.12:
+ version "4.1.12"
+ resolved "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz"
+ integrity sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==
From b476575e57ecec869a16f1adc385d05d25e7a5af Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 02:35:09 +0000
Subject: [PATCH 086/240] =?UTF-8?q?=E4=BF=AE=E4=BF=AE=E4=BF=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/ChatView/ChatView.tsx | 68 ++++++++++++++++++++--------
src/locales/en.json | 2 +-
src/locales/zh.json | 6 +--
3 files changed, 53 insertions(+), 23 deletions(-)
diff --git a/src/components/ChatView/ChatView.tsx b/src/components/ChatView/ChatView.tsx
index c17effa1e..3f307f471 100644
--- a/src/components/ChatView/ChatView.tsx
+++ b/src/components/ChatView/ChatView.tsx
@@ -657,24 +657,39 @@ export const ChatView = observer(
}
let cursor = navCursorRef.current;
+ let skipCluster = false;
+
if (cursor === -1) {
+ // First press ever (or after message list change): initialize from scroll position.
cursor = initNavCursor() + 1;
+ skipCluster = true;
} else {
- cursor = cursor + 1;
+ const currentPos = initNavCursor();
+ if (currentPos <= cursor - 1) {
+ // User manually scrolled back (newer direction) since last button press.
+ // Cursor is stale — re-initialize from the current scroll position.
+ cursor = currentPos + 1;
+ skipCluster = true;
+ } else {
+ cursor = cursor + 1;
+ }
}
if (cursor >= len) {
cursor = len - 1;
}
- // Skip cluster: keep going older while next message is within one screen
- const cumH = buildCumulativeHeights();
- const anchorH = cumH[userMessageIndices[cursor] + 1];
- while (
- cursor + 1 < len &&
- cumH[userMessageIndices[cursor + 1] + 1] - anchorH < navViewportHeight
- ) {
- cursor++;
+ // Skip cluster: keep going older while next message is within one screen.
+ // Skipped when cursor was just (re-)initialized to avoid overshooting.
+ if (!skipCluster) {
+ const cumH = buildCumulativeHeights();
+ const anchorH = cumH[userMessageIndices[cursor] + 1];
+ while (
+ cursor + 1 < len &&
+ cumH[userMessageIndices[cursor + 1] + 1] - anchorH < navViewportHeight
+ ) {
+ cursor++;
+ }
}
navCursorRef.current = cursor;
@@ -698,24 +713,39 @@ export const ChatView = observer(
}
let cursor = navCursorRef.current;
+ let skipCluster = false;
+
if (cursor === -1) {
+ // First press ever (or after message list change): initialize from scroll position.
cursor = initNavCursor() - 1;
+ skipCluster = true;
} else {
- cursor = cursor - 1;
+ const currentPos = initNavCursor();
+ if (currentPos >= cursor + 1) {
+ // User manually scrolled forward (older direction) since last button press.
+ // Cursor is stale — re-initialize from the current scroll position.
+ cursor = currentPos - 1;
+ skipCluster = true;
+ } else {
+ cursor = cursor - 1;
+ }
}
if (cursor < 0) {
cursor = 0;
}
- // Skip cluster: keep going newer while next message is within one screen
- const cumH = buildCumulativeHeights();
- const anchorH = cumH[userMessageIndices[cursor] + 1];
- while (
- cursor - 1 >= 0 &&
- anchorH - cumH[userMessageIndices[cursor - 1] + 1] < navViewportHeight
- ) {
- cursor--;
+ // Skip cluster: keep going newer while next message is within one screen.
+ // Skipped when cursor was just (re-)initialized to avoid overshooting.
+ if (!skipCluster) {
+ const cumH = buildCumulativeHeights();
+ const anchorH = cumH[userMessageIndices[cursor] + 1];
+ while (
+ cursor - 1 >= 0 &&
+ anchorH - cumH[userMessageIndices[cursor - 1] + 1] < navViewportHeight
+ ) {
+ cursor--;
+ }
}
navCursorRef.current = cursor;
@@ -1223,7 +1253,7 @@ export const ChatView = observer(
bottom:
bottomComponentHeight +
40 /* button height */ +
- 20 /* padding */,
+ 60 /* padding */,
},
]}>
diff --git a/src/locales/en.json b/src/locales/en.json
index 04a34e525..2b3336b72 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -520,7 +520,7 @@
"thinkingDisabled": "Thinking mode disabled",
"thinkText": "Show",
"enableThinkText": "Think",
- "saveThinkText": "Save"
+ "saveThinkText": "Switch"
}
},
"contentReportSheet": {
diff --git a/src/locales/zh.json b/src/locales/zh.json
index 8c8d5a2cc..d32c864df 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -514,9 +514,9 @@
"disableThinking": "禁用思考模式",
"thinkingEnabled": "思考模式已启用",
"thinkingDisabled": "思考模式已禁用",
- "thinkText": "显",
- "enableThinkText": "思",
- "saveThinkText": "录"
+ "thinkText": "显示",
+ "enableThinkText": "思考",
+ "saveThinkText": "切换"
}
},
"contentReportSheet": {
From 6fd3840d413e5ada7515d475fc6aba0145db31b3 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:16:52 +0000
Subject: [PATCH 087/240] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index ba1e810fa..26b3f14a7 100644
--- a/README.md
+++ b/README.md
@@ -76,6 +76,8 @@ I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabli
Add a progress bar featuring location markers for each conversation, along with up/down navigation toggles to quickly jump between different conversations.
+Added a progress bar with markers and buttons for navigating between previous/next topics, as well as a button to scroll directly to the bottom.
+
# PocketPal AI 📱🚀
From 5defad7aed1c2d994b6f719b2156858372073648 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:21:47 +0000
Subject: [PATCH 088/240] Update README.md
---
README.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 26b3f14a7..4585bf2de 100644
--- a/README.md
+++ b/README.md
@@ -22,9 +22,10 @@ Since the majority of the users of this application are those who wish to gain a
A regrettable omission: I intended to implement real-time monitoring of memory (both RAM and virtual) usage, CPU utilization, and power consumption for performance debugging after evaluating feasibility, but decided against it due to complexity.
-
-
-
+
+
+
+
* Added compilation for **Apple IPA installers**.
From 2993324e7ea4296e5f703538664aead408d0a253 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:22:11 +0000
Subject: [PATCH 089/240] Update README.md
---
README.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 4585bf2de..0da78c939 100644
--- a/README.md
+++ b/README.md
@@ -22,10 +22,10 @@ Since the majority of the users of this application are those who wish to gain a
A regrettable omission: I intended to implement real-time monitoring of memory (both RAM and virtual) usage, CPU utilization, and power consumption for performance debugging after evaluating feasibility, but decided against it due to complexity.
-
-
-
-
+
+
+
+
* Added compilation for **Apple IPA installers**.
From f918f1f88f0ad70c8d662b4c0a5486384cfe9e34 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:26:26 +0000
Subject: [PATCH 090/240] Update README.md
---
README.md | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/README.md b/README.md
index 0da78c939..ffcc30205 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,9 @@ Since the majority of the users of this application are those who wish to gain a
8. Add a template selector switch, allowing the selection of the chat-formatter / Nunjucks interpreter or the llama.cpp Jinja chat template interpreter.
-A regrettable omission: I intended to implement real-time monitoring of memory (both RAM and virtual) usage, CPU utilization, and power consumption for performance debugging after evaluating feasibility, but decided against it due to complexity.
+9. Add a progress bar featuring location markers for each conversation, along with up/down navigation toggles to quickly jump between different conversations.
+
+10. Real-time memory usage display has also been enabled on Android.
@@ -72,14 +74,6 @@ I have optimized the compilation for versions **1.11.21** and **1.12.2**, enabli
* [https://github.com/CCSSNE/bianyi-1.11.21](https://github.com/CCSSNE/bianyi-1.11.21)
* [https://github.com/CCSSNE/bianyi-1.12.2](https://github.com/CCSSNE/bianyi-1.12.2)
-
-
-Add a progress bar featuring location markers for each conversation, along with up/down navigation toggles to quickly jump between different conversations.
-
-
-Added a progress bar with markers and buttons for navigating between previous/next topics, as well as a button to scroll directly to the bottom.
-
-
# PocketPal AI 📱🚀
PocketPal AI is a pocket-sized AI assistant powered by small language models (SLMs) that run directly on your phone. Designed for both iOS and Android, PocketPal AI lets you interact with various SLMs without the need for an internet connection. Your privacy is fully protected as all processing happens entirely on-device — your conversations, prompts, and data never leave your phone or get stored on external servers.
From c939842c2e52428521af5481ed543e656a32ae95 Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:27:21 +0000
Subject: [PATCH 091/240] Update README.md
---
README.md | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index ffcc30205..9fed472f5 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,12 @@ Since the majority of the users of this application are those who wish to gain a
10. Real-time memory usage display has also been enabled on Android.
+11. * Added compilation for **Apple IPA installers**.
+* Split the single "Think" button into **three buttons**:
+ * Whether to enable the UI-layer thinking box.
+ * Whether to activate thinking at the parameter level.
+ * Whether to incorporate thinking into the context.
+
@@ -30,12 +36,6 @@ Since the majority of the users of this application are those who wish to gain a
-* Added compilation for **Apple IPA installers**.
-* Split the single "Think" button into **three buttons**:
- * Whether to enable the UI-layer thinking box.
- * Whether to activate thinking at the parameter level.
- * Whether to incorporate thinking into the context.
-
## New Architecture Goals --- Normalized inference flow
| # | Architecture Type | Message Type | Logic | Status |
@@ -60,7 +60,6 @@ Only two JS remain on the entire pipeline.
---
-
### Version Notes & Compatibility
the new llama version 0.11.3 (app-1.12.2 This repository is also developed based on this version) can control Qwen 3.5's thinking capabilities. In the default template, versions of 9B and above possess both enable/disable functions for thinking, whereas versions below 9B do not have this feature by default. Simply copy the 9B template and apply it to the 4B, 2B, and 0.8B models; you will then be able to control thinking with the new version!!!
From f535acd4843952feafcd28f544333df8fa1a9e2c Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 03:28:18 +0000
Subject: [PATCH 092/240] Update README.md
---
README.md | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index 9fed472f5..225d16c02 100644
--- a/README.md
+++ b/README.md
@@ -23,11 +23,12 @@ Since the majority of the users of this application are those who wish to gain a
10. Real-time memory usage display has also been enabled on Android.
-11. * Added compilation for **Apple IPA installers**.
+11. Added compilation for **Apple IPA installers**.
+
* Split the single "Think" button into **three buttons**:
- * Whether to enable the UI-layer thinking box.
- * Whether to activate thinking at the parameter level.
- * Whether to incorporate thinking into the context.
+* Whether to enable the UI-layer thinking box.
+* Whether to activate thinking at the parameter level.
+* Whether to incorporate thinking into the context.
From f1d9dc243dd177ee77bd4b6b1ddac490b14c75cd Mon Sep 17 00:00:00 2001
From: CCSSNE
Date: Fri, 20 Mar 2026 06:25:33 +0000
Subject: [PATCH 093/240] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 225d16c02..8c72b4a58 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,8 @@ Since the majority of the users of this application are those who wish to gain a
* Whether to activate thinking at the parameter level.
* Whether to incorporate thinking into the context.
+12. Both the LLM and visual encoder are now controlled by settings; previously, the visual encoder was forced to use the GPU, which was inefficient and could cause Android crashes.
+
From b953c6663c8c402137ac147af7e6146466300314 Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 06:26:02 +0000
Subject: [PATCH 094/240] Update ModelStore.ts
---
src/store/ModelStore.ts | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/store/ModelStore.ts b/src/store/ModelStore.ts
index 77eecdb8e..dfb95a264 100644
--- a/src/store/ModelStore.ts
+++ b/src/store/ModelStore.ts
@@ -1586,7 +1586,9 @@ class ModelStore {
// Apply effective value: clamp image_max_tokens to n_ctx
const success = await ctx.initMultimodal({
path: mmProjPath,
- use_gpu: !this.contextInitParams.no_gpu_devices,
+ use_gpu:
+ !this.contextInitParams.no_gpu_devices &&
+ (this.contextInitParams.n_gpu_layers ?? 0) > 0,
image_max_tokens: Math.min(
this.contextInitParams.image_max_tokens ?? 512,
this.contextInitParams.n_ctx,
From 3b459d4e3f97b8901fb6201311ba49bea92c1b07 Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 06:46:51 +0000
Subject: [PATCH 095/240] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=9B=BE=E5=83=8F?=
=?UTF-8?q?=E7=BC=96=E7=A0=81=E5=99=A8=20GPU=E5=8D=B8=E8=BD=BD=E6=8E=A7?=
=?UTF-8?q?=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/locales/en.json | 5 ++
src/locales/fa.json | 5 ++
src/locales/fr.json | 5 ++
src/locales/he.json | 5 ++
src/locales/id.json | 5 ++
src/locales/ja.json | 5 ++
src/locales/ko.json | 5 ++
src/locales/ms.json | 5 ++
src/locales/ru.json | 5 ++
src/locales/zh.json | 5 ++
src/locales/zh_Hant.json | 5 ++
src/screens/SettingsScreen/SettingsScreen.tsx | 52 +++++++++++++++++++
src/store/ModelStore.ts | 14 +++--
src/utils/contextInitParamsVersions.ts | 18 ++++++-
src/utils/types.ts | 4 ++
15 files changed, 139 insertions(+), 4 deletions(-)
diff --git a/src/locales/en.json b/src/locales/en.json
index 2b3336b72..b967cfc36 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "Choose Metal GPU or CPU-only mode",
"deviceSelectionAndroidDescription": "Select compute device (CPU, GPU, or Hexagon NPU)",
"cpuOnlyNoAccelerators": "CPU only - No hardware accelerators detected",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "Context Size",
"contextSizePlaceholder": "Enter context size (min {{minContextSize}})",
"invalidContextSizeError": "Please enter a valid number (minimum {{minContextSize}})",
diff --git a/src/locales/fa.json b/src/locales/fa.json
index 5e8b5001d..5ff816f62 100644
--- a/src/locales/fa.json
+++ b/src/locales/fa.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "انتخاب GPU با Metal یا حالت فقط CPU",
"deviceSelectionAndroidDescription": "انتخاب واحد پردازشی (CPU، GPU یا Hexagon NPU)",
"cpuOnlyNoAccelerators": "فقط CPU - شتابدهنده سختافزاری شناسایی نشد",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "اندازه Context",
"contextSizePlaceholder": "اندازه context را وارد کنید (حداقل {{minContextSize}})",
"invalidContextSizeError": "لطفاً عددی معتبر وارد کنید (حداقل {{minContextSize}})",
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 77cce1b27..00e5d19dd 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -32,6 +32,11 @@
"metalDescription": "API accélérée par le matériel d'Apple.",
"metalRequiresNewerIOS": "L'accélération Metal nécessite iOS 18 ou supérieur. Veuillez mettre à jour votre appareil pour utiliser cette fonctionnalité.",
"layersOnGPU": "Couches sur GPU : {{gpuLayers}}",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "Taille du contexte",
"contextSizePlaceholder": "Entrez la taille du contexte (min {{minContextSize}})",
"invalidContextSizeError": "Veuillez entrer un nombre valide (minimum {{minContextSize}})",
diff --git a/src/locales/he.json b/src/locales/he.json
index 91fe22b00..93df0ba28 100644
--- a/src/locales/he.json
+++ b/src/locales/he.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "בחר מצב Metal GPU או מצב CPU בלבד",
"deviceSelectionAndroidDescription": "בחר התקן מחשוב (CPU, GPU או NPU מקבילי)",
"cpuOnlyNoAccelerators": "CPU בלבד - לא זוהו מאיצי חומרה",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "אורך הקשר",
"contextSizePlaceholder": "הזן אורך הקשר (לפחות {{minContextSize}})",
"invalidContextSizeError": "אנא הזן מספר תקין (לפחות {{minContextSize}})",
diff --git a/src/locales/id.json b/src/locales/id.json
index 3e4f1eaab..30e7435bf 100644
--- a/src/locales/id.json
+++ b/src/locales/id.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "Pilih mode GPU Metal atau mode CPU saja",
"deviceSelectionAndroidDescription": "Pilih jenis komputasi perangkat (CPU, GPU, atau Hexagon NPU)",
"cpuOnlyNoAccelerators": "CPU saja – Tidak ada akselerator perangkat keras yang terdeteksi",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "Ukuran Konteks",
"contextSizePlaceholder": "Masukkan ukuran konteks (minimal {{minContextSize}})",
"invalidContextSizeError": "Harap masukkan angka yang valid (minimal {{minContextSize}})",
diff --git a/src/locales/ja.json b/src/locales/ja.json
index 68a6c28cb..ab4fcb0f5 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "Metal GPUまたはCPUのみモードを選択",
"deviceSelectionAndroidDescription": "計算デバイスを選択(CPU、GPU、またはHexagon NPU)",
"cpuOnlyNoAccelerators": "CPUのみ - ハードウェアアクセラレータが検出されませんでした",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "コンテキストサイズ",
"contextSizePlaceholder": "コンテキストサイズを入力(最小{{minContextSize}})",
"invalidContextSizeError": "有効な数値を入力してください(最小{{minContextSize}})",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index a210b1db3..ae6108ba9 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -980,6 +980,11 @@
"deviceSelectionIOSDescription": "Metal GPU 또는 CPU 전용 모드 선택",
"deviceSelectionAndroidDescription": "연산 장치 선택 (CPU, GPU 또는 Hexagon NPU)",
"cpuOnlyNoAccelerators": "CPU 전용 - 하드웨어 가속기가 감지되지 않았습니다.",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"imageMaxTokens": "이미지 토큰 한도",
"imageMaxTokensDescription": "이미지 처리 최대 토큰: {{tokens}}{{effectiveTokens}} (낮을수록 빠르지만, 세부 묘사는 줄어듭니다)",
"flashAttentionIOSDescription": "메모리 효율적 어텐션 (Metal에서 자동 활성화됨)",
diff --git a/src/locales/ms.json b/src/locales/ms.json
index d57198798..8ece761d3 100644
--- a/src/locales/ms.json
+++ b/src/locales/ms.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "Pilih mod GPU Metal atau mod CPU sahaja",
"deviceSelectionAndroidDescription": "Pilih jenis pengkomputeran peranti (CPU, GPU, atau Hexagon NPU)",
"cpuOnlyNoAccelerators": "CPU sahaja – Tiada pemecut perkakasan dikesan",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "Saiz Konteks",
"contextSizePlaceholder": "Masukkan saiz konteks (minimum {{minContextSize}})",
"invalidContextSizeError": "Sila masukkan nombor yang sah (minimum {{minContextSize}})",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index 73d78ad04..b4ceb784d 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -980,6 +980,11 @@
"deviceSelectionIOSDescription": "Выберите GPU Metal или режим работы только с CPU",
"deviceSelectionAndroidDescription": "Выберите вычислительное устройство (CPU, GPU или Hexagon NPU)",
"cpuOnlyNoAccelerators": "Только CPU - аппаратные ускорители не обнаружены",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"imageMaxTokens": "Макс. токенов для изображения",
"imageMaxTokensDescription": "Максимальное количество токенов для обработки изображения: {{tokens}}{{effectiveTokens}} (меньше = быстрее, но меньше деталей)",
"flashAttentionIOSDescription": "Экономное использование памяти (автоматически включено на Metal)",
diff --git a/src/locales/zh.json b/src/locales/zh.json
index d32c864df..aa43292e1 100644
--- a/src/locales/zh.json
+++ b/src/locales/zh.json
@@ -49,6 +49,11 @@
"deviceSelectionIOSDescription": "选择Metal GPU或仅CPU模式",
"deviceSelectionAndroidDescription": "选择计算设备(CPU、GPU或Hexagon NPU)",
"cpuOnlyNoAccelerators": "仅CPU - 未检测到硬件加速器",
+ "visionDeviceSelection": "视觉编码器设备",
+ "visionDeviceSelectionIOS": "视觉编码器设备",
+ "visionDeviceSelectionDescription": "选择视觉编码器(mmproj)的计算设备。默认:CPU",
+ "visionDeviceSelectionIOSDescription": "选择视觉编码器(mmproj)的计算设备。默认:CPU",
+ "visionDeviceCpuOnly": "视觉编码器:仅CPU - 未检测到硬件加速器",
"contextSize": "上下文长度",
"contextSizePlaceholder": "输入上下文长度(最小{{minContextSize}})",
"invalidContextSizeError": "请输入有效数字(最小{{minContextSize}})",
diff --git a/src/locales/zh_Hant.json b/src/locales/zh_Hant.json
index c2631b7b1..82ad897b8 100644
--- a/src/locales/zh_Hant.json
+++ b/src/locales/zh_Hant.json
@@ -588,6 +588,11 @@
"metalDescription": "蘋果的硬體加速 API。",
"metalRequiresNewerIOS": "Metal 加速需要 iOS 18 或更高版本。請升級您的裝置以使用此功能。",
"layersOnGPU": "GPU 上的層數: {{gpuLayers}}",
+ "visionDeviceSelection": "Vision Encoder Device",
+ "visionDeviceSelectionIOS": "Vision Encoder Device",
+ "visionDeviceSelectionDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceSelectionIOSDescription": "Select compute device for vision encoder (mmproj). Default: CPU",
+ "visionDeviceCpuOnly": "Vision encoder: CPU only - No hardware accelerators detected",
"contextSize": "上下文大小",
"contextSizePlaceholder": "輸入上下文大小 (至少 {{minContextSize}})",
"invalidContextSizeError": "請輸入有效數字 (至少{{minContextSize}})",
diff --git a/src/screens/SettingsScreen/SettingsScreen.tsx b/src/screens/SettingsScreen/SettingsScreen.tsx
index 744358fe6..d1c28af4f 100644
--- a/src/screens/SettingsScreen/SettingsScreen.tsx
+++ b/src/screens/SettingsScreen/SettingsScreen.tsx
@@ -407,6 +407,58 @@ export const SettingsScreen: React.FC = observer(() => {
+ {/* Vision Encoder Device Selection */}
+
+ {deviceOptions.length > 1 ? (
+ <>
+
+ {Platform.OS === 'ios'
+ ? l10n.settings.visionDeviceSelectionIOS
+ : l10n.settings.visionDeviceSelection}
+
+
+ {Platform.OS === 'ios'
+ ? l10n.settings.visionDeviceSelectionIOSDescription
+ : l10n.settings.visionDeviceSelectionDescription}
+
+ {
+ modelStore.setVisionDevice(
+ deviceId as
+ | 'auto'
+ | 'gpu'
+ | 'hexagon'
+ | 'cpu',
+ );
+ }}
+ density="medium"
+ buttons={deviceOptions.map(option => ({
+ value: option.id,
+ label: option.label,
+ labelStyle: {
+ fontSize: 10,
+ },
+ testID: `vision-device-option-${option.id}`,
+ }))}
+ style={styles.segmentedButtons}
+ />
+ >
+ ) : (
+ <>
+
+ {l10n.settings.visionDeviceSelection}
+
+
+ {l10n.settings.visionDeviceCpuOnly}
+
+ >
+ )}
+
+
+
{/* Context Size */}
diff --git a/src/store/ModelStore.ts b/src/store/ModelStore.ts
index dfb95a264..0bace2d46 100644
--- a/src/store/ModelStore.ts
+++ b/src/store/ModelStore.ts
@@ -335,6 +335,15 @@ class ModelStore {
});
};
+ setVisionDevice = (vision_device: 'auto' | 'gpu' | 'hexagon' | 'cpu') => {
+ runInAction(() => {
+ this.contextInitParams = {
+ ...this.contextInitParams,
+ vision_device,
+ };
+ });
+ };
+
setUseMlock = (use_mlock: boolean) => {
runInAction(() => {
this.contextInitParams = {
@@ -1584,11 +1593,10 @@ class ModelStore {
// Initialize multimodal with the new API format
// Apply effective value: clamp image_max_tokens to n_ctx
+ const visionDevice = this.contextInitParams.vision_device ?? 'cpu';
const success = await ctx.initMultimodal({
path: mmProjPath,
- use_gpu:
- !this.contextInitParams.no_gpu_devices &&
- (this.contextInitParams.n_gpu_layers ?? 0) > 0,
+ use_gpu: visionDevice !== 'cpu',
image_max_tokens: Math.min(
this.contextInitParams.image_max_tokens ?? 512,
this.contextInitParams.n_ctx,
diff --git a/src/utils/contextInitParamsVersions.ts b/src/utils/contextInitParamsVersions.ts
index 032ef26c8..808af7ddf 100644
--- a/src/utils/contextInitParamsVersions.ts
+++ b/src/utils/contextInitParamsVersions.ts
@@ -13,7 +13,7 @@ import {Platform} from 'react-native';
// Current version of the context init params schema
// Increment this when adding new parameters or changing existing ones
-export const CURRENT_CONTEXT_INIT_PARAMS_VERSION = '2.1';
+export const CURRENT_CONTEXT_INIT_PARAMS_VERSION = '2.2';
/**
* Creates properly versioned ContextInitParams from ContextParams (excluding model)
@@ -57,6 +57,9 @@ export const createContextInitParams = (
// v2.1+
image_max_tokens: (params as any).image_max_tokens ?? 512, // Device-appropriate default
+
+ // v2.2+
+ vision_device: (params as any).vision_device ?? 'cpu', // Default to CPU for safety
};
};
@@ -176,6 +179,16 @@ export function migrateContextInitParams(
migratedParams.version = '2.1';
}
+ // Migration from 2.1 to 2.2: vision_device
+ if (migratedParams.version === '2.1') {
+ // Add vision_device with safe default (CPU)
+ if (migratedParams.vision_device === undefined) {
+ migratedParams.vision_device = 'cpu';
+ }
+
+ migratedParams.version = '2.2';
+ }
+
// Ensure the final version is set correctly
migratedParams.version = CURRENT_CONTEXT_INIT_PARAMS_VERSION;
@@ -237,5 +250,8 @@ export function createDefaultContextInitParams(): ContextInitParams {
// v2.1 parameters
image_max_tokens: 512, // Device-appropriate default
+
+ // v2.2 parameters
+ vision_device: 'cpu', // Default to CPU for safety
};
}
diff --git a/src/utils/types.ts b/src/utils/types.ts
index 990981017..2ad5e2964 100644
--- a/src/utils/types.ts
+++ b/src/utils/types.ts
@@ -526,6 +526,10 @@ export interface ContextInitParams
/** Maximum number of tokens for image input (for dynamic resolution VLMs). Default: 512 */
image_max_tokens?: number;
+ // v2.2+
+ /** Device selection for vision encoder (mmproj). Maps to use_gpu in initMultimodal. Default: 'cpu' */
+ vision_device?: 'auto' | 'gpu' | 'hexagon' | 'cpu';
+
// Deprecated (kept for migration)
/** @deprecated Use devices instead */
no_gpu_devices?: boolean;
From c0c93fcac4cb17058dbbe43fc578618ab7c0d227 Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 07:12:50 +0000
Subject: [PATCH 096/240] Update SettingsScreen.tsx
---
src/screens/SettingsScreen/SettingsScreen.tsx | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/screens/SettingsScreen/SettingsScreen.tsx b/src/screens/SettingsScreen/SettingsScreen.tsx
index d1c28af4f..b5bdbe5e3 100644
--- a/src/screens/SettingsScreen/SettingsScreen.tsx
+++ b/src/screens/SettingsScreen/SettingsScreen.tsx
@@ -427,11 +427,7 @@ export const SettingsScreen: React.FC = observer(() => {
}
onValueChange={deviceId => {
modelStore.setVisionDevice(
- deviceId as
- | 'auto'
- | 'gpu'
- | 'hexagon'
- | 'cpu',
+ deviceId as 'auto' | 'gpu' | 'hexagon' | 'cpu',
);
}}
density="medium"
From c94e1e71337ebf9c626bc5f5f9ce03f4e971999a Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 07:16:32 +0000
Subject: [PATCH 097/240] Create settings.json
---
.claude/settings.json | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 .claude/settings.json
diff --git a/.claude/settings.json b/.claude/settings.json
new file mode 100644
index 000000000..7bea0513e
--- /dev/null
+++ b/.claude/settings.json
@@ -0,0 +1,7 @@
+{
+ "permissions": {
+ "allow": [
+ "Bash(rtk yarn:*)"
+ ]
+ }
+}
From c417895e37eeadf34294ebcfb45d153cefd40660 Mon Sep 17 00:00:00 2001
From: 1234
Date: Fri, 20 Mar 2026 07:25:00 +0000
Subject: [PATCH 098/240] 1
---
.../__tests__/benchmarkMigration.test.ts | 9 +-
.../contextInitParamsVersions.test.ts | 4 +-
...6\350\257\221\351\224\231\350\257\257.txt" | 19057 ++++++++++++++++
3 files changed, 19064 insertions(+), 6 deletions(-)
create mode 100644 "\347\274\226\350\257\221\351\224\231\350\257\257.txt"
diff --git a/src/utils/__tests__/benchmarkMigration.test.ts b/src/utils/__tests__/benchmarkMigration.test.ts
index febf6de46..2e61adc8d 100644
--- a/src/utils/__tests__/benchmarkMigration.test.ts
+++ b/src/utils/__tests__/benchmarkMigration.test.ts
@@ -125,7 +125,7 @@ describe('benchmarkMigration', () => {
const migratedResult = migrateBenchmarkResult(originalResult);
expect(originalResult).toEqual(originalCopy);
- expect(migratedResult.initSettings?.version).toBe('2.1');
+ expect(migratedResult.initSettings?.version).toBe('2.2');
});
it('should not migrate if already at current version', () => {
@@ -143,7 +143,7 @@ describe('benchmarkMigration', () => {
modelName: 'Test Model',
uuid: 'test-uuid',
initSettings: {
- version: '2.1',
+ version: '2.2',
n_ctx: N_CONTEXT,
n_batch: 512,
n_ubatch: 256,
@@ -154,6 +154,7 @@ describe('benchmarkMigration', () => {
cache_type_v: CacheType.F16,
n_gpu_layers: 0,
image_max_tokens: 512,
+ vision_device: 'cpu',
},
};
@@ -196,7 +197,7 @@ describe('benchmarkMigration', () => {
expect(migratedResult.initSettings?.n_ctx).toBe(N_CONTEXT);
expect(migratedResult.initSettings).not.toHaveProperty('n_context');
- expect(migratedResult.initSettings?.version).toBe('2.1');
+ expect(migratedResult.initSettings?.version).toBe('2.2');
});
});
@@ -294,7 +295,7 @@ describe('benchmarkMigration', () => {
expect(migratedResult.initSettings?.n_ctx).toBe(N_CONTEXT);
expect(migratedResult.initSettings).not.toHaveProperty('n_context');
- expect(migratedResult.initSettings?.version).toBe('2.1');
+ expect(migratedResult.initSettings?.version).toBe('2.2');
});
});
});
diff --git a/src/utils/__tests__/contextInitParamsVersions.test.ts b/src/utils/__tests__/contextInitParamsVersions.test.ts
index 7f612b5ad..d089696b3 100644
--- a/src/utils/__tests__/contextInitParamsVersions.test.ts
+++ b/src/utils/__tests__/contextInitParamsVersions.test.ts
@@ -180,7 +180,7 @@ describe('contextInitParamsVersions', () => {
const migrated = migrateContextInitParams(v20Params);
- expect(migrated.version).toBe('2.1');
+ expect(migrated.version).toBe('2.2');
expect(migrated.image_max_tokens).toBe(512);
});
@@ -203,7 +203,7 @@ describe('contextInitParamsVersions', () => {
const migrated = migrateContextInitParams(v20ParamsWithTokens);
- expect(migrated.version).toBe('2.1');
+ expect(migrated.version).toBe('2.2');
expect(migrated.image_max_tokens).toBe(1024); // Should preserve custom value
});
});
diff --git "a/\347\274\226\350\257\221\351\224\231\350\257\257.txt" "b/\347\274\226\350\257\221\351\224\231\350\257\257.txt"
new file mode 100644
index 000000000..56ee31ab0
--- /dev/null
+++ "b/\347\274\226\350\257\221\351\224\231\350\257\257.txt"
@@ -0,0 +1,19057 @@
+1m 22s
+Run yarn test --coverage
+yarn run v1.22.22
+$ jest --coverage
+[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+PASS src/store/__tests__/ChatSessionStore.test.ts (5.717 s)
+ ● Console
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: pal-db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal database migration already completed
+
+ at PalRepository.log (src/repositories/PalRepository.ts:23:17)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.error
+ Failed to load session list: Error: Database error
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ChatSessionStore.test.ts:86:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 187 | });
+ 188 | } catch (error) {
+ > 189 | console.error('Failed to load session list:', error);
+ | ^
+ 190 | }
+ 191 | }
+ 192 |
+
+ at ChatSessionStore.error (src/store/ChatSessionStore.ts:189:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Failed to delete session: Error: Database error
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ChatSessionStore.test.ts:134:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 216 | });
+ 217 | } catch (error) {
+ > 218 | console.error('Failed to delete session:', error);
+ | ^
+ 219 | }
+ 220 | }
+ 221 |
+
+ at ChatSessionStore.error (src/store/ChatSessionStore.ts:218:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.warn
+ Session session1 not found when loading messages
+
+ 247 | const sessionData = await chatSessionRepository.getSessionById(sessionId);
+ 248 | if (!sessionData) {
+ > 249 | console.warn(`Session ${sessionId} not found when loading messages`);
+ | ^
+ 250 | return;
+ 251 | }
+ 252 |
+
+ at ChatSessionStore.warn (src/store/ChatSessionStore.ts:249:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.error
+ Failed to bulk delete sessions: Error: Database error
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ChatSessionStore.test.ts:1877:23)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 894 | });
+ 895 | } catch (error) {
+ > 896 | console.error('Failed to bulk delete sessions:', error);
+ | ^
+ 897 | throw error;
+ 898 | }
+ 899 | }
+
+ at ChatSessionStore.error (src/store/ChatSessionStore.ts:896:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Failed to bulk export sessions: Error: Export failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ChatSessionStore.test.ts:1936:23)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 908 | });
+ 909 | } catch (error) {
+ > 910 | console.error('Failed to bulk export sessions:', error);
+ | ^
+ 911 | throw error;
+ 912 | }
+ 913 | }
+
+ at ChatSessionStore.error (src/store/ChatSessionStore.ts:910:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+PASS src/store/__tests__/ModelStore.test.ts (10.903 s)
+ ● Console
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: pal-db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: console.log
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.error
+ Error initializing feedback ID: TypeError: Cannot read properties of undefined (reading 'getItem')
+ at FeedbackStore.getItem (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/FeedbackStore.ts:27:43)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at FeedbackStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at FeedbackStore.apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/FeedbackStore.ts:25:37)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at FeedbackStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at new initializeFeedbackId (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/FeedbackStore.ts:17:10)
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/FeedbackStore.ts:57:30)
+ at Runtime._execModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1439:24)
+ at Runtime._loadModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1022:12)
+ at Runtime.requireModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:882:12)
+ at Runtime.requireModuleOrMock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1048:21)
+ at Object.require (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/index.ts:7:1)
+ at Runtime._execModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1439:24)
+ at Runtime._loadModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1022:12)
+ at Runtime.requireModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:882:12)
+ at Runtime.requireModuleOrMock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1048:21)
+ at Object.require (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ModelStore.test.ts:19:1)
+ at Runtime._execModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1439:24)
+ at Runtime._loadModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:1022:12)
+ at Runtime.requireModule (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runtime/build/index.js:882:12)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 35 | this._feedbackId = newId;
+ 36 | } catch (error) {
+ > 37 | console.error('Error initializing feedback ID:', error);
+ | ^
+ 38 | // Generate a new ID if storage fails
+ 39 | this._feedbackId = uuidv4();
+ 40 | }
+
+ at FeedbackStore.error (src/store/FeedbackStore.ts:37:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at FeedbackStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at FeedbackStore.apply (src/store/FeedbackStore.ts:25:37)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at FeedbackStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at new initializeFeedbackId (src/store/FeedbackStore.ts:17:10)
+ at Object. (src/store/FeedbackStore.ts:57:30)
+ at Object.require (src/store/index.ts:7:1)
+ at Object.require (src/store/__tests__/ModelStore.test.ts:19:1)
+
+ console.log
+ Pal database migration already completed
+
+ at PalRepository.log (src/repositories/PalRepository.ts:23:17)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ [ModelStore] Invalid model info returned
+
+ 1144 | const modelInfo = await loadLlamaModelInfo(filePath);
+ 1145 | if (!modelInfo || typeof modelInfo !== 'object') {
+ > 1146 | console.warn('[ModelStore] Invalid model info returned');
+ | ^
+ 1147 | return;
+ 1148 | }
+ 1149 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1146:17)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+ at Array.forEach ()
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Gemmasutra-Mini-2B-v1-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Phi-3.5-mini-instruct.Q4_K_M
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-1.5b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: qwen2.5-3b-instruct-q5_k_m
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: llama-3.2-1b-instruct-q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Llama-3.2-3B-Instruct-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolLM2-1.7B-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-SmolVLM-500M-Instruct-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/model.bin TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: model.bin
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/local-model.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: local-model
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/mmproj-local.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: local-model
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-local
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/Qwen3.5-0.8B-Q8_0.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: Qwen3.5-0.8B-Q8_0
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/local-model.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: local-model
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/mmproj-local.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: local-model
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-local
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.warn
+ Failed to read local model size: /path/to/mmproj-local-2.gguf TypeError: Cannot read properties of undefined (reading 'size')
+ at ModelStore.size (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2043:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2043 | fileSize = Number(stat.size) || 0;
+ 2044 | } catch (error) {
+ > 2045 | console.warn('Failed to read local model size:', localFilePath, error);
+ | ^
+ 2046 | }
+ 2047 |
+ 2048 | const model: Model = {
+
+ at ModelStore.warn (src/store/ModelStore.ts:2045:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: local-model
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-local
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: mmproj-local-2
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ deleting: /path/to/documents/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: gemma-2-2b-it-Q6_K
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ deleting: /path/to/documents/models/preset/bartowski/gemma-2-2b-it-GGUF/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/documents/models/preset/bartowski/gemma-2-2b-it-GGUF/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/documents/models/preset/bartowski/gemma-2-2b-it-GGUF/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/documents/models/preset/bartowski/gemma-2-2b-it-GGUF/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/documents/models/preset/bartowski/gemma-2-2b-it-GGUF/gemma-2-2b-it-Q6_K.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/llm-model-1.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/proj-model-1.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/test-llm-model.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.log
+ deleting: /path/to/test-proj-model.gguf
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:7:11)
+
+ console.error
+ Error checking multimodal capability: TypeError: _this.context.isMultimodalEnabled is not a function
+ at ModelStore.isMultimodalEnabled (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2513:44)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.isMultimodalEnabled (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1765:46)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1828:19)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2522 | return isEnabled;
+ 2523 | } catch (error) {
+ > 2524 | console.error('Error checking multimodal capability:', error);
+ | ^
+ 2525 | return false;
+ 2526 | }
+ 2527 | };
+
+ at ModelStore.error (src/store/ModelStore.ts:2524:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.isMultimodalEnabled (src/store/ModelStore.ts:1765:46)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (src/store/ModelStore.ts:1828:19)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+
+ console.error
+ Failed to start download: Error: Not enough storage space to download the model
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ModelStore.test.ts:856:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 957 | await this._downloadProjectionModelIfNeeded(model);
+ 958 | } catch (err) {
+ > 959 | console.error('Failed to start download:', err);
+ | ^
+ 960 |
+ 961 | // Create proper error state for the snackbar system
+ 962 | const errorState = createErrorState(err, 'download', 'huggingface', {
+
+ at ModelStore.error (src/store/ModelStore.ts:959:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.warn
+ Error stopping completion: TypeError: _this.context.stopCompletion is not a function
+ at ModelStore.stopCompletion (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1738:30)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1828:19)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 1738 | await this.context.stopCompletion();
+ 1739 | } catch (stopError) {
+ > 1740 | console.warn('Error stopping completion:', stopError);
+ | ^
+ 1741 | // Continue with release even if stop fails
+ 1742 | }
+ 1743 |
+
+ at ModelStore.warn (src/store/ModelStore.ts:1740:19)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (src/store/ModelStore.ts:1828:19)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+
+ console.error
+ Error checking multimodal capability: TypeError: _this.context.isMultimodalEnabled is not a function
+ at ModelStore.isMultimodalEnabled (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2513:44)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.isMultimodalEnabled (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1765:46)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1828:19)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 2522 | return isEnabled;
+ 2523 | } catch (error) {
+ > 2524 | console.error('Error checking multimodal capability:', error);
+ | ^
+ 2525 | return false;
+ 2526 | }
+ 2527 | };
+
+ at ModelStore.error (src/store/ModelStore.ts:2524:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.isMultimodalEnabled (src/store/ModelStore.ts:1765:46)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at _releaseContextInternal (src/store/ModelStore.ts:1828:19)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+
+ console.error
+ Error in multi-image completion: Error: No images provided for multimodal completion
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2931:15)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ 3281 | // Clear the promise on error too
+ 3282 | this.clearCompletionPromise();
+ > 3283 | console.error('Error in multi-image completion:', error);
+ | ^
+ 3284 | engineOutputLog('startImageCompletion:error', {
+ 3285 | requestId,
+ 3286 | activeModelId: this.activeModelId,
+
+ at ModelStore.error (src/store/ModelStore.ts:3283:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ [EngineOutput] startImageCompletion:error {
+ requestId: '1773991071464-32pu95',
+ activeModelId: undefined,
+ error: 'No images provided for multimodal completion'
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: undefined,
+ activeProjectionModelId: undefined,
+ imageCount: 1,
+ promptLength: 11,
+ imageSources: [ '/path/to/image.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071467-40pkxj',
+ completionTransport: 'messages-api',
+ probe: {
+ paramKeys: [
+ 'enable_thinking', 'messages',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'seed', 'stop',
+ 'temperature', 'top_k',
+ 'top_p', 'typical_p',
+ 'xtc_probability', 'xtc_threshold'
+ ],
+ hasMessages: true,
+ mediaPathPreview: [],
+ enableThinking: true,
+ reasoningFormat: null,
+ chatParserLength: 0,
+ chatParserHash: '811c9dc5',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 0,
+ stopPreview: [],
+ suspectFlags: []
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071467-40pkxj',
+ completionTransport: 'messages-api',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:result {
+ requestId: '1773991071467-40pkxj',
+ activeModelId: undefined,
+ contentLength: 13,
+ tokenCount: 0,
+ tokenPreview: '',
+ textPreview: 'Response text',
+ contentPreview: '',
+ reasoningPreview: '',
+ textDiag: {
+ length: 13,
+ hash: 'd0aaad71',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.077,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'Re',
+ repeatedBigramCount: 1,
+ preview: 'Response text'
+ },
+ contentDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ reasoningDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: undefined,
+ activeProjectionModelId: undefined,
+ imageCount: 2,
+ promptLength: 11,
+ imageSources: [ '/path/to/image1.jpg', '/path/to/image2.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071484-lklda4',
+ completionTransport: 'messages-api',
+ probe: {
+ paramKeys: [
+ 'enable_thinking', 'messages',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'seed', 'stop',
+ 'temperature', 'top_k',
+ 'top_p', 'typical_p',
+ 'xtc_probability', 'xtc_threshold'
+ ],
+ hasMessages: true,
+ mediaPathPreview: [],
+ enableThinking: true,
+ reasoningFormat: null,
+ chatParserLength: 0,
+ chatParserHash: '811c9dc5',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 0,
+ stopPreview: [],
+ suspectFlags: []
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071484-lklda4',
+ completionTransport: 'messages-api',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:result {
+ requestId: '1773991071484-lklda4',
+ activeModelId: undefined,
+ contentLength: 13,
+ tokenCount: 0,
+ tokenPreview: '',
+ textPreview: 'Response text',
+ contentPreview: '',
+ reasoningPreview: '',
+ textDiag: {
+ length: 13,
+ hash: 'd0aaad71',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.077,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'Re',
+ repeatedBigramCount: 1,
+ preview: 'Response text'
+ },
+ contentDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ reasoningDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: undefined,
+ activeProjectionModelId: undefined,
+ imageCount: 1,
+ promptLength: 11,
+ imageSources: [ '/path/to/image.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071489-h9p4jw',
+ completionTransport: 'messages-api',
+ probe: {
+ paramKeys: [
+ 'enable_thinking', 'messages',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'seed', 'stop',
+ 'temperature', 'top_k',
+ 'top_p', 'typical_p',
+ 'xtc_probability', 'xtc_threshold'
+ ],
+ hasMessages: true,
+ mediaPathPreview: [],
+ enableThinking: true,
+ reasoningFormat: null,
+ chatParserLength: 0,
+ chatParserHash: '811c9dc5',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 0,
+ stopPreview: [],
+ suspectFlags: []
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071489-h9p4jw',
+ completionTransport: 'messages-api',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:error {
+ requestId: '1773991071489-h9p4jw',
+ activeModelId: undefined,
+ error: 'Completion error'
+ }
+
+ at log (src/utils/debug.ts:141:13)
+ at Generator.throw ()
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: undefined,
+ activeProjectionModelId: undefined,
+ imageCount: 1,
+ promptLength: 11,
+ imageSources: [ '/path/to/image.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071493-9smnz8',
+ completionTransport: 'messages-api',
+ probe: {
+ paramKeys: [
+ 'enable_thinking', 'messages',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'seed', 'stop',
+ 'temperature', 'top_k',
+ 'top_p', 'typical_p',
+ 'xtc_probability', 'xtc_threshold'
+ ],
+ hasMessages: true,
+ mediaPathPreview: [],
+ enableThinking: true,
+ reasoningFormat: null,
+ chatParserLength: 0,
+ chatParserHash: '811c9dc5',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 0,
+ stopPreview: [],
+ suspectFlags: []
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071493-9smnz8',
+ completionTransport: 'messages-api',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:result {
+ requestId: '1773991071493-9smnz8',
+ activeModelId: undefined,
+ contentLength: 13,
+ tokenCount: 0,
+ tokenPreview: '',
+ textPreview: 'Response text',
+ contentPreview: '',
+ reasoningPreview: '',
+ textDiag: {
+ length: 13,
+ hash: 'd0aaad71',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.077,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'Re',
+ repeatedBigramCount: 1,
+ preview: 'Response text'
+ },
+ contentDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ reasoningDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: undefined,
+ activeProjectionModelId: undefined,
+ imageCount: 1,
+ promptLength: 11,
+ imageSources: [ '/path/to/image.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071500-jv69xh',
+ completionTransport: 'messages-api',
+ probe: {
+ paramKeys: [
+ 'enable_thinking', 'messages',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'seed', 'stop',
+ 'temperature', 'top_k',
+ 'top_p', 'typical_p',
+ 'xtc_probability', 'xtc_threshold'
+ ],
+ hasMessages: true,
+ mediaPathPreview: [],
+ enableThinking: true,
+ reasoningFormat: null,
+ chatParserLength: 0,
+ chatParserHash: '811c9dc5',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 0,
+ stopPreview: [],
+ suspectFlags: []
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071500-jv69xh',
+ completionTransport: 'messages-api',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:result {
+ requestId: '1773991071500-jv69xh',
+ activeModelId: undefined,
+ contentLength: 13,
+ tokenCount: 0,
+ tokenPreview: '',
+ textPreview: 'Response text',
+ contentPreview: '',
+ reasoningPreview: '',
+ textDiag: {
+ length: 13,
+ hash: 'd0aaad71',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.077,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'Re',
+ repeatedBigramCount: 1,
+ preview: 'Response text'
+ },
+ contentDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ reasoningDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:request {
+ activeModelId: 'custom-jinja-vision-model',
+ activeProjectionModelId: undefined,
+ imageCount: 1,
+ promptLength: 11,
+ imageSources: [ '/path/to/image.jpg' ]
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineInput] startImageCompletion:pre-native-call {
+ requestId: '1773991071504-e5xfpm',
+ completionTransport: 'prompt-preformatted-template',
+ probe: {
+ paramKeys: [
+ 'chat_parser', 'enable_thinking',
+ 'jinja', 'media_paths',
+ 'min_p', 'mirostat',
+ 'mirostat_eta', 'mirostat_tau',
+ 'n_predict', 'n_probs',
+ 'penalty_freq', 'penalty_last_n',
+ 'penalty_present', 'penalty_repeat',
+ 'prompt', 'seed',
+ 'stop', 'temperature',
+ 'top_k', 'top_p',
+ 'typical_p', 'xtc_probability',
+ 'xtc_threshold'
+ ],
+ hasMessages: false,
+ mediaPathPreview: [ '/path/to/image.jpg' ],
+ enableThinking: false,
+ reasoningFormat: null,
+ chatParserLength: 7,
+ chatParserHash: '75f75f16',
+ preservedTokenCount: 0,
+ preservedTokensPreview: [],
+ grammarTriggersCount: 0,
+ promptDiag: {
+ length: 24,
+ hash: '4fedae12',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.083,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'om',
+ repeatedBigramCount: 2,
+ preview: 'custom multimodal prompt'
+ },
+ promptHasVisionTokens: false,
+ promptHasThinkTag: false,
+ stopCount: 3,
+ stopPreview: [ '', '', '' ],
+ suspectFlags: [ 'multimodal+chat_parser' ]
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:post-native-call {
+ requestId: '1773991071504-e5xfpm',
+ completionTransport: 'prompt-preformatted-template',
+ nativeBridgeReturned: true,
+ promiseCreated: true
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.log
+ [EngineOutput] startImageCompletion:result {
+ requestId: '1773991071504-e5xfpm',
+ activeModelId: 'custom-jinja-vision-model',
+ contentLength: 13,
+ tokenCount: 0,
+ tokenPreview: '',
+ textPreview: 'Response text',
+ contentPreview: '',
+ reasoningPreview: '',
+ textDiag: {
+ length: 13,
+ hash: 'd0aaad71',
+ asciiRatio: 1,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0.077,
+ repeatedCharMaxRun: 1,
+ repeatedBigramTop: 'Re',
+ repeatedBigramCount: 1,
+ preview: 'Response text'
+ },
+ contentDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ },
+ reasoningDiag: {
+ length: 0,
+ hash: '811c9dc5',
+ asciiRatio: 0,
+ symbolRatio: 0,
+ digitRatio: 0,
+ whitespaceRatio: 0,
+ repeatedCharMaxRun: 0,
+ repeatedBigramTop: '',
+ repeatedBigramCount: 0,
+ preview: ''
+ }
+ }
+
+ at log (src/utils/debug.ts:141:13)
+
+ console.error
+ should not reach here. model: {
+ id: [Getter/Setter],
+ isDownloaded: [Getter/Setter],
+ hash: [Getter/Setter],
+ filename: [Getter/Setter]
+ }
+
+ 839 |
+ 840 | // Fallback (shouldn't reach here)
+ > 841 | console.error('should not reach here. model: ', model);
+ | ^
+ 842 | return `${RNFS.DocumentDirectoryPath}/${model.filename}`;
+ 843 | };
+ 844 |
+
+ at ModelStore.error (src/store/ModelStore.ts:841:13)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at ModelStore.apply (src/store/ModelStore.ts:843:4)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.getModelFullPath (src/store/ModelStore.ts:3340:35)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at ModelStore.apply (src/store/ModelStore.ts:3346:4)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at Object.updateModelHash (src/store/__tests__/ModelStore.test.ts:2353:24)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at Object. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+
+ console.error
+ Failed to initialize model context for "basic model" (model-1): Error: Init failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/ModelStore.test.ts:2552:39)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 1680 | return ctx;
+ 1681 | } catch (error) {
+ > 1682 | console.error(
+ | ^
+ 1683 | `Failed to initialize model context for "${model.name}" (${model.id}):`,
+ 1684 | error,
+ 1685 | );
+
+ at ModelStore.error (src/store/ModelStore.ts:1682:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Error checking thinking capabilities: TypeError: Cannot read properties of undefined (reading 'desc')
+ at desc (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/thinkingCapabilityDetection.ts:75:35)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/thinkingCapabilityDetection.ts:88:2)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/thinkingCapabilityDetection.ts:31:39)
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2445:57)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at ModelStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at ModelStore.apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:2433:48)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.updateModelThinkingCapabilities (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/ModelStore.ts:1584:18)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ 80 | }
+ 81 | } catch (error) {
+ > 82 | console.error('Error checking thinking capabilities:', error);
+ | ^
+ 83 | }
+ 84 | }
+ 85 |
+
+ at error (src/utils/thinkingCapabilityDetection.ts:82:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12
+ at apply (src/utils/thinkingCapabilityDetection.ts:88:2)
+ at apply (src/utils/thinkingCapabilityDetection.ts:31:39)
+ at ModelStore. (src/store/ModelStore.ts:2445:57)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at ModelStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at ModelStore.apply (src/store/ModelStore.ts:2433:48)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at ModelStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at ModelStore.updateModelThinkingCapabilities (src/store/ModelStore.ts:1584:18)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+PASS src/services/palshub/__tests__/ErrorHandler.test.ts
+ ● Console
+
+ console.log
+ AuthService: Supabase is configured, initializing auth listener
+
+ at new log (src/services/palshub/AuthService.ts:59:17)
+
+ console.log
+ Google Sign-In configured successfully
+
+ at AuthService.log (src/services/palshub/AuthService.ts:201:15)
+
+ console.log
+ AuthService: Constructor completed successfully
+
+ at new log (src/services/palshub/AuthService.ts:77:15)
+
+ console.log
+ AuthService: Session restoration completed
+
+ at log (src/services/palshub/AuthService.ts:68:19)
+
+PASS src/components/ChatInput/__tests__/ChatInput.test.tsx (39.62 s)
+ ● Console
+
+ console.warn
+ [MobX] Failed to get unstable_batched updates from react-dom / react-native
+
+ 14 | import ReactNativeHapticFeedback from 'react-native-haptic-feedback';
+ 15 |
+ > 16 | import {observer} from 'mobx-react';
+ | ^
+ 17 | import {IconButton, Text} from 'react-native-paper';
+ 18 |
+ 19 | import {hasVideoCapability} from '../../utils/pal-capabilities';
+
+ at warn (node_modules/mobx-react-lite/src/utils/observerBatching.ts:11:21)
+ at Object. (node_modules/mobx-react-lite/src/index.ts:1:1)
+ at Object. (node_modules/mobx-react-lite/dist/index.js:7:20)
+ at Object. (node_modules/mobx-react/dist/mobxreact.cjs.development.js:10:21)
+ at Object. (node_modules/mobx-react/dist/index.js:7:20)
+ at Object.require (src/components/ChatInput/ChatInput.tsx:16:1)
+ at Object.require (src/components/ChatInput/__tests__/ChatInput.test.tsx:10:1)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: console.log
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: pal-db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal database migration already completed
+
+ at PalRepository.log (src/repositories/PalRepository.ts:23:17)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.error
+ An update to Animated(View) inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchReducerAction (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4097:14)
+ at Object.scheduleUpdate [as current] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:121:20)
+ at AnimatedProps.current [as _callback] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:64:56)
+ at AnimatedProps._callback [as update] (node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js:231:10)
+ at update (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:31)
+ at Set.forEach ()
+ at forEach (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:10)
+ at AnimatedValue.flushValue [as _updateValue] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:358:7)
+ at SpringAnimation._updateValue [as _onUpdate] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:322:14)
+ at SpringAnimation._onUpdate [as onUpdate] (node_modules/react-native/Libraries/Animated/animations/SpringAnimation.js:328:10)
+ at Timeout.callback [as _onTimeout] (node_modules/react-native-worklets/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts:10:27)
+
+ console.error
+ An update to Animated(View) inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchReducerAction (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4097:14)
+ at Object.scheduleUpdate [as current] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:121:20)
+ at AnimatedProps.current [as _callback] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:64:56)
+ at AnimatedProps._callback [as update] (node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js:231:10)
+ at update (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:31)
+ at Set.forEach ()
+ at forEach (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:10)
+ at AnimatedValue.flushValue [as _updateValue] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:358:7)
+ at SpringAnimation._updateValue [as _onUpdate] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:322:14)
+ at SpringAnimation._onUpdate [as onUpdate] (node_modules/react-native/Libraries/Animated/animations/SpringAnimation.js:328:10)
+ at Timeout.callback [as _onTimeout] (node_modules/react-native-worklets/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts:10:27)
+
+ console.error
+ An update to Animated(View) inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchReducerAction (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4097:14)
+ at Object.scheduleUpdate [as current] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:121:20)
+ at AnimatedProps.current [as _callback] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:64:56)
+ at AnimatedProps._callback [as update] (node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js:231:10)
+ at update (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:31)
+ at Set.forEach ()
+ at forEach (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:10)
+ at AnimatedValue.flushValue [as _updateValue] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:358:7)
+ at SpringAnimation._updateValue [as _onUpdate] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:322:14)
+ at SpringAnimation._onUpdate [as onUpdate] (node_modules/react-native/Libraries/Animated/animations/SpringAnimation.js:328:10)
+ at Timeout.callback [as _onTimeout] (node_modules/react-native-worklets/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts:10:27)
+
+ console.error
+ An update to Animated(View) inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchReducerAction (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4097:14)
+ at Object.scheduleUpdate [as current] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:121:20)
+ at AnimatedProps.current [as _callback] (node_modules/react-native/src/private/animated/createAnimatedPropsHook.js:64:56)
+ at AnimatedProps._callback [as update] (node_modules/react-native/Libraries/Animated/nodes/AnimatedProps.js:231:10)
+ at update (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:31)
+ at Set.forEach ()
+ at forEach (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:64:10)
+ at AnimatedValue.flushValue [as _updateValue] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:358:7)
+ at SpringAnimation._updateValue [as _onUpdate] (node_modules/react-native/Libraries/Animated/nodes/AnimatedValue.js:322:14)
+ at SpringAnimation._onUpdate [as onUpdate] (node_modules/react-native/Libraries/Animated/animations/SpringAnimation.js:328:10)
+ at Timeout.callback [as _onTimeout] (node_modules/react-native-worklets/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts:10:27)
+
+PASS src/screens/ModelsScreen/ModelCard/__tests__/ModelCard.test.tsx (35.683 s)
+ ● Console
+
+ console.warn
+ [MobX] Failed to get unstable_batched updates from react-dom / react-native
+
+ 10 | } from 'react-native';
+ 11 |
+ > 12 | import {observer} from 'mobx-react-lite';
+ | ^
+ 13 | import {useNavigation} from '@react-navigation/native';
+ 14 | import {DrawerNavigationProp} from '@react-navigation/drawer';
+ 15 | import {
+
+ at warn (node_modules/mobx-react-lite/src/utils/observerBatching.ts:11:21)
+ at Object. (node_modules/mobx-react-lite/src/index.ts:1:1)
+ at Object. (node_modules/mobx-react-lite/dist/index.js:7:20)
+ at Object.require (src/screens/ModelsScreen/ModelCard/ModelCard.tsx:12:1)
+ at Object.require (src/screens/ModelsScreen/ModelCard/__tests__/ModelCard.test.tsx:20:1)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: console.log
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: pal-db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: db-migration-complete.flag
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.log
+ Pal database migration already completed
+
+ at PalRepository.log (src/repositories/PalRepository.ts:23:17)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.error
+ An update to null inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ 72 | });
+ 73 | } else {
+ > 74 | setStorageStatus({
+ | ^
+ 75 | isOk: true,
+ 76 | message: '',
+ 77 | });
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchSetStateInternal (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4148:13)
+ at dispatchSetState (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4107:7)
+ at setStorageStatus (src/hooks/useStorageCheck.ts:74:11)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+PASS src/components/PalsHub/PalDetailSheet/__tests__/PalDetailSheet.test.tsx
+ ● Console
+
+ console.warn
+ [MobX] Failed to get unstable_batched updates from react-dom / react-native
+
+ 2 | import {View, Image, Alert, Linking} from 'react-native';
+ 3 |
+ > 4 | import {observer} from 'mobx-react-lite';
+ | ^
+ 5 | import {Text, Button, Surface, Divider} from 'react-native-paper';
+ 6 |
+ 7 | import {StarIcon, DownloadIcon, UserIcon} from '../../../assets/icons';
+
+ at warn (node_modules/mobx-react-lite/src/utils/observerBatching.ts:11:21)
+ at Object. (node_modules/mobx-react-lite/src/index.ts:1:1)
+ at Object. (node_modules/mobx-react-lite/dist/index.js:7:20)
+ at Object.require (src/components/PalsHub/PalDetailSheet/PalDetailSheet.tsx:4:1)
+ at Object.require (src/components/PalsHub/PalDetailSheet/__tests__/PalDetailSheet.test.tsx:5:1)
+
+ console.log
+ checkFileExists: marking as downloaded - this should not happen: console.log
+
+ at Object.log (__mocks__/external/@dr.pogodin/react-native-fs.js:13:13)
+
+ console.error
+ Failed to fetch pal details: Error: Network error
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/components/PalsHub/PalDetailSheet/__tests__/PalDetailSheet.test.tsx:190:26)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 60 | setDetailedPal(detailed);
+ 61 | } catch (fetchError) {
+ > 62 | console.error('Failed to fetch pal details:', fetchError);
+ | ^
+ 63 | // Fallback to basic pal information if detailed fetch fails
+ 64 | setDetailedPal(pal);
+ 65 | const errorMessage =
+
+ at error (src/components/PalsHub/PalDetailSheet/PalDetailSheet.tsx:62:19)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ An update to null inside a test was not wrapped in act(...).
+
+ When testing, code that causes React state updates should be wrapped into act(...):
+
+ act(() => {
+ /* fire events that update state */
+ });
+ /* assert on the output */
+
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
+
+ 110 | Alert.alert(l10n.palsScreen.palDetailSheet.error, errorMessage);
+ 111 | } finally {
+ > 112 | setIsLoading(false);
+ | ^
+ 113 | }
+ 114 | };
+ 115 |
+
+ at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11801:19
+ at runWithFiberInDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:1574:13)
+ at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:11800:9)
+ at scheduleUpdateOnFiber (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10326:9)
+ at dispatchSetStateInternal (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4148:13)
+ at dispatchSetState (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4107:7)
+ at setIsLoading (src/components/PalsHub/PalDetailSheet/PalDetailSheet.tsx:112:9)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+PASS src/store/__tests__/PalStore.test.ts
+ ● Console
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.error
+ Error initializing Lookie pal: TypeError: Cannot read properties of undefined (reading 'find')
+ at PalStore.find (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/PalStore.ts:695:35)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at PalStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at PalStore.apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/PalStore.ts:692:36)
+ at apply (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:70:19)
+ at PalStore.executeAction (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/mobx/src/core/action.ts:50:16)
+ at PalStore.initializeLookiePal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/PalStore.ts:88:18)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 740 | }
+ 741 | } catch (error) {
+ > 742 | console.error('Error initializing Lookie pal:', error);
+ | ^
+ 743 | }
+ 744 | }
+ 745 | }
+
+ at PalStore.error (src/store/PalStore.ts:742:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at PalStore. (node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at PalStore.apply (src/store/PalStore.ts:692:36)
+ at apply (node_modules/mobx/src/core/action.ts:70:19)
+ at PalStore.executeAction (node_modules/mobx/src/core/action.ts:50:16)
+ at PalStore.initializeLookiePal (src/store/PalStore.ts:88:18)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.log
+ Pal store initialized
+
+ at new log (src/store/PalStore.ts:71:13)
+
+ console.log
+ Pals number: 0
+
+ at new log (src/store/PalStore.ts:72:13)
+
+ console.log
+ Creating default Lookie pal...
+
+ at PalStore.log (src/store/PalStore.ts:700:17)
+
+ console.log
+ Pal store initialization completed
+
+ at PalStore.log (src/store/PalStore.ts:93:15)
+
+ console.error
+ Error updating pal: Error: Update failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/__tests__/PalStore.test.ts:219:23)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 175 | }
+ 176 | } catch (error) {
+ > 177 | console.error('Error updating pal:', error);
+ | ^
+ 178 | throw error; // Re-throw so calling code can handle it
+ 179 | }
+ 180 | };
+
+ at PalStore.error (src/store/PalStore.ts:177:15)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Error updating pal: Error: Failed to update pal - no updated pal returned
+ at PalStore. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/store/PalStore.ts:174:15)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ 175 | }
+ 176 | } catch (error) {
+ > 177 | console.error('Error updating pal:', error);
+ | ^
+ 178 | throw error; // Re-throw so calling code can handle it
+ 179 | }
+ 180 | };
+
+ at PalStore.error (src/store/PalStore.ts:177:15)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.log
+ Downloading thumbnail for pal: Test Pal
+
+ at PalStore.log (src/store/PalStore.ts:252:19)
+
+ console.log
+ Thumbnail downloaded successfully: /path/to/thumbnail.jpg
+
+ at PalStore.log (src/store/PalStore.ts:260:19)
+
+ console.log
+ Downloading thumbnail for pal: PalsHub Test Pal
+
+ at PalStore.log (src/store/PalStore.ts:252:19)
+
+ console.log
+ Thumbnail downloaded successfully: /path/to/thumbnail.jpg
+
+ at PalStore.log (src/store/PalStore.ts:260:19)
+
+PASS src/utils/__tests__/exportUtils.test.ts
+ ● Console
+
+ console.error
+ Error exporting legacy chat sessions: Error: Legacy chat sessions file not found
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/exportUtils.ts:401:13
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 412 | await shareJsonData(legacyData, filename);
+ 413 | } catch (error) {
+ > 414 | console.error('Error exporting legacy chat sessions:', error);
+ | ^
+ 415 | throw error;
+ 416 | }
+ 417 | };
+
+ at error (src/utils/exportUtils.ts:414:13)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.error
+ Error exporting legacy chat sessions: Error: File read failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/__tests__/exportUtils.test.ts:125:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 412 | await shareJsonData(legacyData, filename);
+ 413 | } catch (error) {
+ > 414 | console.error('Error exporting legacy chat sessions:', error);
+ | ^
+ 415 | throw error;
+ 416 | }
+ 417 | };
+
+ at error (src/utils/exportUtils.ts:414:13)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Error exporting chat session: Error: Session not found
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/exportUtils.ts:23:13
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+
+ 58 | await shareJsonData(jsonData, filename);
+ 59 | } catch (error) {
+ > 60 | console.error('Error exporting chat session:', error);
+ | ^
+ 61 | throw error;
+ 62 | }
+ 63 | };
+
+ at error (src/utils/exportUtils.ts:60:13)
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+
+ console.error
+ Error sharing JSON data: Error: Write failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/__tests__/exportUtils.test.ts:186:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 575 | }
+ 576 | } catch (error: any) {
+ > 577 | console.error('Error sharing JSON data:', error);
+ | ^
+ 578 |
+ 579 | // Show a more user-friendly error message
+ 580 | Alert.alert(
+
+ at error (src/utils/exportUtils.ts:577:13)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.error
+ Error exporting chat session: Error: Write failed
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/__tests__/exportUtils.test.ts:186:9)
+ at Generator.next ()
+ at asyncGeneratorStep (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _next (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:17:9)
+ at /home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:7
+ at new Promise ()
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/@babel/runtime/helpers/asyncToGenerator.js:14:12)
+ at Promise.then.completed (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:298:28)
+ at new Promise ()
+ at callAsyncCircusFn (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/utils.js:231:10)
+ at _callCircusTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:316:40)
+ at processTicksAndRejections (node:internal/process/task_queues:105:5)
+ at _runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:252:3)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:126:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at _runTestsForDescribeBlock (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:121:9)
+ at run (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/run.js:71:3)
+ at runAndTransformResultsToJestFormat (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
+ at jestAdapter (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
+ at runTestInternal (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:367:16)
+ at runTest (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/runTest.js:444:34)
+ at Object.worker (/home/runner/work/pocketpal-experimental/pocketpal-experimental/node_modules/jest-runner/build/testWorker.js:106:12)
+
+ 58 | await shareJsonData(jsonData, filename);
+ 59 | } catch (error) {
+ > 60 | console.error('Error exporting chat session:', error);
+ | ^
+ 61 | throw error;
+ 62 | }
+ 63 | };
+
+ at error (src/utils/exportUtils.ts:60:13)
+ at Generator.throw ()
+ at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:17)
+ at _throw (node_modules/@babel/runtime/helpers/asyncToGenerator.js:20:9)
+
+ console.warn
+ Failed to read thumbnail for export: Error: File not found
+ at Object. (/home/runner/work/pocketpal-experimental/pocketpal-experimental/src/utils/__tests__/exportUtils.test.ts:431:11)
+ at Generator.next (