diff --git a/frontend/src/app/providers/layout/navigation/navigation.tsx b/frontend/src/app/providers/layout/navigation/navigation.tsx
index 3c7a3be..14a83ed 100644
--- a/frontend/src/app/providers/layout/navigation/navigation.tsx
+++ b/frontend/src/app/providers/layout/navigation/navigation.tsx
@@ -1,5 +1,12 @@
import { useNavigate, useLocation } from "react-router-dom";
-import { FaHome, FaServer, FaPalette, FaUser } from "react-icons/fa";
+import {
+ FaHome,
+ FaServer,
+ FaPalette,
+ FaUser,
+ FaUsers,
+ FaRocket,
+} from "react-icons/fa";
import { useAuthStore } from "@/modules/auth/store/useAuthStore";
export const Navigation = () => {
@@ -9,7 +16,8 @@ export const Navigation = () => {
const navItems = [
{ path: "/", label: "Главная", icon: FaHome },
- { path: "/add-agents", label: "Агенты", icon: FaServer },
+ { path: "/add-agents", label: "Деплой", icon: FaRocket },
+ { path: "/admin", label: "Админка", icon: FaUsers, adminOnly: true },
{ path: "/themes", label: "Темы", icon: FaPalette },
];
@@ -40,36 +48,44 @@ export const Navigation = () => {
{/* Навигация */}
- {navItems.map((item) => {
- const Icon = item.icon;
- const active = isActive(item.path);
- return (
-
- );
- })}
+ {navItems
+ .filter((item) => {
+ if (item.adminOnly && !user?.permission_admin) return false;
+ return true;
+ })
+ .map((item) => {
+ const Icon = item.icon;
+ const active = isActive(item.path);
+ return (
+
+ );
+ })}
{/* Профиль пользователя */}
@@ -82,7 +98,10 @@ export const Navigation = () => {
>
-
+
{user.name}
diff --git a/frontend/src/app/providers/routing/routing.tsx b/frontend/src/app/providers/routing/routing.tsx
index 131f5f6..c9b4e6d 100644
--- a/frontend/src/app/providers/routing/routing.tsx
+++ b/frontend/src/app/providers/routing/routing.tsx
@@ -9,6 +9,7 @@ import { RegisterPage } from "@/pages/register.page";
import { DefaultLayout } from "@/shared/layouts/DefaultLayout";
import { AddAgentsPage } from "@/pages/add-agents.page";
import { IDEPage } from "@/pages/ide.page";
+import { AdminPage } from "@/pages/admin.page";
export const mockGraphData: GraphData = {
nodes: [
@@ -119,6 +120,7 @@ export const Routing = () => {
} />
} />
} />
+ } />
} />
diff --git a/frontend/src/modules/agent/api/agent.api.service.ts b/frontend/src/modules/agent/api/agent.api.service.ts
index e5f629f..db258e8 100644
--- a/frontend/src/modules/agent/api/agent.api.service.ts
+++ b/frontend/src/modules/agent/api/agent.api.service.ts
@@ -7,6 +7,12 @@ import type {
LogFilters,
InsertLogRequest,
InsertLogsRequest,
+ TokenUpdate,
+ TokenUpdatePermissions,
+ TokenPasswordReset,
+ RegistrationRequest,
+ DeployAgentsRequest,
+ DeployResponse,
} from "../types/agent.types";
class AgentApiService {
@@ -20,7 +26,9 @@ class AgentApiService {
}
async getUsers(): Promise {
- const response = await apiClient.get(`${this.authBasePath}/tokens`);
+ const response = await apiClient.get(
+ `${this.authBasePath}/tokens`,
+ );
return response.data;
}
@@ -60,17 +68,85 @@ class AgentApiService {
}
async getDistinctAgents(): Promise {
- const response = await apiClient.get(`${this.logsBasePath}/agents`);
+ const response = await apiClient.get(
+ `${this.logsBasePath}/agents`,
+ );
return response.data;
}
async getDistinctLevels(): Promise {
- const response = await apiClient.get(`${this.logsBasePath}/levels`);
+ const response = await apiClient.get(
+ `${this.logsBasePath}/levels`,
+ );
return response.data;
}
async getDistinctServices(): Promise {
- const response = await apiClient.get(`${this.logsBasePath}/services`);
+ const response = await apiClient.get(
+ `${this.logsBasePath}/services`,
+ );
+ return response.data;
+ }
+
+ // User management methods
+ async getUserByLogin(login: string): Promise {
+ const response = await apiClient.get(
+ `${this.authBasePath}/users/${login}`,
+ );
+ return response.data;
+ }
+
+ async getInactiveUsers(): Promise {
+ const response = await apiClient.get(
+ `${this.authBasePath}/users/inactive`,
+ );
+ return response.data;
+ }
+
+ async updateUser(login: string, data: TokenUpdate): Promise {
+ await apiClient.put(`${this.authBasePath}/users/${login}`, data);
+ }
+
+ async updateUserPermissions(
+ login: string,
+ data: TokenUpdatePermissions,
+ ): Promise {
+ await apiClient.put(
+ `${this.authBasePath}/users/${login}/permissions`,
+ data,
+ );
+ }
+
+ async resetUserPassword(
+ login: string,
+ data: TokenPasswordReset,
+ ): Promise {
+ await apiClient.put(`${this.authBasePath}/users/${login}/password`, data);
+ }
+
+ async activateUser(login: string): Promise {
+ await apiClient.post(`${this.authBasePath}/users/${login}/activate`);
+ }
+
+ async deactivateUser(login: string): Promise {
+ await apiClient.post(`${this.authBasePath}/users/${login}/deactivate`);
+ }
+
+ async createRegistrationToken(
+ data: RegistrationRequest,
+ ): Promise> {
+ const response = await apiClient.post>(
+ `${this.basePath}/register-token`,
+ data,
+ );
+ return response.data;
+ }
+
+ async deployAgents(data: DeployAgentsRequest): Promise {
+ const response = await apiClient.post(
+ `${this.basePath}/deploy`,
+ data,
+ );
return response.data;
}
}
diff --git a/frontend/src/modules/agent/types/agent.types.ts b/frontend/src/modules/agent/types/agent.types.ts
index 7d0e342..6b7b168 100644
--- a/frontend/src/modules/agent/types/agent.types.ts
+++ b/frontend/src/modules/agent/types/agent.types.ts
@@ -74,3 +74,51 @@ export interface LogFilters {
limit?: number;
offset?: number;
}
+
+export interface TokenUpdate {
+ name?: string;
+ last_name?: string;
+}
+
+export interface TokenUpdatePermissions {
+ is_active?: boolean;
+ permission_admin?: boolean;
+ permission_manage_agent?: boolean;
+ permission_view?: boolean;
+}
+
+export interface TokenPasswordReset {
+ new_password: string;
+}
+
+export interface RegistrationRequest {
+ label: string;
+}
+
+export interface DeployResult {
+ agent_label: string;
+ error?: string;
+ ip: string;
+ success: boolean;
+ token?: string;
+}
+
+export interface DeployAgentsRequest {
+ servers: AgentDeployConfig[];
+}
+
+export interface AgentDeployConfig {
+ agentLabel: string;
+ authMethod: "key" | "password";
+ deployType: "docker" | "binary";
+ ip: string;
+ password?: string;
+ port?: number;
+ sshKey?: string;
+ user: string;
+}
+
+export interface DeployResponse {
+ message?: string;
+ results: DeployResult[];
+}
diff --git a/frontend/src/pages/add-agents.page.tsx b/frontend/src/pages/add-agents.page.tsx
index eb01f41..ca439d1 100644
--- a/frontend/src/pages/add-agents.page.tsx
+++ b/frontend/src/pages/add-agents.page.tsx
@@ -1,17 +1,18 @@
import React, { useState } from "react";
import { SSHAgentForm } from "../modules/agent/ui/SSHAgentForm";
import { agentApiService } from "../modules/agent/api/agent.api.service";
-import { FiPlusCircle, FiSend } from "react-icons/fi";
-
-interface SSHAgentConfig {
- user: string;
- ip: string;
- authMethod: string;
- sshKey?: string;
- password?: string;
- extraFields: { key: string; value: string }[];
- deployType: string;
-}
+import type { SSHAgentConfig } from "../modules/agent/ui/SSHAgentForm";
+import type {
+ DeployAgentsRequest,
+ DeployResult,
+} from "../modules/agent/types/agent.types";
+import {
+ FiPlusCircle,
+ FiSend,
+ FiCheck,
+ FiX,
+ FiAlertCircle,
+} from "react-icons/fi";
const createEmptyAgentConfig = (): SSHAgentConfig => ({
user: "",
@@ -67,21 +68,52 @@ export const AddAgentsPage: React.FC = () => {
setSubmitError(null);
try {
- // Получаем текущих агентов для проверки подключения
- const currentAgents = await agentApiService.getAgents();
- console.log("Current agents:", currentAgents);
+ // Преобразуем данные из формы в формат API
+ const deployData: DeployAgentsRequest = {
+ servers: agents.map((agent) => ({
+ agentLabel: `${agent.ip}-${agent.user}`,
+ ip: agent.ip,
+ user: agent.user,
+ authMethod: agent.authMethod as "key" | "password",
+ deployType: (agent.deployType === "deploy"
+ ? "docker"
+ : agent.deployType) as "docker" | "binary",
+ port: 22,
+ ...(agent.authMethod === "key"
+ ? { sshKey: agent.sshKey }
+ : { password: agent.password }),
+ })),
+ };
- // TODO: Реальный API вызов для развертывания агентов
- // Пока выводим список подключенных агентов
- setSubmitMessage(
- `Успешно подключено ${currentAgents.length} агент(ов). Серверы: ${agents.length}`,
- );
- setAgents([createEmptyAgentConfig()]);
+ // Вызываем API для развертывания агентов
+ const response = await agentApiService.deployAgents(deployData);
+
+ // Формируем сообщение о результатах
+ const successCount = response.results.filter(
+ (r: DeployResult) => r.success,
+ ).length;
+ const failCount = response.results.length - successCount;
+
+ if (failCount === 0) {
+ setSubmitMessage(
+ `Успешно развернуто ${successCount} агент(ов) на ${agents.length} сервер(ах)`,
+ );
+ setAgents([createEmptyAgentConfig()]);
+ } else {
+ const errorMsg = response.results
+ .filter((r: DeployResult) => !r.success)
+ .map(
+ (r: DeployResult) => `${r.ip}: ${r.error || "Неизвестная ошибка"}`,
+ )
+ .join("\n");
+ setSubmitMessage(`Успешно: ${successCount}, Ошибки: ${failCount}`);
+ setSubmitError(`Ошибки при развертывании:\n${errorMsg}`);
+ }
} catch (error) {
setSubmitError(
error instanceof Error
? error.message
- : "Ошибка при подключении к серверам",
+ : "Ошибка при развертывании агентов",
);
} finally {
setIsSubmitting(false);
@@ -167,20 +199,26 @@ export const AddAgentsPage: React.FC = () => {
color: "var(--success-text)",
}}
>
- {submitMessage}
+
+
+ {submitMessage}
+
)}
{submitError && (
- {submitError}
+
+
+ {submitError}
+
)}
diff --git a/frontend/src/pages/admin.page.tsx b/frontend/src/pages/admin.page.tsx
new file mode 100644
index 0000000..1db30d9
--- /dev/null
+++ b/frontend/src/pages/admin.page.tsx
@@ -0,0 +1,730 @@
+import React, { useState, useEffect, useCallback } from "react";
+import { agentApiService } from "@/modules/agent";
+import type { TokenUser, TokenCreate, TokenUpdatePermissions, TokenPasswordReset } from "@/modules/agent";
+import { FiUsers, FiUserPlus, FiEdit2, FiTrash2, FiUnlock, FiLock, FiKey, FiX, FiCheck, FiSearch } from "react-icons/fi";
+
+export const AdminPage: React.FC = () => {
+ const [users, setUsers] = useState([]);
+ const [inactiveUsers, setInactiveUsers] = useState([]);
+ const [isLoading, setIsLoading] = useState(false);
+ const [error, setError] = useState(null);
+ const [successMessage, setSuccessMessage] = useState(null);
+ const [activeTab, setActiveTab] = useState<"active" | "inactive">("active");
+ const [searchQuery, setSearchQuery] = useState("");
+
+ // Modal states
+ const [showCreateModal, setShowCreateModal] = useState(false);
+ const [showEditModal, setShowEditModal] = useState(false);
+ const [showPasswordModal, setShowPasswordModal] = useState(false);
+ const [selectedUser, setSelectedUser] = useState(null);
+
+ // Form states
+ const [createData, setCreateData] = useState({
+ login: "",
+ name: "",
+ last_name: "",
+ password: "",
+ permission_admin: false,
+ permission_manage_agent: false,
+ permission_view: false,
+ is_active: false,
+ });
+
+ const [editData, setEditData] = useState({
+ is_active: false,
+ permission_admin: false,
+ permission_manage_agent: false,
+ permission_view: false,
+ });
+
+ const [passwordData, setPasswordData] = useState({
+ new_password: "",
+ });
+
+ const fetchUsers = useCallback(async () => {
+ setIsLoading(true);
+ setError(null);
+ try {
+ const [active, inactive] = await Promise.all([
+ agentApiService.getUsers(),
+ agentApiService.getInactiveUsers(),
+ ]);
+ setUsers(active);
+ setInactiveUsers(inactive);
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при загрузке пользователей");
+ } finally {
+ setIsLoading(false);
+ }
+ }, []);
+
+ useEffect(() => {
+ fetchUsers();
+ }, [fetchUsers]);
+
+ const handleCreateUser = async (e: React.FormEvent) => {
+ e.preventDefault();
+ setError(null);
+ try {
+ await agentApiService.createUser(createData);
+ setSuccessMessage("Пользователь успешно создан");
+ setShowCreateModal(false);
+ setCreateData({
+ login: "",
+ name: "",
+ last_name: "",
+ password: "",
+ permission_admin: false,
+ permission_manage_agent: false,
+ permission_view: false,
+ is_active: false,
+ });
+ await fetchUsers();
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при создании пользователя");
+ }
+ };
+
+ const handleUpdatePermissions = async (e: React.FormEvent) => {
+ e.preventDefault();
+ if (!selectedUser) return;
+
+ setError(null);
+ try {
+ await agentApiService.updateUserPermissions(selectedUser.login, editData);
+ setSuccessMessage("Права пользователя обновлены");
+ setShowEditModal(false);
+ await fetchUsers();
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при обновлении прав");
+ }
+ };
+
+ const handleResetPassword = async (e: React.FormEvent) => {
+ e.preventDefault();
+ if (!selectedUser) return;
+
+ setError(null);
+ try {
+ await agentApiService.resetUserPassword(selectedUser.login, passwordData);
+ setSuccessMessage("Пароль изменен");
+ setShowPasswordModal(false);
+ setPasswordData({ new_password: "" });
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при сбросе пароля");
+ }
+ };
+
+ const handleActivateUser = async (login: string) => {
+ setError(null);
+ try {
+ await agentApiService.activateUser(login);
+ setSuccessMessage("Пользователь активирован");
+ await fetchUsers();
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при активации пользователя");
+ }
+ };
+
+ const handleDeactivateUser = async (login: string) => {
+ setError(null);
+ try {
+ await agentApiService.deactivateUser(login);
+ setSuccessMessage("Пользователь деактивирован");
+ await fetchUsers();
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при деактивации пользователя");
+ }
+ };
+
+ const handleDeleteUser = async (login: string) => {
+ if (!confirm(`Вы уверены, что хотите удалить пользователя ${login}?`)) return;
+
+ setError(null);
+ try {
+ await agentApiService.deleteUser(login);
+ setSuccessMessage("Пользователь удален");
+ await fetchUsers();
+ } catch (err) {
+ setError(err instanceof Error ? err.message : "Ошибка при удалении пользователя");
+ }
+ };
+
+ const openEditModal = (user: TokenUser) => {
+ setSelectedUser(user);
+ setEditData({
+ is_active: user.is_active,
+ permission_admin: user.permission_admin,
+ permission_manage_agent: user.permission_manage_agent,
+ permission_view: user.permission_view,
+ });
+ setShowEditModal(true);
+ };
+
+ const openPasswordModal = (user: TokenUser) => {
+ setSelectedUser(user);
+ setPasswordData({ new_password: "" });
+ setShowPasswordModal(true);
+ };
+
+ const filteredUsers = (activeTab === "active" ? users : inactiveUsers).filter(
+ (user) =>
+ user.login.toLowerCase().includes(searchQuery.toLowerCase()) ||
+ user.name.toLowerCase().includes(searchQuery.toLowerCase()) ||
+ user.last_name.toLowerCase().includes(searchQuery.toLowerCase())
+ );
+
+ const inputStyle: React.CSSProperties = {
+ width: "100%",
+ padding: "10px 12px",
+ border: "1px solid var(--border)",
+ borderRadius: "8px",
+ backgroundColor: "var(--input-bg)",
+ color: "var(--text-primary)",
+ fontSize: "14px",
+ };
+
+ const labelStyle: React.CSSProperties = {
+ display: "block",
+ marginBottom: "8px",
+ color: "var(--text-secondary)",
+ fontSize: "14px",
+ fontWeight: 500,
+ };
+
+ const buttonBaseStyle: React.CSSProperties = {
+ padding: "8px 16px",
+ borderRadius: "8px",
+ border: "none",
+ fontSize: "14px",
+ fontWeight: 500,
+ cursor: "pointer",
+ display: "inline-flex",
+ alignItems: "center",
+ gap: "6px",
+ };
+
+ return (
+
+
+ {/* Header */}
+
+
+
+
+
+
+
+ Управление пользователями
+
+
+ Администрирование учетных записей
+
+
+
+
+
+ {/* Messages */}
+ {successMessage && (
+
+
+ {successMessage}
+
+
+
+ )}
+
+ {error && (
+
+
+ {error}
+
+
+
+ )}
+
+ {/* Tabs and Actions */}
+
+
+ {/* Tabs */}
+
+
+
+
+
+ {/* Create Button */}
+
+
+
+ {/* Search */}
+
+
+ setSearchQuery(e.target.value)}
+ placeholder="Поиск по логину, имени или фамилии..."
+ className="w-full pl-10 pr-4 py-2.5 rounded-lg border"
+ style={{
+ backgroundColor: "var(--input-bg)",
+ borderColor: "var(--border)",
+ color: "var(--text-primary)",
+ }}
+ />
+
+
+
+ {/* Users Table */}
+ {isLoading ? (
+
+ Загрузка...
+
+ ) : filteredUsers.length === 0 ? (
+
+ Пользователи не найдены
+
+ ) : (
+
+
+
+
+ | Логин |
+ Имя |
+ Фамилия |
+ Админ |
+ Управление |
+ Просмотр |
+ Действия |
+
+
+
+ {filteredUsers.map((user, index) => (
+
+ | {user.login} |
+ {user.name} |
+ {user.last_name} |
+
+ {user.permission_admin ? (
+
+ ) : (
+
+ )}
+ |
+
+ {user.permission_manage_agent ? (
+
+ ) : (
+
+ )}
+ |
+
+ {user.permission_view ? (
+
+ ) : (
+
+ )}
+ |
+
+
+
+
+ {activeTab === "active" ? (
+
+ ) : (
+
+ )}
+
+
+ |
+
+ ))}
+
+
+
+ )}
+
+
+ {/* Create User Modal */}
+ {showCreateModal && (
+
+
+
+
Создать пользователя
+
+
+
+
+
+ )}
+
+ {/* Edit Permissions Modal */}
+ {showEditModal && selectedUser && (
+
+
+
+
+ Редактировать: {selectedUser.login}
+
+
+
+
+
+
+ )}
+
+ {/* Reset Password Modal */}
+ {showPasswordModal && selectedUser && (
+
+
+
+
+ Сброс пароля: {selectedUser.login}
+
+
+
+
+
+
+ )}
+
+ );
+};
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 24295b2..e800e91 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -16,7 +16,7 @@
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz"
integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==
-"@babel/core@^7.0.0", "@babel/core@^7.24.4":
+"@babel/core@^7.24.4":
version "7.29.0"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz"
integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==
@@ -111,11 +111,6 @@
dependencies:
"@babel/types" "^7.29.0"
-"@babel/runtime@^7.18.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
- version "7.29.2"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz"
- integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==
-
"@babel/runtime@7.1.2":
version "7.1.2"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz"
@@ -137,6 +132,11 @@
dependencies:
regenerator-runtime "^0.12.0"
+"@babel/runtime@^7.18.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
+ version "7.29.2"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz"
+ integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==
+
"@babel/template@^7.28.6":
version "7.28.6"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz"
@@ -246,7 +246,7 @@
"@codemirror/view" "^6.0.0"
"@lezer/highlight" "^1.0.0"
-"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0", "@codemirror/view@^6.37.0", "@codemirror/view@>=6.0.0":
+"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0", "@codemirror/view@^6.35.0", "@codemirror/view@^6.37.0":
version "6.41.0"
resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.41.0.tgz"
integrity sha512-6H/qadXsVuDY219Yljhohglve8xf4B8xJkVOEWfA5uiYKiTFppjqsvsfR5iPA0RbvRBoOyTZpbLIxe9+0UR8xA==
@@ -256,9 +256,7 @@
style-mod "^4.1.0"
w3c-keyname "^2.2.4"
-<<<<<<< Updated upstream
-=======
-"@codingame/monaco-vscode-api@^25.1.2", "@codingame/monaco-vscode-api@25.1.2":
+"@codingame/monaco-vscode-api@25.1.2", "@codingame/monaco-vscode-api@^25.1.2":
version "25.1.2"
resolved "https://registry.npmjs.org/@codingame/monaco-vscode-api/-/monaco-vscode-api-25.1.2.tgz"
integrity sha512-K04QcQA+Zb0KXucBAK/BGCT5dldiwIqdUbBQq7yuLvBLbof3cP1WSUuxasMHGYwM0MWyzIAsDtyAYMS7is8ZuA==
@@ -326,7 +324,7 @@
"@codingame/monaco-vscode-api" "25.1.2"
"@codingame/monaco-vscode-extensions-service-override" "25.1.2"
-"@codingame/monaco-vscode-extensions-service-override@^25.1.2", "@codingame/monaco-vscode-extensions-service-override@25.1.2":
+"@codingame/monaco-vscode-extensions-service-override@25.1.2", "@codingame/monaco-vscode-extensions-service-override@^25.1.2":
version "25.1.2"
resolved "https://registry.npmjs.org/@codingame/monaco-vscode-extensions-service-override/-/monaco-vscode-extensions-service-override-25.1.2.tgz"
integrity sha512-rTTZW2biPxcg+JumhVf2L+38C5ptvNNxiJlwz39VfXFEh6qOHtAsIMy7vIXa0uGg5/y8DNp0SnOQJP/RKhLYZA==
@@ -581,7 +579,28 @@
"@codingame/monaco-vscode-view-status-bar-service-override" "25.1.2"
"@codingame/monaco-vscode-view-title-bar-service-override" "25.1.2"
->>>>>>> Stashed changes
+"@emnapi/core@^1.8.1":
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.9.2.tgz#3870265ecffc7352d01ead62d8d83d8358a2d034"
+ integrity sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==
+ dependencies:
+ "@emnapi/wasi-threads" "1.2.1"
+ tslib "^2.4.0"
+
+"@emnapi/runtime@^1.8.1":
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.9.2.tgz#8b469a3db160817cadb1de9050211a9d1ea84fa2"
+ integrity sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==
+ dependencies:
+ tslib "^2.4.0"
+
+"@emnapi/wasi-threads@1.2.1", "@emnapi/wasi-threads@^1.1.0":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548"
+ integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==
+ dependencies:
+ tslib "^2.4.0"
+
"@eslint-community/eslint-utils@^4.8.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"
@@ -632,7 +651,7 @@
minimatch "^3.1.5"
strip-json-comments "^3.1.1"
-"@eslint/js@^9.39.4", "@eslint/js@9.39.4":
+"@eslint/js@9.39.4", "@eslint/js@^9.39.4":
version "9.39.4"
resolved "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz"
integrity sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==
@@ -731,8 +750,6 @@
resolved "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz"
integrity sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==
-<<<<<<< Updated upstream
-=======
"@monaco-editor/loader@^1.5.0":
version "1.7.0"
resolved "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.7.0.tgz"
@@ -747,7 +764,13 @@
dependencies:
"@monaco-editor/loader" "^1.5.0"
->>>>>>> Stashed changes
+"@napi-rs/wasm-runtime@^1.1.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.2.tgz#e25454b4d44cfabd21d1bc801705359870e33ecc"
+ integrity sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==
+ dependencies:
+ "@tybys/wasm-util" "^0.10.1"
+
"@oxc-project/types@=0.122.0":
version "0.122.0"
resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz"
@@ -812,13 +835,6 @@
dependencies:
"@radix-ui/react-slot" "1.2.3"
-"@radix-ui/react-slot@^1.1.0":
- version "1.2.4"
- resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz"
- integrity sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==
- dependencies:
- "@radix-ui/react-compose-refs" "1.1.2"
-
"@radix-ui/react-slot@1.2.3":
version "1.2.3"
resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz"
@@ -826,6 +842,13 @@
dependencies:
"@radix-ui/react-compose-refs" "1.1.2"
+"@radix-ui/react-slot@^1.1.0":
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz"
+ integrity sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==
+ dependencies:
+ "@radix-ui/react-compose-refs" "1.1.2"
+
"@radix-ui/react-toast@^1.2.1":
version "1.2.15"
resolved "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.15.tgz"
@@ -895,6 +918,78 @@
redux-thunk "^3.1.0"
reselect "^5.1.0"
+"@rolldown/binding-android-arm64@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz#4e6af08b89da02596cc5da4b105082b68673ffec"
+ integrity sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==
+
+"@rolldown/binding-darwin-arm64@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz#a06890f4c9b48ff0fc97edbedfc762bef7cffd73"
+ integrity sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==
+
+"@rolldown/binding-darwin-x64@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz#eddf6aa3ed3509171fe21711f1e8ec8e0fd7ec49"
+ integrity sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==
+
+"@rolldown/binding-freebsd-x64@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz#2102dfed19fd1f1b53435fcaaf0bc61129a266a3"
+ integrity sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==
+
+"@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz#b2c13f40e990fd1e1935492850536c768c961a0f"
+ integrity sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==
+
+"@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz#32ca9f77c1e76b2913b3d53d2029dc171c0532d6"
+ integrity sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==
+
+"@rolldown/binding-linux-arm64-musl@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz#f4337ddd52f0ed3ada2105b59ee1b757a2c4858c"
+ integrity sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==
+
+"@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz#22fdd14cb00ee8208c28a39bab7f28860ec6705d"
+ integrity sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==
+
+"@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz#838215096d1de6d3d509e0410801cb7cda8161ff"
+ integrity sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==
+
+"@rolldown/binding-linux-x64-gnu@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz#f7d71d97f6bd43198596b26dc2cb364586e12673"
+ integrity sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==
+
+"@rolldown/binding-linux-x64-musl@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz#a2ca737f01b0ad620c4c404ca176ea3e3ad804c3"
+ integrity sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==
+
+"@rolldown/binding-openharmony-arm64@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz#f66317e29eafcc300bed7af8dddac26ab3b1bf82"
+ integrity sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==
+
+"@rolldown/binding-wasm32-wasi@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz#8825523fdffa1f1dc4683be9650ffaa9e4a77f04"
+ integrity sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==
+ dependencies:
+ "@napi-rs/wasm-runtime" "^1.1.1"
+
+"@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12":
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz#4f3a17e3d68a58309c27c0930b0f7986ccabef47"
+ integrity sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==
+
"@rolldown/binding-win32-x64-msvc@1.0.0-rc.12":
version "1.0.0-rc.12"
resolved "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz"
@@ -933,6 +1028,68 @@
source-map-js "^1.2.1"
tailwindcss "4.2.2"
+"@tailwindcss/oxide-android-arm64@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz#61d9ec5c18394fe7a972e99e19e6065e833da77c"
+ integrity sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==
+
+"@tailwindcss/oxide-darwin-arm64@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz#9ad7b141789dae235c85d2f7874592bf869f636e"
+ integrity sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==
+
+"@tailwindcss/oxide-darwin-x64@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz#a5899f1fbe55c4eddcbc871b835d5183ba34658c"
+ integrity sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==
+
+"@tailwindcss/oxide-freebsd-x64@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz#76185bb1bea9af915a5b9f465323861646587e21"
+ integrity sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==
+
+"@tailwindcss/oxide-linux-arm-gnueabihf@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz#74c17c69b2015f7600d566ab0990aaac8701128e"
+ integrity sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==
+
+"@tailwindcss/oxide-linux-arm64-gnu@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz#38a846d9d5795bc3b57951172044d8dbb3c79aa6"
+ integrity sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==
+
+"@tailwindcss/oxide-linux-arm64-musl@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz#f4cc4129c17d3f2bcb01efef4d7a2f381e5e3f53"
+ integrity sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==
+
+"@tailwindcss/oxide-linux-x64-gnu@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz#7c4a00b0829e12736bd72ec74e1c08205448cc2e"
+ integrity sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==
+
+"@tailwindcss/oxide-linux-x64-musl@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz#711756d7bbe97e221fc041b63a4f385b85ba4321"
+ integrity sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==
+
+"@tailwindcss/oxide-wasm32-wasi@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz#ed6d28567b7abb8505f824457c236d2cd07ee18e"
+ integrity sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==
+ dependencies:
+ "@emnapi/core" "^1.8.1"
+ "@emnapi/runtime" "^1.8.1"
+ "@emnapi/wasi-threads" "^1.1.0"
+ "@napi-rs/wasm-runtime" "^1.1.1"
+ "@tybys/wasm-util" "^0.10.1"
+ tslib "^2.8.1"
+
+"@tailwindcss/oxide-win32-arm64-msvc@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz#f2d0360e5bc06fe201537fb08193d3780e7dd24f"
+ integrity sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==
+
"@tailwindcss/oxide-win32-x64-msvc@4.2.2":
version "4.2.2"
resolved "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz"
@@ -1038,14 +1195,14 @@
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-"@types/node@^20.19.0 || >=22.12.0", "@types/node@^24.12.0":
+"@types/node@^24.12.0":
version "24.12.2"
resolved "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz"
integrity sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==
dependencies:
undici-types "~7.16.0"
-"@types/react-dom@*", "@types/react-dom@^19.2.3":
+"@types/react-dom@^19.2.3":
version "19.2.3"
resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz"
integrity sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==
@@ -1055,7 +1212,7 @@
resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz"
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
-"@types/react@*", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^18.2.25 || ^19", "@types/react@^19.2.0", "@types/react@^19.2.14", "@types/react@>=18.0.0":
+"@types/react@^19.2.14":
version "19.2.14"
resolved "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz"
integrity sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==
@@ -1086,7 +1243,7 @@
natural-compare "^1.4.0"
ts-api-utils "^2.5.0"
-"@typescript-eslint/parser@^8.58.0", "@typescript-eslint/parser@8.58.0":
+"@typescript-eslint/parser@8.58.0":
version "8.58.0"
resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.58.0.tgz"
integrity sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA==
@@ -1114,7 +1271,7 @@
"@typescript-eslint/types" "8.58.0"
"@typescript-eslint/visitor-keys" "8.58.0"
-"@typescript-eslint/tsconfig-utils@^8.58.0", "@typescript-eslint/tsconfig-utils@8.58.0":
+"@typescript-eslint/tsconfig-utils@8.58.0", "@typescript-eslint/tsconfig-utils@^8.58.0":
version "8.58.0"
resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.58.0.tgz"
integrity sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==
@@ -1130,7 +1287,7 @@
debug "^4.4.3"
ts-api-utils "^2.5.0"
-"@typescript-eslint/types@^8.58.0", "@typescript-eslint/types@8.58.0":
+"@typescript-eslint/types@8.58.0", "@typescript-eslint/types@^8.58.0":
version "8.58.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.58.0.tgz"
integrity sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==
@@ -1223,21 +1380,11 @@ acorn-jsx@^5.3.2:
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.15.0:
+acorn@^8.15.0:
version "8.16.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz"
integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==
-ajv@^6.14.0:
- version "6.14.0"
- resolved "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz"
- integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==
- 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@6.10.0:
version "6.10.0"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz"
@@ -1248,6 +1395,16 @@ ajv@6.10.0:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^6.14.0:
+ version "6.14.0"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz"
+ integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==
+ 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"
+
amqplib@0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz"
@@ -1451,7 +1608,7 @@ brace-expansion@^5.0.5:
dependencies:
balanced-match "^4.0.2"
-browserslist@^4.24.0, "browserslist@>= 4.21.0":
+browserslist@^4.24.0:
version "4.28.2"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz"
integrity sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==
@@ -1513,8 +1670,6 @@ caniuse-lite@^1.0.30001782:
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz"
integrity sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw==
-<<<<<<< Updated upstream
-=======
canvas-color-tracker@^1.3:
version "1.3.2"
resolved "https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.3.2.tgz"
@@ -1522,15 +1677,6 @@ canvas-color-tracker@^1.3:
dependencies:
tinycolor2 "^1.6.0"
->>>>>>> Stashed changes
-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@2.4.1:
version "2.4.1"
resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz"
@@ -1540,8 +1686,14 @@ chalk@2.4.1:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-<<<<<<< Updated upstream
-=======
+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"
+
class-variance-authority@^0.7.1:
version "0.7.1"
resolved "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz"
@@ -1549,7 +1701,6 @@ class-variance-authority@^0.7.1:
dependencies:
clsx "^2.1.1"
->>>>>>> Stashed changes
clsx@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz"
@@ -1582,16 +1733,16 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-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.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==
+
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
@@ -1643,16 +1794,16 @@ content-disposition@0.5.2:
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz"
integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==
-content-type@~1.0.4:
- version "1.0.5"
- resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
content-type@1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+content-type@~1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+
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"
@@ -1663,16 +1814,16 @@ cookie-signature@1.0.6:
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-cookie@^1.0.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz"
- integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==
-
cookie@0.3.1:
version "0.3.1"
resolved "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"
integrity sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==
+cookie@^1.0.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz"
+ integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==
+
core-js@^2.4.0:
version "2.6.12"
resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz"
@@ -1719,11 +1870,7 @@ csstype@^3.0.2, csstype@^3.2.2:
resolved "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz"
integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==
-<<<<<<< Updated upstream
-d3-array@^3.1.6, "d3-array@2 - 3", "d3-array@2.10.0 - 3":
-=======
-d3-array@^3.1.6, "d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3":
->>>>>>> Stashed changes
+"d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6:
version "3.2.4"
resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz"
integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
@@ -1742,8 +1889,6 @@ d3-binarytree@1:
"d3-dispatch@1 - 3":
version "3.0.1"
-<<<<<<< Updated upstream
-=======
resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz"
integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==
@@ -1755,9 +1900,8 @@ d3-binarytree@1:
d3-dispatch "1 - 3"
d3-selection "3"
-d3-ease@^3.0.1, "d3-ease@1 - 3":
+"d3-ease@1 - 3", d3-ease@^3.0.1:
version "3.0.1"
->>>>>>> Stashed changes
resolved "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz"
integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
@@ -1777,11 +1921,7 @@ d3-ease@^3.0.1, "d3-ease@1 - 3":
resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz"
integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==
-<<<<<<< Updated upstream
-d3-interpolate@^3.0.1, "d3-interpolate@1.2.0 - 3":
-=======
-d3-interpolate@^3.0.1, "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3":
->>>>>>> Stashed changes
+"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz"
integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
@@ -1811,7 +1951,7 @@ d3-path@^3.1.0:
d3-color "1 - 3"
d3-interpolate "1 - 3"
-d3-scale@^4.0.2, "d3-scale@1 - 4":
+"d3-scale@1 - 4", d3-scale@^4.0.2:
version "4.0.2"
resolved "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz"
integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==
@@ -1841,14 +1981,14 @@ d3-shape@^3.1.0:
dependencies:
d3-time "1 - 3"
-d3-time@^3.0.0, "d3-time@1 - 3", "d3-time@2.1.1 - 3":
+"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0:
version "3.1.0"
resolved "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz"
integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
dependencies:
d3-array "2 - 3"
-d3-timer@^3.0.1, "d3-timer@1 - 3":
+"d3-timer@1 - 3", d3-timer@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz"
integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
@@ -1911,13 +2051,6 @@ datasette@1.0.1:
eventemitter2 "5.0.1"
lodash "4.17.5"
-debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, 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"
@@ -1925,6 +2058,13 @@ debug@2.6.9:
dependencies:
ms "2.0.0"
+debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, 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"
+
decimal.js-light@^2.5.1:
version "2.5.1"
resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz"
@@ -1981,13 +2121,6 @@ dom-helpers@^5.0.1:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
-dompurify@3.2.7:
- version "3.2.7"
- resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.2.7.tgz"
- integrity sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==
- optionalDependencies:
- "@types/trusted-types" "^2.0.7"
-
dompurify@3.3.1:
version "3.3.1"
resolved "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz"
@@ -2206,7 +2339,7 @@ eslint-visitor-keys@^5.0.0:
resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz"
integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==
-"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0 || ^9.0.0 || ^10.0.0", "eslint@^9 || ^10", eslint@^9.39.4:
+eslint@^9.39.4:
version "9.39.4"
resolved "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz"
integrity sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==
@@ -2514,6 +2647,11 @@ fresh@0.5.2:
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+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"
@@ -2687,7 +2825,7 @@ hermes-parser@^0.25.1:
dependencies:
hermes-estree "0.25.1"
-http-errors@~1.6.2, http-errors@~1.6.3, http-errors@1.6.3:
+http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
version "1.6.3"
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
@@ -2714,7 +2852,7 @@ ignore@^7.0.5:
resolved "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz"
integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
-immer@^10.1.1, immer@>=9.0.6:
+immer@^10.1.1:
version "10.2.0"
resolved "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz"
integrity sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==
@@ -2737,24 +2875,21 @@ imurmurhash@^0.1.4:
resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-<<<<<<< Updated upstream
-=======
index-array-by@1:
version "1.4.2"
resolved "https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz"
integrity sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==
->>>>>>> Stashed changes
-inherits@^2.0.3, inherits@~2.0.1:
- version "2.0.4"
- resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
inherits@2.0.3:
version "2.0.3"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+inherits@^2.0.3, inherits@~2.0.1:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
internal-slot@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz"
@@ -2955,30 +3090,27 @@ is-weakset@^2.0.3:
call-bound "^1.0.3"
get-intrinsic "^1.2.6"
-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==
-
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
+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==
-<<<<<<< Updated upstream
-=======
jerrypick@^1.1.1:
version "1.1.2"
resolved "https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.2.tgz"
integrity sha512-YKnxXEekXKzhpf7CLYA0A+oDP8V0OhICNCr5lv96FvSsDEmrb0GKM776JgQvHTMjr7DTTPEVv/1Ciaw0uEWzBA==
->>>>>>> Stashed changes
-jiti@*, jiti@^2.6.1, jiti@>=1.21.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==
@@ -3087,12 +3219,62 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
+lightningcss-android-arm64@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968"
+ integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==
+
+lightningcss-darwin-arm64@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5"
+ integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==
+
+lightningcss-darwin-x64@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e"
+ integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==
+
+lightningcss-freebsd-x64@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575"
+ integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==
+
+lightningcss-linux-arm-gnueabihf@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d"
+ integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==
+
+lightningcss-linux-arm64-gnu@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335"
+ integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==
+
+lightningcss-linux-arm64-musl@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133"
+ integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==
+
+lightningcss-linux-x64-gnu@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6"
+ integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==
+
+lightningcss-linux-x64-musl@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b"
+ integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==
+
+lightningcss-win32-arm64-msvc@1.32.0:
+ version "1.32.0"
+ resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38"
+ integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==
+
lightningcss-win32-x64-msvc@1.32.0:
version "1.32.0"
resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz"
integrity sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==
-lightningcss@^1.32.0, lightningcss@1.32.0:
+lightningcss@1.32.0, lightningcss@^1.32.0:
version "1.32.0"
resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz"
integrity sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==
@@ -3239,16 +3421,16 @@ methods@~1.1.2:
resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-"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.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
@@ -3292,14 +3474,6 @@ monaco-editor@^0.45.0:
resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz"
integrity sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==
-"monaco-editor@>= 0.25.0 < 1":
- version "0.55.1"
- resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.55.1.tgz"
- integrity sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==
- dependencies:
- dompurify "3.2.7"
- marked "14.0.0"
-
monaco-languageclient@^10.7.0:
version "10.7.0"
resolved "https://registry.npmjs.org/monaco-languageclient/-/monaco-languageclient-10.7.0.tgz"
@@ -3363,21 +3537,16 @@ motion-utils@^12.36.0:
resolved "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz"
integrity sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==
-ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-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.1, 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==
+
nanoid@^3.3.11:
version "3.3.11"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
@@ -3539,7 +3708,7 @@ picocolors@^1.1.1:
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
-"picomatch@^3 || ^4", picomatch@^4.0.3, picomatch@^4.0.4:
+picomatch@^4.0.3, picomatch@^4.0.4:
version "4.0.4"
resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz"
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
@@ -3588,7 +3757,7 @@ processenv@1.1.0:
dependencies:
babel-runtime "6.26.0"
-prop-types@^15.6.2, prop-types@15:
+prop-types@15, prop-types@^15.6.2:
version "15.8.1"
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -3635,11 +3804,7 @@ raw-body@2.3.3:
iconv-lite "0.4.23"
unpipe "1.0.0"
-<<<<<<< Updated upstream
-"react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0", react-dom@^19.2.4, react-dom@>=16.6.0, react-dom@>=17.0.0, react-dom@>=18:
-=======
-"react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^18.3.1 || ^19.0.0", react-dom@^19.2.4, react-dom@>=16.6.0, react-dom@>=17.0.0, react-dom@>=18:
->>>>>>> Stashed changes
+react-dom@^19.2.4:
version "19.2.4"
resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz"
integrity sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==
@@ -3660,13 +3825,11 @@ react-icons@^5.6.0:
resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz"
integrity sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==
-react-is@^16.13.1, "react-is@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0":
+react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-<<<<<<< Updated upstream
-=======
react-kapsule@^2.5:
version "2.5.7"
resolved "https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.5.7.tgz"
@@ -3674,8 +3837,7 @@ react-kapsule@^2.5:
dependencies:
jerrypick "^1.1.1"
->>>>>>> Stashed changes
-"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", "react-redux@8.x.x || 9.x.x":
+"react-redux@8.x.x || 9.x.x":
version "9.2.0"
resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz"
integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==
@@ -3708,24 +3870,11 @@ react-transition-group@^4.4.1:
loose-envify "^1.4.0"
prop-types "^15.6.2"
-<<<<<<< Updated upstream
-react@*, "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18.0 || ^19", "react@^18.0.0 || ^19.0.0", react@^19.2.4, react@>=16.6.0, react@>=17.0.0, react@>=18, react@>=18.0.0:
-=======
-react@*, "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react@^16.9.0 || ^17.0.0 || ^18 || ^19", "react@^17.0.0 || ^18.0.0 || ^19.0.0", "react@^18.0 || ^19", "react@^18.0.0 || ^19.0.0", "react@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react@^18.3.1 || ^19.0.0", react@^19.2.4, react@>=16.13.1, react@>=16.6.0, react@>=17.0.0, react@>=18, react@>=18.0.0:
->>>>>>> Stashed changes
+react@^19.2.4:
version "19.2.4"
resolved "https://registry.npmjs.org/react/-/react-19.2.4.tgz"
integrity sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==
-readable-stream@^3.0.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"
-
"readable-stream@1.x >=1.1.9":
version "1.1.14"
resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
@@ -3736,6 +3885,15 @@ readable-stream@^3.0.0:
isarray "0.0.1"
string_decoder "~0.10.x"
+readable-stream@^3.0.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"
+
recharts@^3.8.0:
version "3.8.1"
resolved "https://registry.npmjs.org/recharts/-/recharts-3.8.1.tgz"
@@ -3758,7 +3916,7 @@ redux-thunk@^3.1.0:
resolved "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz"
integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==
-redux@^5.0.0, redux@^5.0.1:
+redux@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz"
integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
@@ -3799,7 +3957,7 @@ regexp.prototype.flags@^1.5.4:
gopd "^1.2.0"
set-function-name "^2.0.2"
-reselect@^5.1.0, reselect@5.1.1:
+reselect@5.1.1, reselect@^5.1.0:
version "5.1.1"
resolved "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz"
integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==
@@ -3849,16 +4007,16 @@ safe-array-concat@^1.1.3:
has-symbols "^1.1.0"
isarray "^2.0.5"
-safe-buffer@^5.0.1, 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-buffer@5.1.2:
version "5.1.2"
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+safe-buffer@^5.0.1, 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"
@@ -3896,12 +4054,7 @@ semver@^6.3.1:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.7:
- version "7.7.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz"
- integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
-
-semver@^7.7.3:
+semver@^7.3.7, semver@^7.7.3:
version "7.7.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz"
integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
@@ -4085,18 +4238,6 @@ stop-iteration-iterator@^1.1.0:
es-errors "^1.3.0"
internal-slot "^1.1.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"
-
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
-
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"
@@ -4129,6 +4270,18 @@ 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"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
+
stringify-object@3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz"
@@ -4200,16 +4353,12 @@ tailwind@^4.0.0:
uuidv4 "3.0.1"
ws "6.2.0"
-<<<<<<< Updated upstream
-tailwindcss@^4.2.2, tailwindcss@4.2.2:
-=======
tailwindcss-animate@^1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz"
integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
-tailwindcss@^4.2.2, "tailwindcss@>=3.0.0 || insiders", tailwindcss@4.2.2:
->>>>>>> Stashed changes
+tailwindcss@4.2.2, tailwindcss@^4.2.2:
version "4.2.2"
resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz"
integrity sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==
@@ -4247,7 +4396,7 @@ ts-api-utils@^2.5.0:
resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz"
integrity sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==
-tslib@^2.4.0:
+tslib@^2.4.0, tslib@^2.8.1:
version "2.8.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz"
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
@@ -4327,7 +4476,7 @@ typescript-eslint@^8.57.0:
"@typescript-eslint/typescript-estree" "8.58.0"
"@typescript-eslint/utils" "8.58.0"
-typescript@>=4.8.4, "typescript@>=4.8.4 <6.1.0", typescript@~5.9.3:
+typescript@~5.9.3:
version "5.9.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz"
integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
@@ -4347,7 +4496,7 @@ undici-types@~7.16.0:
resolved "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz"
integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==
-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==
@@ -4372,7 +4521,7 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0, use-sync-external-store@>=1.2.0:
+use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.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==
@@ -4445,7 +4594,7 @@ victory-vendor@^37.0.2:
d3-time "^3.0.0"
d3-timer "^3.0.1"
-"vite@^5.2.0 || ^6 || ^7 || ^8", vite@^8.0.0, vite@^8.0.1:
+vite@^8.0.1:
version "8.0.3"
resolved "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz"
integrity sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==
@@ -4458,16 +4607,16 @@ victory-vendor@^37.0.2:
optionalDependencies:
fsevents "~2.3.3"
-vscode-jsonrpc@~8.2.1:
- version "8.2.1"
- resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1.tgz"
- integrity sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ==
-
vscode-jsonrpc@8.2.0:
version "8.2.0"
resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz"
integrity sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==
+vscode-jsonrpc@~8.2.1:
+ version "8.2.1"
+ resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1.tgz"
+ integrity sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ==
+
vscode-languageclient@~9.0.1:
version "9.0.1"
resolved "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz"
@@ -4477,7 +4626,7 @@ vscode-languageclient@~9.0.1:
semver "^7.3.7"
vscode-languageserver-protocol "3.17.5"
-vscode-languageserver-protocol@~3.17.5, vscode-languageserver-protocol@3.17.5:
+vscode-languageserver-protocol@3.17.5, vscode-languageserver-protocol@~3.17.5:
version "3.17.5"
resolved "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz"
integrity sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==