From 0a90d83a3f6e8e9cae0b4c15866fb511b6458b51 Mon Sep 17 00:00:00 2001 From: sak0a Date: Wed, 11 Feb 2026 03:42:39 +0100 Subject: [PATCH 1/7] Add CS2 Mod Framework extension with installation and management features - Introduced `composer.json`, `package.json`, and `tsconfig.json` for dependency management and TypeScript configuration. - Created `extension.yaml` for extension metadata and requirements. - Developed frontend components for managing mod frameworks, including `ModFrameworkPage`, `FrameworkCard`, and `ConfirmModal`. - Implemented API interactions for framework status, installation, and uninstallation in `ModFrameworkController`. - Added services for framework installation and GitHub release resolution. - Included TypeScript support with a webpack configuration for building the frontend assets. --- extensions/cs2-modframework/composer.json | 15 + extensions/cs2-modframework/extension.yaml | 28 ++ extensions/cs2-modframework/package.json | 21 ++ .../frontend/src/api/useModFramework.ts | 130 ++++++++ .../frontend/src/components/ConfirmModal.tsx | 137 ++++++++ .../frontend/src/components/FrameworkCard.tsx | 241 +++++++++++++++ .../src/components/ModFrameworkPage.tsx | 292 ++++++++++++++++++ .../resources/frontend/src/index.tsx | 52 ++++ .../Controllers/ModFrameworkController.php | 106 +++++++ .../src/Cs2ModframeworkExtension.php | 46 +++ .../src/Services/FrameworkInstaller.php | 248 +++++++++++++++ .../src/Services/GameInfoModifier.php | 94 ++++++ .../src/Services/GitHubReleaseResolver.php | 126 ++++++++ .../src/routes/api-client.php | 15 + extensions/cs2-modframework/tsconfig.json | 19 ++ extensions/cs2-modframework/webpack.config.js | 30 ++ 16 files changed, 1600 insertions(+) create mode 100644 extensions/cs2-modframework/composer.json create mode 100644 extensions/cs2-modframework/extension.yaml create mode 100644 extensions/cs2-modframework/package.json create mode 100644 extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts create mode 100644 extensions/cs2-modframework/resources/frontend/src/components/ConfirmModal.tsx create mode 100644 extensions/cs2-modframework/resources/frontend/src/components/FrameworkCard.tsx create mode 100644 extensions/cs2-modframework/resources/frontend/src/components/ModFrameworkPage.tsx create mode 100644 extensions/cs2-modframework/resources/frontend/src/index.tsx create mode 100644 extensions/cs2-modframework/src/Controllers/ModFrameworkController.php create mode 100644 extensions/cs2-modframework/src/Cs2ModframeworkExtension.php create mode 100644 extensions/cs2-modframework/src/Services/FrameworkInstaller.php create mode 100644 extensions/cs2-modframework/src/Services/GameInfoModifier.php create mode 100644 extensions/cs2-modframework/src/Services/GitHubReleaseResolver.php create mode 100644 extensions/cs2-modframework/src/routes/api-client.php create mode 100644 extensions/cs2-modframework/tsconfig.json create mode 100644 extensions/cs2-modframework/webpack.config.js diff --git a/extensions/cs2-modframework/composer.json b/extensions/cs2-modframework/composer.json new file mode 100644 index 00000000..f39fe08a --- /dev/null +++ b/extensions/cs2-modframework/composer.json @@ -0,0 +1,15 @@ +{ + "name": "notur/cs2-modframework", + "description": "One-click install of SwiftlyS2, CounterStrikeSharp & Metamod for CS2 servers", + "type": "notur-extension", + "license": "MIT", + "require": { + "php": "^8.2", + "guzzlehttp/guzzle": "^7.0" + }, + "autoload": { + "psr-4": { + "Notur\\Cs2Modframework\\": "src/" + } + } +} diff --git a/extensions/cs2-modframework/extension.yaml b/extensions/cs2-modframework/extension.yaml new file mode 100644 index 00000000..8bb9a7ba --- /dev/null +++ b/extensions/cs2-modframework/extension.yaml @@ -0,0 +1,28 @@ +notur: "1.0" +id: "notur/cs2-modframework" +name: "CS2 Mod Frameworks" +version: "1.0.0" +description: "One-click install of SwiftlyS2, CounterStrikeSharp & Metamod for CS2 servers" +authors: + - name: "Notur Team" +license: "MIT" + +requires: + notur: "^1.0" + pterodactyl: "^1.11" + php: "^8.2" + +entrypoint: 'Notur\Cs2Modframework\Cs2ModframeworkExtension' + +autoload: + psr-4: + 'Notur\Cs2Modframework\': "src/" + +backend: + routes: + api-client: "src/routes/api-client.php" + permissions: + - "cs2-modframework.manage" + +frontend: + bundle: "resources/frontend/dist/cs2-modframework.js" diff --git a/extensions/cs2-modframework/package.json b/extensions/cs2-modframework/package.json new file mode 100644 index 00000000..5f0d16e7 --- /dev/null +++ b/extensions/cs2-modframework/package.json @@ -0,0 +1,21 @@ +{ + "name": "notur-cs2-modframework", + "version": "1.0.0", + "private": true, + "scripts": { + "build": "npx webpack-cli --mode production", + "dev": "npx webpack-cli --mode development --watch" + }, + "devDependencies": { + "@types/react": "^16.14.0", + "@types/react-dom": "^16.9.0", + "ts-loader": "^9.5.0", + "typescript": "^5.3.0", + "webpack": "^5.90.0", + "webpack-cli": "^6.0.0" + }, + "peerDependencies": { + "react": "^16.14.0", + "react-dom": "^16.14.0" + } +} diff --git a/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts b/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts new file mode 100644 index 00000000..48e1ad9e --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts @@ -0,0 +1,130 @@ +import { useState, useEffect, useCallback, useRef } from 'react'; +import { getNoturApi } from '@notur/sdk'; + +const EXTENSION_ID = 'notur/cs2-modframework'; + +export interface FrameworkStatus { + installed: boolean; + directory: string | null; +} + +export interface StatusResponse { + swiftly: FrameworkStatus; + counterstrikesharp: FrameworkStatus; + metamod: FrameworkStatus; + gameinfo_entries: Record; +} + +export interface VersionInfo { + version: string; + download_url: string; + filename: string; +} + +export interface VersionsResponse { + swiftly: VersionInfo | null; + counterstrikesharp: VersionInfo | null; + metamod: VersionInfo | null; +} + +export interface InstallResult { + success: boolean; + framework: string; + version?: string; + message: string; +} + +export type FrameworkName = 'swiftly' | 'counterstrikesharp' | 'metamod'; + +export function useModFramework(serverUuid: string) { + const notur = getNoturApi(); + + const api = notur.hooks.useExtensionApi({ + extensionId: EXTENSION_ID, + baseUrl: `/api/client/notur/${EXTENSION_ID}/servers/${serverUuid}`, + }); + + const [status, setStatus] = useState(null); + const [versions, setVersions] = useState(null); + const [statusLoading, setStatusLoading] = useState(true); + const [actionLoading, setActionLoading] = useState(null); + const [error, setError] = useState(null); + + // Use refs for the API methods to avoid dependency churn in useEffect + const apiGetRef = useRef(api.get); + const apiPostRef = useRef(api.post); + apiGetRef.current = api.get; + apiPostRef.current = api.post; + + const fetchStatus = useCallback(async () => { + setStatusLoading(true); + setError(null); + try { + const res = await apiGetRef.current('/status') as { data: StatusResponse }; + setStatus(res.data); + } catch (e: any) { + setError(e.message || 'Failed to fetch status'); + } finally { + setStatusLoading(false); + } + }, []); + + const fetchVersions = useCallback(async () => { + try { + const res = await apiGetRef.current('/versions') as { data: VersionsResponse }; + setVersions(res.data); + } catch { + // Non-critical — versions are supplementary info + } + }, []); + + const installFramework = useCallback(async (framework: FrameworkName): Promise => { + setActionLoading(framework); + setError(null); + try { + const res = await apiPostRef.current('/install', { framework }) as { data: InstallResult }; + await fetchStatus(); + return res.data; + } catch (e: any) { + const message = e.message || `Failed to install ${framework}`; + setError(message); + return { success: false, framework, message }; + } finally { + setActionLoading(null); + } + }, [fetchStatus]); + + const uninstallFramework = useCallback(async (framework: FrameworkName): Promise => { + setActionLoading(framework); + setError(null); + try { + const res = await apiPostRef.current('/uninstall', { framework }) as { data: InstallResult }; + await fetchStatus(); + return res.data; + } catch (e: any) { + const message = e.message || `Failed to uninstall ${framework}`; + setError(message); + return { success: false, framework, message }; + } finally { + setActionLoading(null); + } + }, [fetchStatus]); + + useEffect(() => { + if (serverUuid) { + fetchStatus(); + fetchVersions(); + } + }, [serverUuid, fetchStatus, fetchVersions]); + + return { + status, + versions, + statusLoading, + actionLoading, + error, + fetchStatus, + installFramework, + uninstallFramework, + }; +} diff --git a/extensions/cs2-modframework/resources/frontend/src/components/ConfirmModal.tsx b/extensions/cs2-modframework/resources/frontend/src/components/ConfirmModal.tsx new file mode 100644 index 00000000..4803e1c7 --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/src/components/ConfirmModal.tsx @@ -0,0 +1,137 @@ +import * as React from 'react'; + +interface ConfirmModalProps { + open: boolean; + title: string; + message: string; + warning?: string; + confirmLabel?: string; + confirmColor?: string; + loading?: boolean; + onConfirm: () => void; + onCancel: () => void; +} + +const overlayStyle: React.CSSProperties = { + position: 'fixed', + inset: 0, + background: 'rgba(0, 0, 0, 0.6)', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + zIndex: 9999, + backdropFilter: 'blur(2px)', +}; + +const modalStyle: React.CSSProperties = { + background: 'var(--notur-bg-secondary, #1a1f2e)', + borderRadius: 'var(--notur-radius-md, 12px)', + border: '1px solid var(--notur-border, rgba(255, 255, 255, 0.08))', + padding: '1.5rem', + maxWidth: '440px', + width: '90%', + boxShadow: '0 20px 60px rgba(0, 0, 0, 0.4)', +}; + +const titleStyle: React.CSSProperties = { + color: 'var(--notur-text-primary, #f0f0f0)', + fontSize: '1.1rem', + fontWeight: 600, + margin: '0 0 0.75rem 0', +}; + +const messageStyle: React.CSSProperties = { + color: 'var(--notur-text-secondary, #a0a8b4)', + fontSize: '0.9rem', + lineHeight: 1.5, + margin: '0 0 1rem 0', +}; + +const warningStyle: React.CSSProperties = { + background: 'rgba(245, 158, 11, 0.1)', + border: '1px solid rgba(245, 158, 11, 0.3)', + borderRadius: '8px', + padding: '0.75rem', + color: '#f59e0b', + fontSize: '0.85rem', + lineHeight: 1.4, + margin: '0 0 1rem 0', +}; + +const buttonRowStyle: React.CSSProperties = { + display: 'flex', + justifyContent: 'flex-end', + gap: '0.75rem', +}; + +const cancelBtnStyle: React.CSSProperties = { + padding: '0.5rem 1rem', + borderRadius: '8px', + border: '1px solid var(--notur-border, rgba(255, 255, 255, 0.1))', + background: 'transparent', + color: 'var(--notur-text-secondary, #a0a8b4)', + cursor: 'pointer', + fontSize: '0.875rem', + fontWeight: 500, +}; + +const confirmBtnBase: React.CSSProperties = { + padding: '0.5rem 1.25rem', + borderRadius: '8px', + border: 'none', + color: '#fff', + cursor: 'pointer', + fontSize: '0.875rem', + fontWeight: 600, + minWidth: '100px', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + gap: '0.5rem', +}; + +export const ConfirmModal: React.FC = ({ + open, + title, + message, + warning, + confirmLabel = 'Confirm', + confirmColor = '#ef4444', + loading = false, + onConfirm, + onCancel, +}) => { + if (!open) return null; + + const confirmBtnStyle: React.CSSProperties = { + ...confirmBtnBase, + background: confirmColor, + opacity: loading ? 0.7 : 1, + pointerEvents: loading ? 'none' : 'auto', + }; + + return React.createElement('div', { style: overlayStyle, onClick: loading ? undefined : onCancel }, + React.createElement('div', { + style: modalStyle, + onClick: (e: React.MouseEvent) => e.stopPropagation(), + }, + React.createElement('h3', { style: titleStyle }, title), + React.createElement('p', { style: messageStyle }, message), + warning ? React.createElement('div', { style: warningStyle }, warning) : null, + React.createElement('div', { style: buttonRowStyle }, + React.createElement('button', { + style: cancelBtnStyle, + onClick: onCancel, + disabled: loading, + }, 'Cancel'), + React.createElement('button', { + style: confirmBtnStyle, + onClick: onConfirm, + disabled: loading, + }, + loading ? React.createElement('span', null, 'Working...') : confirmLabel, + ), + ), + ), + ); +}; diff --git a/extensions/cs2-modframework/resources/frontend/src/components/FrameworkCard.tsx b/extensions/cs2-modframework/resources/frontend/src/components/FrameworkCard.tsx new file mode 100644 index 00000000..14e9d20d --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/src/components/FrameworkCard.tsx @@ -0,0 +1,241 @@ +import * as React from 'react'; +import { FrameworkStatus, VersionInfo, FrameworkName } from '../api/useModFramework'; + +interface FrameworkCardProps { + framework: FrameworkName; + label: string; + description: string; + icon: string; + status: FrameworkStatus | null; + version: VersionInfo | null; + gameInfoOk?: boolean; + dependency?: string; + dependencyInstalled?: boolean; + isLoading: boolean; + onInstall: () => void; + onUninstall: () => void; +} + +const cardStyle: React.CSSProperties = { + background: 'var(--notur-bg-secondary, #1a1f2e)', + borderRadius: 'var(--notur-radius-md, 12px)', + border: '1px solid var(--notur-border, rgba(255, 255, 255, 0.08))', + padding: '1.25rem', + display: 'flex', + flexDirection: 'column', + gap: '1rem', + transition: 'border-color 0.2s, box-shadow 0.2s', +}; + +const headerStyle: React.CSSProperties = { + display: 'flex', + alignItems: 'center', + gap: '0.75rem', +}; + +const iconContainerStyle: React.CSSProperties = { + width: '44px', + height: '44px', + borderRadius: '10px', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + fontSize: '1.5rem', + flexShrink: 0, +}; + +const titleStyle: React.CSSProperties = { + color: 'var(--notur-text-primary, #f0f0f0)', + fontSize: '1rem', + fontWeight: 600, + margin: 0, +}; + +const descStyle: React.CSSProperties = { + color: 'var(--notur-text-secondary, #a0a8b4)', + fontSize: '0.8rem', + margin: '2px 0 0 0', + lineHeight: 1.3, +}; + +const badgeRowStyle: React.CSSProperties = { + display: 'flex', + gap: '0.5rem', + flexWrap: 'wrap', +}; + +const baseBadgeStyle: React.CSSProperties = { + fontSize: '0.75rem', + fontWeight: 600, + padding: '3px 10px', + borderRadius: '6px', + display: 'inline-flex', + alignItems: 'center', + gap: '4px', +}; + +const installedBadge: React.CSSProperties = { + ...baseBadgeStyle, + background: 'rgba(34, 197, 94, 0.12)', + color: '#22c55e', + border: '1px solid rgba(34, 197, 94, 0.2)', +}; + +const notInstalledBadge: React.CSSProperties = { + ...baseBadgeStyle, + background: 'rgba(148, 163, 184, 0.1)', + color: '#94a3b8', + border: '1px solid rgba(148, 163, 184, 0.15)', +}; + +const depBadge: React.CSSProperties = { + ...baseBadgeStyle, + background: 'rgba(99, 102, 241, 0.1)', + color: '#818cf8', + border: '1px solid rgba(99, 102, 241, 0.2)', +}; + +const versionTextStyle: React.CSSProperties = { + color: 'var(--notur-text-secondary, #a0a8b4)', + fontSize: '0.78rem', +}; + +const footerStyle: React.CSSProperties = { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + marginTop: 'auto', +}; + +const installBtnStyle: React.CSSProperties = { + padding: '0.5rem 1.25rem', + borderRadius: '8px', + border: 'none', + background: '#22c55e', + color: '#fff', + cursor: 'pointer', + fontSize: '0.85rem', + fontWeight: 600, + transition: 'opacity 0.15s', + display: 'flex', + alignItems: 'center', + gap: '6px', +}; + +const uninstallBtnStyle: React.CSSProperties = { + ...installBtnStyle, + background: 'rgba(239, 68, 68, 0.15)', + color: '#ef4444', + border: '1px solid rgba(239, 68, 68, 0.25)', +}; + +const disabledBtnStyle: React.CSSProperties = { + ...installBtnStyle, + opacity: 0.5, + cursor: 'not-allowed', + background: 'rgba(148, 163, 184, 0.15)', + color: '#94a3b8', +}; + +const ICON_COLORS: Record = { + swiftly: 'rgba(249, 115, 22, 0.15)', + counterstrikesharp: 'rgba(99, 102, 241, 0.15)', + metamod: 'rgba(14, 165, 233, 0.15)', +}; + +const ICON_BORDER_COLORS: Record = { + swiftly: 'rgba(249, 115, 22, 0.25)', + counterstrikesharp: 'rgba(99, 102, 241, 0.25)', + metamod: 'rgba(14, 165, 233, 0.25)', +}; + +export const FrameworkCard: React.FC = ({ + framework, + label, + description, + icon, + status, + version, + gameInfoOk, + dependency, + dependencyInstalled, + isLoading, + onInstall, + onUninstall, +}) => { + const installed = status?.installed ?? false; + + const iconStyle: React.CSSProperties = { + ...iconContainerStyle, + background: ICON_COLORS[framework] || 'rgba(148, 163, 184, 0.1)', + border: `1px solid ${ICON_BORDER_COLORS[framework] || 'rgba(148, 163, 184, 0.15)'}`, + }; + + const needsDep = dependency && !dependencyInstalled && !installed; + + return React.createElement('div', { style: cardStyle }, + // Header: icon + title + React.createElement('div', { style: headerStyle }, + React.createElement('div', { style: iconStyle }, icon), + React.createElement('div', null, + React.createElement('h4', { style: titleStyle }, label), + React.createElement('p', { style: descStyle }, description), + ), + ), + + // Badges + React.createElement('div', { style: badgeRowStyle }, + installed + ? React.createElement('span', { style: installedBadge }, '\u2713 Installed') + : React.createElement('span', { style: notInstalledBadge }, 'Not Installed'), + dependency + ? React.createElement('span', { style: depBadge }, + dependencyInstalled ? '\u2713 ' : '', + 'Requires ', dependency, + ) + : null, + installed && gameInfoOk === false + ? React.createElement('span', { + style: { + ...baseBadgeStyle, + background: 'rgba(245, 158, 11, 0.1)', + color: '#f59e0b', + border: '1px solid rgba(245, 158, 11, 0.2)', + }, + }, 'gameinfo.gi entry missing') + : null, + ), + + // Footer: version + action button + React.createElement('div', { style: footerStyle }, + React.createElement('span', { style: versionTextStyle }, + version ? `Latest: v${version.version}` : '', + ), + isLoading + ? React.createElement('button', { style: disabledBtnStyle, disabled: true }, + React.createElement('span', { + style: { + display: 'inline-block', + width: '14px', + height: '14px', + border: '2px solid rgba(148, 163, 184, 0.3)', + borderTopColor: '#94a3b8', + borderRadius: '50%', + animation: 'notur-spin 0.6s linear infinite', + }, + }), + 'Working...', + ) + : installed + ? React.createElement('button', { + style: uninstallBtnStyle, + onClick: onUninstall, + }, 'Uninstall') + : React.createElement('button', { + style: installBtnStyle, + onClick: onInstall, + title: needsDep ? `${dependency} will be auto-installed` : undefined, + }, 'Install'), + ), + ); +}; diff --git a/extensions/cs2-modframework/resources/frontend/src/components/ModFrameworkPage.tsx b/extensions/cs2-modframework/resources/frontend/src/components/ModFrameworkPage.tsx new file mode 100644 index 00000000..224e3f97 --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/src/components/ModFrameworkPage.tsx @@ -0,0 +1,292 @@ +import * as React from 'react'; +import { useServerContext } from '@notur/sdk'; +import { useModFramework, FrameworkName, InstallResult } from '../api/useModFramework'; +import { FrameworkCard } from './FrameworkCard'; +import { ConfirmModal } from './ConfirmModal'; + +const { useState, useCallback } = React; + +interface ModalState { + open: boolean; + action: 'install' | 'uninstall'; + framework: FrameworkName; +} + +const FRAMEWORKS: Array<{ + key: FrameworkName; + label: string; + description: string; + icon: string; + dependency?: FrameworkName; +}> = [ + { + key: 'swiftly', + label: 'SwiftlyS2', + description: 'High-performance CS2 plugin framework. Standalone — no Metamod required.', + icon: '\u26A1', + }, + { + key: 'counterstrikesharp', + label: 'CounterStrikeSharp', + description: 'C# plugin framework for CS2 servers. Requires Metamod:Source.', + icon: '\uD83D\uDD27', + dependency: 'metamod' as FrameworkName, + }, + { + key: 'metamod', + label: 'Metamod:Source', + description: 'C++ plugin API for Source 2 engine. Required by CounterStrikeSharp.', + icon: '\uD83D\uDCE6', + }, +]; + +const pageStyle: React.CSSProperties = { + padding: '1.5rem', + maxWidth: '900px', + margin: '0 auto', +}; + +const headerStyle: React.CSSProperties = { + marginBottom: '1.5rem', +}; + +const titleStyle: React.CSSProperties = { + color: 'var(--notur-text-primary, #f0f0f0)', + fontSize: '1.4rem', + fontWeight: 700, + margin: '0 0 0.35rem 0', +}; + +const subtitleStyle: React.CSSProperties = { + color: 'var(--notur-text-secondary, #a0a8b4)', + fontSize: '0.9rem', + margin: 0, +}; + +const gridStyle: React.CSSProperties = { + display: 'grid', + gridTemplateColumns: 'repeat(auto-fill, minmax(280px, 1fr))', + gap: '1rem', +}; + +const spinnerContainerStyle: React.CSSProperties = { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + padding: '4rem 1rem', + color: 'var(--notur-text-secondary, #a0a8b4)', + fontSize: '0.9rem', +}; + +const errorBoxStyle: React.CSSProperties = { + background: 'rgba(239, 68, 68, 0.1)', + border: '1px solid rgba(239, 68, 68, 0.25)', + borderRadius: '10px', + padding: '1rem', + color: '#ef4444', + fontSize: '0.875rem', + marginBottom: '1rem', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', +}; + +const dismissBtnStyle: React.CSSProperties = { + background: 'transparent', + border: 'none', + color: '#ef4444', + cursor: 'pointer', + fontSize: '1.1rem', + padding: '0 0.25rem', +}; + +const successBoxStyle: React.CSSProperties = { + background: 'rgba(34, 197, 94, 0.1)', + border: '1px solid rgba(34, 197, 94, 0.25)', + borderRadius: '10px', + padding: '1rem', + color: '#22c55e', + fontSize: '0.875rem', + marginBottom: '1rem', + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', +}; + +// Global keyframe style (injected once) +const STYLE_ID = 'notur-cs2-modframework-styles'; + +function ensureStyles(): void { + if (document.getElementById(STYLE_ID)) return; + const style = document.createElement('style'); + style.id = STYLE_ID; + style.textContent = `@keyframes notur-spin { to { transform: rotate(360deg); } }`; + document.head.appendChild(style); +} + +export const ModFrameworkPage: React.FC = () => { + React.useEffect(() => { ensureStyles(); }, []); + + const server = useServerContext(); + + if (!server) { + return React.createElement('div', { style: spinnerContainerStyle }, 'Loading server context...'); + } + + return React.createElement(ModFrameworkPageInner, { serverUuid: server.uuid }); +}; + +const ModFrameworkPageInner: React.FC<{ serverUuid: string }> = ({ serverUuid }) => { + const { + status, + versions, + statusLoading, + actionLoading, + error, + fetchStatus, + installFramework, + uninstallFramework, + } = useModFramework(serverUuid); + + const [modal, setModal] = useState(null); + const [successMsg, setSuccessMsg] = useState(null); + + const openModal = useCallback((action: 'install' | 'uninstall', framework: FrameworkName) => { + setSuccessMsg(null); + setModal({ open: true, action, framework }); + }, []); + + const closeModal = useCallback(() => setModal(null), []); + + const handleConfirm = useCallback(async () => { + if (!modal) return; + + let result: InstallResult; + if (modal.action === 'install') { + result = await installFramework(modal.framework); + } else { + result = await uninstallFramework(modal.framework); + } + + if (result.success) { + setSuccessMsg(result.message); + } + closeModal(); + }, [modal, installFramework, uninstallFramework, closeModal]); + + const getModalTitle = (): string => { + if (!modal) return ''; + const fw = FRAMEWORKS.find(f => f.key === modal.framework); + const label = fw?.label || modal.framework; + return modal.action === 'install' ? `Install ${label}` : `Uninstall ${label}`; + }; + + const getModalMessage = (): string => { + if (!modal) return ''; + const fw = FRAMEWORKS.find(f => f.key === modal.framework); + const label = fw?.label || modal.framework; + + if (modal.action === 'install') { + return `This will download and install the latest version of ${label} on your server. The server should be stopped before installing.`; + } + return `This will remove ${label} and its files from your server. Any plugins or configurations within ${label} will be lost.`; + }; + + const getModalWarning = (): string | undefined => { + if (!modal) return undefined; + + if (modal.action === 'install' && modal.framework === 'counterstrikesharp') { + const metamodInstalled = status?.metamod?.installed ?? false; + if (!metamodInstalled) { + return 'Metamod:Source is not installed and will be automatically installed first, as CounterStrikeSharp requires it.'; + } + } + + if (modal.action === 'uninstall' && modal.framework === 'metamod') { + const cssInstalled = status?.counterstrikesharp?.installed ?? false; + if (cssInstalled) { + return 'CounterStrikeSharp is still installed and depends on Metamod. Please uninstall CounterStrikeSharp first.'; + } + } + + return undefined; + }; + + if (statusLoading) { + return React.createElement('div', { style: pageStyle }, + React.createElement('div', { style: headerStyle }, + React.createElement('h2', { style: titleStyle }, 'Mod Frameworks'), + React.createElement('p', { style: subtitleStyle }, 'Manage CS2 modding frameworks on your server'), + ), + React.createElement('div', { style: spinnerContainerStyle }, 'Loading framework status...'), + ); + } + + return React.createElement('div', { style: pageStyle }, + React.createElement('div', { style: headerStyle }, + React.createElement('h2', { style: titleStyle }, 'Mod Frameworks'), + React.createElement('p', { style: subtitleStyle }, + 'One-click install and manage CS2 modding frameworks. Stop your server before installing.', + ), + ), + + // Error banner + error ? React.createElement('div', { style: errorBoxStyle }, + React.createElement('span', null, error), + React.createElement('button', { + style: dismissBtnStyle, + onClick: fetchStatus, + title: 'Retry', + }, '\u21BB'), + ) : null, + + // Success banner + successMsg ? React.createElement('div', { style: successBoxStyle }, + React.createElement('span', null, successMsg), + React.createElement('button', { + style: { ...dismissBtnStyle, color: '#22c55e' }, + onClick: () => setSuccessMsg(null), + }, '\u2715'), + ) : null, + + // Framework cards + React.createElement('div', { style: gridStyle }, + FRAMEWORKS.map(fw => { + const fwStatus = status ? status[fw.key] : null; + const fwVersion = versions ? versions[fw.key] : null; + const depInstalled = fw.dependency ? (status?.[fw.dependency]?.installed ?? false) : undefined; + const gameInfoOk = fw.key === 'counterstrikesharp' ? undefined + : status?.gameinfo_entries?.[fw.key]; + + return React.createElement(FrameworkCard, { + key: fw.key, + framework: fw.key, + label: fw.label, + description: fw.description, + icon: fw.icon, + status: fwStatus, + version: fwVersion, + gameInfoOk, + dependency: fw.dependency ? (FRAMEWORKS.find(f => f.key === fw.dependency)?.label) : undefined, + dependencyInstalled: depInstalled, + isLoading: actionLoading === fw.key || (fw.key === 'metamod' && actionLoading === 'counterstrikesharp'), + onInstall: () => openModal('install', fw.key), + onUninstall: () => openModal('uninstall', fw.key), + }); + }), + ), + + // Confirmation modal + React.createElement(ConfirmModal, { + open: modal?.open ?? false, + title: getModalTitle(), + message: getModalMessage(), + warning: getModalWarning(), + confirmLabel: modal?.action === 'install' ? 'Install' : 'Uninstall', + confirmColor: modal?.action === 'install' ? '#22c55e' : '#ef4444', + loading: actionLoading !== null, + onConfirm: handleConfirm, + onCancel: closeModal, + }), + ); +}; diff --git a/extensions/cs2-modframework/resources/frontend/src/index.tsx b/extensions/cs2-modframework/resources/frontend/src/index.tsx new file mode 100644 index 00000000..e9a2f50b --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/src/index.tsx @@ -0,0 +1,52 @@ +import * as React from 'react'; +import { createExtension } from '@notur/sdk'; +import { ModFrameworkPage } from './components/ModFrameworkPage'; + +// Sub-navigation link component for the server sidebar +const ModFrameworkNavLink: React.FC = () => { + return React.createElement('a', { + href: '#', + onClick: (e: React.MouseEvent) => { + e.preventDefault(); + // Navigate using Pterodactyl's router — the route is registered below + const match = window.location.pathname.match(/\/server\/([a-f0-9-]+)/); + if (match) { + window.location.href = `/server/${match[1]}/mod-frameworks`; + } + }, + style: { + display: 'flex', + alignItems: 'center', + gap: '0.5rem', + padding: '0.5rem 0.75rem', + color: 'var(--notur-text-secondary, #a0a8b4)', + textDecoration: 'none', + fontSize: '0.875rem', + borderRadius: '6px', + transition: 'color 0.15s, background 0.15s', + }, + }, + React.createElement('span', { style: { fontSize: '1rem' } }, '\uD83E\uDDE9'), + 'Mod Frameworks', + ); +}; + +createExtension({ + id: 'notur/cs2-modframework', + slots: [ + { + slot: 'server.subnav.after', + component: ModFrameworkNavLink, + order: 50, + when: { server: true }, + }, + ], + routes: [ + { + area: 'server', + path: '/mod-frameworks', + name: 'Mod Frameworks', + component: ModFrameworkPage, + }, + ], +}); diff --git a/extensions/cs2-modframework/src/Controllers/ModFrameworkController.php b/extensions/cs2-modframework/src/Controllers/ModFrameworkController.php new file mode 100644 index 00000000..09be687b --- /dev/null +++ b/extensions/cs2-modframework/src/Controllers/ModFrameworkController.php @@ -0,0 +1,106 @@ +where('uuid', $uuid)->orWhere('uuidShort', $uuid); + }) + ->where('suspended', false) + ->firstOrFail(); + + // Verify the authenticated user has access to this server + $user = $request->user(); + if ($user && !$user->root_admin) { + $hasAccess = $server->owner_id === $user->id + || $server->subusers()->where('user_id', $user->id)->exists(); + + if (!$hasAccess) { + abort(403, 'You do not have access to this server.'); + } + } + + return $server; + } + + private function createInstaller(Server $server): FrameworkInstaller + { + $repo = clone $this->fileRepository; + $repo->setServer($server); + + return new FrameworkInstaller( + $repo, + $this->releaseResolver, + new GameInfoModifier($repo), + ); + } + + public function status(Request $request, string $server): JsonResponse + { + $serverModel = $this->resolveServer($request, $server); + $installer = $this->createInstaller($serverModel); + + return response()->json([ + 'data' => $installer->getStatus(), + ]); + } + + public function versions(Request $request, string $server): JsonResponse + { + // Validate server access even though versions are server-independent + $this->resolveServer($request, $server); + + return response()->json([ + 'data' => $this->releaseResolver->getLatestVersions(), + ]); + } + + public function install(Request $request, string $server): JsonResponse + { + $request->validate([ + 'framework' => 'required|string|in:swiftly,counterstrikesharp,metamod', + ]); + + $serverModel = $this->resolveServer($request, $server); + $installer = $this->createInstaller($serverModel); + + $result = $installer->install($request->input('framework')); + + return response()->json(['data' => $result]); + } + + public function uninstall(Request $request, string $server): JsonResponse + { + $request->validate([ + 'framework' => 'required|string|in:swiftly,counterstrikesharp,metamod', + ]); + + $serverModel = $this->resolveServer($request, $server); + $installer = $this->createInstaller($serverModel); + + $result = $installer->uninstall($request->input('framework')); + + return response()->json(['data' => $result]); + } +} diff --git a/extensions/cs2-modframework/src/Cs2ModframeworkExtension.php b/extensions/cs2-modframework/src/Cs2ModframeworkExtension.php new file mode 100644 index 00000000..5e3d97da --- /dev/null +++ b/extensions/cs2-modframework/src/Cs2ModframeworkExtension.php @@ -0,0 +1,46 @@ + 'src/routes/api-client.php', + ]; + } +} diff --git a/extensions/cs2-modframework/src/Services/FrameworkInstaller.php b/extensions/cs2-modframework/src/Services/FrameworkInstaller.php new file mode 100644 index 00000000..30f857b6 --- /dev/null +++ b/extensions/cs2-modframework/src/Services/FrameworkInstaller.php @@ -0,0 +1,248 @@ + 'swiftlys2', + 'counterstrikesharp' => 'counterstrikesharp', + 'metamod' => 'metamod', + ]; + + private const GAMEINFO_ENTRIES = [ + 'swiftly' => 'Game csgo/addons/swiftlys2', + 'metamod' => 'Game csgo/addons/metamod', + ]; + + private const FRAMEWORK_LABELS = [ + 'swiftly' => 'SwiftlyS2', + 'counterstrikesharp' => 'CounterStrikeSharp', + 'metamod' => 'Metamod:Source', + ]; + + public function __construct( + private readonly DaemonFileRepository $fileRepository, + private readonly GitHubReleaseResolver $releaseResolver, + private readonly GameInfoModifier $gameInfoModifier, + ) { + } + + public function getStatus(): array + { + $addons = $this->listAddons(); + $gameinfoContent = $this->readGameInfoSafe(); + + $status = []; + foreach (self::FRAMEWORK_DIRS as $framework => $dir) { + $installed = $this->dirExistsInList($addons, $dir); + $status[$framework] = [ + 'installed' => $installed, + 'directory' => $installed ? "game/csgo/addons/{$dir}" : null, + ]; + } + + $status['gameinfo_entries'] = []; + foreach (self::GAMEINFO_ENTRIES as $framework => $entry) { + $status['gameinfo_entries'][$framework] = $gameinfoContent !== null && str_contains($gameinfoContent, $entry); + } + + return $status; + } + + public function install(string $framework): array + { + $label = self::FRAMEWORK_LABELS[$framework]; + + // CSS requires Metamod — auto-install if missing + if ($framework === 'counterstrikesharp') { + $status = $this->getStatus(); + if (!$status['metamod']['installed']) { + $metamodResult = $this->doInstall('metamod'); + if (!$metamodResult['success']) { + return [ + 'success' => false, + 'framework' => $framework, + 'message' => "Failed to auto-install Metamod (required by {$label}): {$metamodResult['message']}", + ]; + } + } + } + + return $this->doInstall($framework); + } + + public function uninstall(string $framework): array + { + $label = self::FRAMEWORK_LABELS[$framework]; + + // Warn if trying to uninstall Metamod while CSS is installed + if ($framework === 'metamod') { + $status = $this->getStatus(); + if ($status['counterstrikesharp']['installed']) { + return [ + 'success' => false, + 'framework' => $framework, + 'message' => 'Cannot uninstall Metamod while CounterStrikeSharp is installed. Please uninstall CounterStrikeSharp first.', + ]; + } + } + + $dir = self::FRAMEWORK_DIRS[$framework]; + + try { + // Delete the framework directory + $this->fileRepository->deleteFiles(self::ADDONS_DIR, [$dir]); + + // Remove gameinfo.gi entry if applicable + $entry = self::GAMEINFO_ENTRIES[$framework] ?? null; + if ($entry !== null) { + $this->gameInfoModifier->removeEntry($entry); + } + + // For CSS, also clean up the metamod VDF reference + if ($framework === 'counterstrikesharp') { + $this->cleanupCssMetamodFiles(); + } + + return [ + 'success' => true, + 'framework' => $framework, + 'message' => "{$label} uninstalled successfully.", + ]; + } catch (DaemonConnectionException $e) { + Log::error("CS2 ModFramework: Failed to uninstall {$framework}", [ + 'error' => $e->getMessage(), + ]); + + return [ + 'success' => false, + 'framework' => $framework, + 'message' => "Failed to uninstall {$label}: " . $e->getMessage(), + ]; + } + } + + private function doInstall(string $framework): array + { + $label = self::FRAMEWORK_LABELS[$framework]; + + // Resolve download info + $release = match ($framework) { + 'swiftly' => $this->releaseResolver->resolveSwiftly(), + 'counterstrikesharp' => $this->releaseResolver->resolveCounterStrikeSharp(), + 'metamod' => $this->releaseResolver->resolveMetamod(), + }; + + if ($release === null) { + return [ + 'success' => false, + 'framework' => $framework, + 'message' => "Could not resolve latest {$label} release. Please try again later.", + ]; + } + + $downloadUrl = $release['download_url']; + $filename = $release['filename']; + $version = $release['version']; + + try { + // 1. Download archive to server + $this->fileRepository->pull($downloadUrl, self::CSGO_DIR, [ + 'filename' => $filename, + 'foreground' => true, + ]); + + // 2. Extract archive + $this->fileRepository->decompressFile(self::CSGO_DIR, $filename); + + // 3. Clean up archive + $this->fileRepository->deleteFiles(self::CSGO_DIR, [$filename]); + + // 4. Modify gameinfo.gi if needed + $entry = self::GAMEINFO_ENTRIES[$framework] ?? null; + if ($entry !== null) { + $this->gameInfoModifier->addEntry($entry); + } + + return [ + 'success' => true, + 'framework' => $framework, + 'version' => $version, + 'message' => "{$label} v{$version} installed successfully.", + ]; + } catch (DaemonConnectionException $e) { + Log::error("CS2 ModFramework: Failed to install {$framework}", [ + 'error' => $e->getMessage(), + 'url' => $downloadUrl, + ]); + + // Attempt cleanup of partially downloaded file + try { + $this->fileRepository->deleteFiles(self::CSGO_DIR, [$filename]); + } catch (\Throwable) { + // Ignore cleanup failures + } + + return [ + 'success' => false, + 'framework' => $framework, + 'message' => "Failed to install {$label}: " . $e->getMessage(), + ]; + } + } + + private function cleanupCssMetamodFiles(): void + { + try { + // CSS registers itself with Metamod via a VDF file + $metamodDir = $this->fileRepository->getDirectory(self::ADDONS_DIR . '/metamod'); + foreach ($metamodDir as $file) { + $name = $file['name'] ?? ''; + if (str_contains(strtolower($name), 'counterstrikesharp') && str_ends_with($name, '.vdf')) { + $this->fileRepository->deleteFiles(self::ADDONS_DIR . '/metamod', [$name]); + } + } + } catch (\Throwable) { + // Non-critical cleanup + } + } + + private function listAddons(): array + { + try { + return $this->fileRepository->getDirectory(self::ADDONS_DIR); + } catch (DaemonConnectionException) { + return []; + } + } + + private function dirExistsInList(array $listing, string $name): bool + { + foreach ($listing as $item) { + if (($item['name'] ?? '') === $name && ($item['is_file'] ?? true) === false) { + return true; + } + } + + return false; + } + + private function readGameInfoSafe(): ?string + { + try { + return $this->fileRepository->getContent('/game/csgo/gameinfo.gi'); + } catch (\Throwable) { + return null; + } + } +} diff --git a/extensions/cs2-modframework/src/Services/GameInfoModifier.php b/extensions/cs2-modframework/src/Services/GameInfoModifier.php new file mode 100644 index 00000000..fb089d8e --- /dev/null +++ b/extensions/cs2-modframework/src/Services/GameInfoModifier.php @@ -0,0 +1,94 @@ +readGameInfo(); + + return str_contains($content, $entry); + } + + public function addEntry(string $entry): void + { + $content = $this->readGameInfo(); + + // Already present — idempotent + if (str_contains($content, $entry)) { + return; + } + + // Create backup first + $this->fileRepository->putContent(self::GAMEINFO_PATH . '.bak', $content); + + // Find the anchor line and insert after it + $lines = explode("\n", $content); + $newLines = []; + $inserted = false; + + foreach ($lines as $line) { + $newLines[] = $line; + + if (!$inserted && str_contains($line, self::ANCHOR_LINE)) { + // Detect indentation from the anchor line + preg_match('/^(\s*)/', $line, $matches); + $indent = $matches[1] ?? "\t\t\t"; + $newLines[] = $indent . $entry; + $inserted = true; + } + } + + if (!$inserted) { + // Fallback: append in SearchPaths block if anchor not found + // Try to find any "Game" line and insert after it + $newLines = []; + foreach ($lines as $line) { + $newLines[] = $line; + if (!$inserted && preg_match('/^\s+Game\s+/', $line)) { + preg_match('/^(\s*)/', $line, $matches); + $indent = $matches[1] ?? "\t\t\t"; + $newLines[] = $indent . $entry; + $inserted = true; + } + } + } + + $this->fileRepository->putContent(self::GAMEINFO_PATH, implode("\n", $newLines)); + } + + public function removeEntry(string $entry): void + { + $content = $this->readGameInfo(); + + if (!str_contains($content, $entry)) { + return; + } + + // Create backup first + $this->fileRepository->putContent(self::GAMEINFO_PATH . '.bak', $content); + + $lines = explode("\n", $content); + $newLines = array_filter($lines, fn (string $line) => !str_contains($line, $entry)); + + $this->fileRepository->putContent(self::GAMEINFO_PATH, implode("\n", array_values($newLines))); + } + + private function readGameInfo(): string + { + return $this->fileRepository->getContent(self::GAMEINFO_PATH); + } +} diff --git a/extensions/cs2-modframework/src/Services/GitHubReleaseResolver.php b/extensions/cs2-modframework/src/Services/GitHubReleaseResolver.php new file mode 100644 index 00000000..cb6faec2 --- /dev/null +++ b/extensions/cs2-modframework/src/Services/GitHubReleaseResolver.php @@ -0,0 +1,126 @@ +client = new Client([ + 'timeout' => 15, + 'headers' => [ + 'Accept' => 'application/vnd.github.v3+json', + 'User-Agent' => 'Notur-CS2-ModFramework/1.0', + ], + ]); + } + + public function getLatestVersions(): array + { + return Cache::remember(self::CACHE_KEY, self::CACHE_TTL, function () { + return [ + 'swiftly' => $this->resolveSwiftly(), + 'counterstrikesharp' => $this->resolveCounterStrikeSharp(), + 'metamod' => $this->resolveMetamod(), + ]; + }); + } + + public function resolveSwiftly(): ?array + { + return $this->resolveGitHubRelease( + self::SWIFTLY_REPO, + fn (string $name) => str_contains($name, 'linux') && str_contains($name, 'with-runtimes') && str_ends_with($name, '.zip'), + ); + } + + public function resolveCounterStrikeSharp(): ?array + { + return $this->resolveGitHubRelease( + self::CSS_REPO, + fn (string $name) => str_contains($name, 'with-runtime') && str_contains($name, 'linux') && str_ends_with($name, '.zip'), + ); + } + + public function resolveMetamod(): ?array + { + try { + $response = $this->client->get(self::METAMOD_LATEST_URL); + $filename = trim($response->getBody()->__toString()); + + if (empty($filename)) { + return null; + } + + // Parse version from filename: mmsource-2.0.0-git1384-linux.tar.gz + $version = $filename; + if (preg_match('/mmsource-([\d.]+-git\d+)/', $filename, $matches)) { + $version = $matches[1]; + } + + return [ + 'version' => $version, + 'download_url' => self::METAMOD_BASE_URL . $filename, + 'filename' => $filename, + ]; + } catch (GuzzleException $e) { + Log::warning('CS2 ModFramework: Failed to resolve Metamod version', [ + 'error' => $e->getMessage(), + ]); + + return null; + } + } + + private function resolveGitHubRelease(string $repo, callable $assetMatcher): ?array + { + try { + $response = $this->client->get("https://api.github.com/repos/{$repo}/releases/latest"); + $release = json_decode($response->getBody()->__toString(), true); + + $tagName = $release['tag_name'] ?? null; + $assets = $release['assets'] ?? []; + + foreach ($assets as $asset) { + $name = $asset['name'] ?? ''; + if ($assetMatcher($name)) { + return [ + 'version' => ltrim($tagName, 'v'), + 'download_url' => $asset['browser_download_url'], + 'filename' => $name, + ]; + } + } + + Log::warning("CS2 ModFramework: No matching asset found for {$repo}", [ + 'tag' => $tagName, + 'assets' => array_column($assets, 'name'), + ]); + + return null; + } catch (GuzzleException $e) { + Log::warning("CS2 ModFramework: Failed to resolve {$repo} release", [ + 'error' => $e->getMessage(), + ]); + + return null; + } + } +} diff --git a/extensions/cs2-modframework/src/routes/api-client.php b/extensions/cs2-modframework/src/routes/api-client.php new file mode 100644 index 00000000..570f3623 --- /dev/null +++ b/extensions/cs2-modframework/src/routes/api-client.php @@ -0,0 +1,15 @@ +group(function () { + Route::get('/status', [ModFrameworkController::class, 'status']); + Route::get('/versions', [ModFrameworkController::class, 'versions']); + Route::post('/install', [ModFrameworkController::class, 'install']); + Route::post('/uninstall', [ModFrameworkController::class, 'uninstall']); +}); diff --git a/extensions/cs2-modframework/tsconfig.json b/extensions/cs2-modframework/tsconfig.json new file mode 100644 index 00000000..f9bbbec5 --- /dev/null +++ b/extensions/cs2-modframework/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "ESNext", + "lib": ["DOM", "ES2018"], + "jsx": "react", + "strict": true, + "esModuleInterop": true, + "moduleResolution": "node", + "outDir": "./resources/frontend/dist", + "rootDir": "./resources/frontend/src", + "baseUrl": ".", + "paths": { + "@notur/sdk": ["../../sdk/dist"] + }, + "skipLibCheck": true + }, + "include": ["resources/frontend/src/**/*"] +} diff --git a/extensions/cs2-modframework/webpack.config.js b/extensions/cs2-modframework/webpack.config.js new file mode 100644 index 00000000..5c6f8555 --- /dev/null +++ b/extensions/cs2-modframework/webpack.config.js @@ -0,0 +1,30 @@ +const path = require('path'); + +module.exports = { + entry: './resources/frontend/src/index.tsx', + output: { + filename: 'cs2-modframework.js', + path: path.resolve(__dirname, 'resources/frontend/dist'), + library: { type: 'umd' }, + clean: true, + }, + resolve: { + extensions: ['.ts', '.tsx', '.js', '.jsx'], + alias: { + '@notur/sdk': path.resolve(__dirname, '../../sdk/dist'), + }, + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + externals: { + react: 'React', + 'react-dom': 'ReactDOM', + }, +}; From 8613e5d94c80a2e540a3540322c350a688a31b08 Mon Sep 17 00:00:00 2001 From: sak0a Date: Wed, 11 Feb 2026 04:01:53 +0100 Subject: [PATCH 2/7] Add initial files for CS2 Mod Framework extension - Created `.gitignore` to exclude `node_modules/`. - Added `cs2-modframework.notur` and its SHA256 checksum for integrity verification. - Introduced `package-lock.json` and updated `package.json` to include `@notur/sdk` as a dependency. - Included initial frontend JavaScript file for the mod framework. --- extensions/cs2-modframework/.gitignore | 1 + .../cs2-modframework/cs2-modframework.notur | Bin 0 -> 37695 bytes .../cs2-modframework.notur.sha256 | 1 + .../node_modules/.package-lock.json | 1887 ++++++++++++++++ extensions/cs2-modframework/package-lock.json | 1906 +++++++++++++++++ extensions/cs2-modframework/package.json | 3 + .../frontend/dist/cs2-modframework.js | 1 + 7 files changed, 3799 insertions(+) create mode 100644 extensions/cs2-modframework/.gitignore create mode 100644 extensions/cs2-modframework/cs2-modframework.notur create mode 100644 extensions/cs2-modframework/cs2-modframework.notur.sha256 create mode 100644 extensions/cs2-modframework/node_modules/.package-lock.json create mode 100644 extensions/cs2-modframework/package-lock.json create mode 100644 extensions/cs2-modframework/resources/frontend/dist/cs2-modframework.js diff --git a/extensions/cs2-modframework/.gitignore b/extensions/cs2-modframework/.gitignore new file mode 100644 index 00000000..40b878db --- /dev/null +++ b/extensions/cs2-modframework/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/extensions/cs2-modframework/cs2-modframework.notur b/extensions/cs2-modframework/cs2-modframework.notur new file mode 100644 index 0000000000000000000000000000000000000000..c4007fa484e7ec4cc860788618baa25789bf6f78 GIT binary patch literal 37695 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.17.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@notur/sdk": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@notur/sdk/-/sdk-1.2.0.tgz", + "integrity": "sha512-S3YmAglEvTFmUNFim6e2qSVaOp9DkJupVzikjq11qq92djRJA8cDr6UBU+L8wxyJNGJ0nShRNS/pgfAT4cXeBQ==", + "license": "MIT", + "dependencies": { + "libsodium-wrappers": "^0.7.13", + "yaml": "^2.3.0" + }, + "bin": { + "notur-keygen": "bin/notur-keygen.js", + "notur-pack": "bin/notur-pack.js" + }, + "peerDependencies": { + "react": "^16.14.0", + "react-dom": "^16.14.0" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz", + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "16.14.69", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.69.tgz", + "integrity": "sha512-NdnAamzkxLX9LBssSdt9Q0tQ3LR94hYxotI4/sRUs1vHKFXaDx9xDbK8S4wuw5bwrxiiXbTYyhKeITtFnwDvEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "16.9.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.25.tgz", + "integrity": "sha512-ZK//eAPhwft9Ul2/Zj+6O11YR6L4JX0J2sVeBC9Ft7x7HFN7xk7yUV/zDxqV6rjvqgl6r8Dq7oQImxtyf/Mzcw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^16.0.0" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001769", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", + "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/libsodium": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.16.tgz", + "integrity": "sha512-3HrzSPuzm6Yt9aTYCDxYEG8x8/6C0+ag655Y7rhhWZM9PT4NpdnbqlzXhGZlDnkgR6MeSTnOt/VIyHLs9aSf+Q==", + "license": "ISC" + }, + "node_modules/libsodium-wrappers": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.16.tgz", + "integrity": "sha512-Gtr/WBx4dKjvRL1pvfwZqu7gO6AfrQ0u9vFL+kXihtHf6NfkROR8pjYWn98MFDI3jN19Ii1ZUfPR9afGiPyfHg==", + "license": "ISC", + "dependencies": { + "libsodium": "^0.7.16" + } + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT", + "peer": true + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.105.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.1.tgz", + "integrity": "sha512-Gdj3X74CLJJ8zy4URmK42W7wTZUJrqL+z8nyGEr4dTN0kb3nVs+ZvjbTOqRYPD7qX4tUmwyHL9Q9K6T1seW6Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.19.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", + "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.6.1", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", + "colorette": "^2.0.14", + "commander": "^12.1.0", + "cross-spawn": "^7.0.3", + "envinfo": "^7.14.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^6.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.82.0" + }, + "peerDependenciesMeta": { + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + } + } +} diff --git a/extensions/cs2-modframework/package-lock.json b/extensions/cs2-modframework/package-lock.json new file mode 100644 index 00000000..00469d0c --- /dev/null +++ b/extensions/cs2-modframework/package-lock.json @@ -0,0 +1,1906 @@ +{ + "name": "notur-cs2-modframework", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "notur-cs2-modframework", + "version": "1.0.0", + "dependencies": { + "@notur/sdk": "^1.2.0" + }, + "devDependencies": { + "@types/react": "^16.14.0", + "@types/react-dom": "^16.9.0", + "ts-loader": "^9.5.0", + "typescript": "^5.3.0", + "webpack": "^5.90.0", + "webpack-cli": "^6.0.0" + }, + "peerDependencies": { + "react": "^16.14.0", + "react-dom": "^16.14.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.17.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@notur/sdk": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@notur/sdk/-/sdk-1.2.0.tgz", + "integrity": "sha512-S3YmAglEvTFmUNFim6e2qSVaOp9DkJupVzikjq11qq92djRJA8cDr6UBU+L8wxyJNGJ0nShRNS/pgfAT4cXeBQ==", + "license": "MIT", + "dependencies": { + "libsodium-wrappers": "^0.7.13", + "yaml": "^2.3.0" + }, + "bin": { + "notur-keygen": "bin/notur-keygen.js", + "notur-pack": "bin/notur-pack.js" + }, + "peerDependencies": { + "react": "^16.14.0", + "react-dom": "^16.14.0" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz", + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "16.14.69", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.69.tgz", + "integrity": "sha512-NdnAamzkxLX9LBssSdt9Q0tQ3LR94hYxotI4/sRUs1vHKFXaDx9xDbK8S4wuw5bwrxiiXbTYyhKeITtFnwDvEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "^0.16", + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "16.9.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.25.tgz", + "integrity": "sha512-ZK//eAPhwft9Ul2/Zj+6O11YR6L4JX0J2sVeBC9Ft7x7HFN7xk7yUV/zDxqV6rjvqgl6r8Dq7oQImxtyf/Mzcw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^16.0.0" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001769", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz", + "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/libsodium": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.16.tgz", + "integrity": "sha512-3HrzSPuzm6Yt9aTYCDxYEG8x8/6C0+ag655Y7rhhWZM9PT4NpdnbqlzXhGZlDnkgR6MeSTnOt/VIyHLs9aSf+Q==", + "license": "ISC" + }, + "node_modules/libsodium-wrappers": { + "version": "0.7.16", + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.16.tgz", + "integrity": "sha512-Gtr/WBx4dKjvRL1pvfwZqu7gO6AfrQ0u9vFL+kXihtHf6NfkROR8pjYWn98MFDI3jN19Ii1ZUfPR9afGiPyfHg==", + "license": "ISC", + "dependencies": { + "libsodium": "^0.7.16" + } + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT", + "peer": true + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.5.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", + "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.105.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.1.tgz", + "integrity": "sha512-Gdj3X74CLJJ8zy4URmK42W7wTZUJrqL+z8nyGEr4dTN0kb3nVs+ZvjbTOqRYPD7qX4tUmwyHL9Q9K6T1seW6Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.19.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", + "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.6.1", + "@webpack-cli/configtest": "^3.0.1", + "@webpack-cli/info": "^3.0.1", + "@webpack-cli/serve": "^3.0.1", + "colorette": "^2.0.14", + "commander": "^12.1.0", + "cross-spawn": "^7.0.3", + "envinfo": "^7.14.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^6.0.1" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.82.0" + }, + "peerDependenciesMeta": { + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + } + } +} diff --git a/extensions/cs2-modframework/package.json b/extensions/cs2-modframework/package.json index 5f0d16e7..cc04216e 100644 --- a/extensions/cs2-modframework/package.json +++ b/extensions/cs2-modframework/package.json @@ -17,5 +17,8 @@ "peerDependencies": { "react": "^16.14.0", "react-dom": "^16.14.0" + }, + "dependencies": { + "@notur/sdk": "^1.2.0" } } diff --git a/extensions/cs2-modframework/resources/frontend/dist/cs2-modframework.js b/extensions/cs2-modframework/resources/frontend/dist/cs2-modframework.js new file mode 100644 index 00000000..d6042376 --- /dev/null +++ b/extensions/cs2-modframework/resources/frontend/dist/cs2-modframework.js @@ -0,0 +1 @@ +!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("React"));else if("function"==typeof define&&define.amd)define(["React"],r);else{var t="object"==typeof exports?r(require("React")):r(e.React);for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(self,e=>(()=>{"use strict";var r={883(r){r.exports=e}},t={},n=function e(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return r[n](a,a.exports,e),a.exports}(883);function o(){const e=window.__NOTUR__;if(!e)throw new Error("[Notur SDK] Bridge runtime not found. Ensure bridge.js is loaded first.");return e}const a="notur/cs2-modframework",i={background:"var(--notur-bg-secondary, #1a1f2e)",borderRadius:"var(--notur-radius-md, 12px)",border:"1px solid var(--notur-border, rgba(255, 255, 255, 0.08))",padding:"1.25rem",display:"flex",flexDirection:"column",gap:"1rem",transition:"border-color 0.2s, box-shadow 0.2s"},l={display:"flex",alignItems:"center",gap:"0.75rem"},s={width:"44px",height:"44px",borderRadius:"10px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.5rem",flexShrink:0},d={color:"var(--notur-text-primary, #f0f0f0)",fontSize:"1rem",fontWeight:600,margin:0},c={color:"var(--notur-text-secondary, #a0a8b4)",fontSize:"0.8rem",margin:"2px 0 0 0",lineHeight:1.3},u={display:"flex",gap:"0.5rem",flexWrap:"wrap"},m={fontSize:"0.75rem",fontWeight:600,padding:"3px 10px",borderRadius:"6px",display:"inline-flex",alignItems:"center",gap:"4px"},f={...m,background:"rgba(34, 197, 94, 0.12)",color:"#22c55e",border:"1px solid rgba(34, 197, 94, 0.2)"},p={...m,background:"rgba(148, 163, 184, 0.1)",color:"#94a3b8",border:"1px solid rgba(148, 163, 184, 0.15)"},g={...m,background:"rgba(99, 102, 241, 0.1)",color:"#818cf8",border:"1px solid rgba(99, 102, 241, 0.2)"},y={color:"var(--notur-text-secondary, #a0a8b4)",fontSize:"0.78rem"},b={display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"auto"},v={padding:"0.5rem 1.25rem",borderRadius:"8px",border:"none",background:"#22c55e",color:"#fff",cursor:"pointer",fontSize:"0.85rem",fontWeight:600,transition:"opacity 0.15s",display:"flex",alignItems:"center",gap:"6px"},k={...v,background:"rgba(239, 68, 68, 0.15)",color:"#ef4444",border:"1px solid rgba(239, 68, 68, 0.25)"},x={...v,opacity:.5,cursor:"not-allowed",background:"rgba(148, 163, 184, 0.15)",color:"#94a3b8"},w={swiftly:"rgba(249, 115, 22, 0.15)",counterstrikesharp:"rgba(99, 102, 241, 0.15)",metamod:"rgba(14, 165, 233, 0.15)"},h={swiftly:"rgba(249, 115, 22, 0.25)",counterstrikesharp:"rgba(99, 102, 241, 0.25)",metamod:"rgba(14, 165, 233, 0.25)"},E=({framework:e,label:r,description:t,icon:o,status:a,version:E,gameInfoOk:S,dependency:C,dependencyInstalled:I,isLoading:R,onInstall:z,onUninstall:$})=>{var j;const W=null!==(j=null==a?void 0:a.installed)&&void 0!==j&&j,F={...s,background:w[e]||"rgba(148, 163, 184, 0.1)",border:`1px solid ${h[e]||"rgba(148, 163, 184, 0.15)"}`},L=C&&!I&&!W;return n.createElement("div",{style:i},n.createElement("div",{style:l},n.createElement("div",{style:F},o),n.createElement("div",null,n.createElement("h4",{style:d},r),n.createElement("p",{style:c},t))),n.createElement("div",{style:u},W?n.createElement("span",{style:f},"✓ Installed"):n.createElement("span",{style:p},"Not Installed"),C?n.createElement("span",{style:g},I?"✓ ":"","Requires ",C):null,W&&!1===S?n.createElement("span",{style:{...m,background:"rgba(245, 158, 11, 0.1)",color:"#f59e0b",border:"1px solid rgba(245, 158, 11, 0.2)"}},"gameinfo.gi entry missing"):null),n.createElement("div",{style:b},n.createElement("span",{style:y},E?`Latest: v${E.version}`:""),R?n.createElement("button",{style:x,disabled:!0},n.createElement("span",{style:{display:"inline-block",width:"14px",height:"14px",border:"2px solid rgba(148, 163, 184, 0.3)",borderTopColor:"#94a3b8",borderRadius:"50%",animation:"notur-spin 0.6s linear infinite"}}),"Working..."):W?n.createElement("button",{style:k,onClick:$},"Uninstall"):n.createElement("button",{style:v,onClick:z,title:L?`${C} will be auto-installed`:void 0},"Install")))},S={position:"fixed",inset:0,background:"rgba(0, 0, 0, 0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,backdropFilter:"blur(2px)"},C={background:"var(--notur-bg-secondary, #1a1f2e)",borderRadius:"var(--notur-radius-md, 12px)",border:"1px solid var(--notur-border, rgba(255, 255, 255, 0.08))",padding:"1.5rem",maxWidth:"440px",width:"90%",boxShadow:"0 20px 60px rgba(0, 0, 0, 0.4)"},I={color:"var(--notur-text-primary, #f0f0f0)",fontSize:"1.1rem",fontWeight:600,margin:"0 0 0.75rem 0"},R={color:"var(--notur-text-secondary, #a0a8b4)",fontSize:"0.9rem",lineHeight:1.5,margin:"0 0 1rem 0"},z={background:"rgba(245, 158, 11, 0.1)",border:"1px solid rgba(245, 158, 11, 0.3)",borderRadius:"8px",padding:"0.75rem",color:"#f59e0b",fontSize:"0.85rem",lineHeight:1.4,margin:"0 0 1rem 0"},$={display:"flex",justifyContent:"flex-end",gap:"0.75rem"},j={padding:"0.5rem 1rem",borderRadius:"8px",border:"1px solid var(--notur-border, rgba(255, 255, 255, 0.1))",background:"transparent",color:"var(--notur-text-secondary, #a0a8b4)",cursor:"pointer",fontSize:"0.875rem",fontWeight:500},W={padding:"0.5rem 1.25rem",borderRadius:"8px",border:"none",color:"#fff",cursor:"pointer",fontSize:"0.875rem",fontWeight:600,minWidth:"100px",display:"flex",alignItems:"center",justifyContent:"center",gap:"0.5rem"},F=({open:e,title:r,message:t,warning:o,confirmLabel:a="Confirm",confirmColor:i="#ef4444",loading:l=!1,onConfirm:s,onCancel:d})=>{if(!e)return null;const c={...W,background:i,opacity:l?.7:1,pointerEvents:l?"none":"auto"};return n.createElement("div",{style:S,onClick:l?void 0:d},n.createElement("div",{style:C,onClick:e=>e.stopPropagation()},n.createElement("h3",{style:I},r),n.createElement("p",{style:R},t),o?n.createElement("div",{style:z},o):null,n.createElement("div",{style:$},n.createElement("button",{style:j,onClick:d,disabled:l},"Cancel"),n.createElement("button",{style:c,onClick:s,disabled:l},l?n.createElement("span",null,"Working..."):a))))},{useState:L,useCallback:M}=n,N=[{key:"swiftly",label:"SwiftlyS2",description:"High-performance CS2 plugin framework. Standalone — no Metamod required.",icon:"⚡"},{key:"counterstrikesharp",label:"CounterStrikeSharp",description:"C# plugin framework for CS2 servers. Requires Metamod:Source.",icon:"🔧",dependency:"metamod"},{key:"metamod",label:"Metamod:Source",description:"C++ plugin API for Source 2 engine. Required by CounterStrikeSharp.",icon:"📦"}],U={padding:"1.5rem",maxWidth:"900px",margin:"0 auto"},q={marginBottom:"1.5rem"},T={color:"var(--notur-text-primary, #f0f0f0)",fontSize:"1.4rem",fontWeight:700,margin:"0 0 0.35rem 0"},B={color:"var(--notur-text-secondary, #a0a8b4)",fontSize:"0.9rem",margin:0},D={display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:"1rem"},O={display:"flex",alignItems:"center",justifyContent:"center",padding:"4rem 1rem",color:"var(--notur-text-secondary, #a0a8b4)",fontSize:"0.9rem"},_={background:"rgba(239, 68, 68, 0.1)",border:"1px solid rgba(239, 68, 68, 0.25)",borderRadius:"10px",padding:"1rem",color:"#ef4444",fontSize:"0.875rem",marginBottom:"1rem",display:"flex",alignItems:"center",justifyContent:"space-between"},H={background:"transparent",border:"none",color:"#ef4444",cursor:"pointer",fontSize:"1.1rem",padding:"0 0.25rem"},P={background:"rgba(34, 197, 94, 0.1)",border:"1px solid rgba(34, 197, 94, 0.25)",borderRadius:"10px",padding:"1rem",color:"#22c55e",fontSize:"0.875rem",marginBottom:"1rem",display:"flex",alignItems:"center",justifyContent:"space-between"},A="notur-cs2-modframework-styles",J=({serverUuid:e})=>{var r;const{status:t,versions:i,statusLoading:l,actionLoading:s,error:d,fetchStatus:c,installFramework:u,uninstallFramework:m}=function(e){const r=o().hooks.useExtensionApi({extensionId:a,baseUrl:`/api/client/notur/${a}/servers/${e}`}),[t,i]=(0,n.useState)(null),[l,s]=(0,n.useState)(null),[d,c]=(0,n.useState)(!0),[u,m]=(0,n.useState)(null),[f,p]=(0,n.useState)(null),g=(0,n.useRef)(r.get),y=(0,n.useRef)(r.post);g.current=r.get,y.current=r.post;const b=(0,n.useCallback)(async()=>{c(!0),p(null);try{const e=await g.current("/status");i(e.data)}catch(e){p(e.message||"Failed to fetch status")}finally{c(!1)}},[]),v=(0,n.useCallback)(async()=>{try{const e=await g.current("/versions");s(e.data)}catch(e){}},[]),k=(0,n.useCallback)(async e=>{m(e),p(null);try{const r=await y.current("/install",{framework:e});return await b(),r.data}catch(r){const t=r.message||`Failed to install ${e}`;return p(t),{success:!1,framework:e,message:t}}finally{m(null)}},[b]),x=(0,n.useCallback)(async e=>{m(e),p(null);try{const r=await y.current("/uninstall",{framework:e});return await b(),r.data}catch(r){const t=r.message||`Failed to uninstall ${e}`;return p(t),{success:!1,framework:e,message:t}}finally{m(null)}},[b]);return(0,n.useEffect)(()=>{e&&(b(),v())},[e,b,v]),{status:t,versions:l,statusLoading:d,actionLoading:u,error:f,fetchStatus:b,installFramework:k,uninstallFramework:x}}(e),[f,p]=L(null),[g,y]=L(null),b=M((e,r)=>{y(null),p({open:!0,action:e,framework:r})},[]),v=M(()=>p(null),[]),k=M(async()=>{if(!f)return;let e;e="install"===f.action?await u(f.framework):await m(f.framework),e.success&&y(e.message),v()},[f,u,m,v]);return l?n.createElement("div",{style:U},n.createElement("div",{style:q},n.createElement("h2",{style:T},"Mod Frameworks"),n.createElement("p",{style:B},"Manage CS2 modding frameworks on your server")),n.createElement("div",{style:O},"Loading framework status...")):n.createElement("div",{style:U},n.createElement("div",{style:q},n.createElement("h2",{style:T},"Mod Frameworks"),n.createElement("p",{style:B},"One-click install and manage CS2 modding frameworks. Stop your server before installing.")),d?n.createElement("div",{style:_},n.createElement("span",null,d),n.createElement("button",{style:H,onClick:c,title:"Retry"},"↻")):null,g?n.createElement("div",{style:P},n.createElement("span",null,g),n.createElement("button",{style:{...H,color:"#22c55e"},onClick:()=>y(null)},"✕")):null,n.createElement("div",{style:D},N.map(e=>{var r,o,a,l;const d=t?t[e.key]:null,c=i?i[e.key]:null,u=e.dependency?null!==(o=null===(r=null==t?void 0:t[e.dependency])||void 0===r?void 0:r.installed)&&void 0!==o&&o:void 0,m="counterstrikesharp"===e.key||null===(a=null==t?void 0:t.gameinfo_entries)||void 0===a?void 0:a[e.key];return n.createElement(E,{key:e.key,framework:e.key,label:e.label,description:e.description,icon:e.icon,status:d,version:c,gameInfoOk:m,dependency:e.dependency?null===(l=N.find(r=>r.key===e.dependency))||void 0===l?void 0:l.label:void 0,dependencyInstalled:u,isLoading:s===e.key||"metamod"===e.key&&"counterstrikesharp"===s,onInstall:()=>b("install",e.key),onUninstall:()=>b("uninstall",e.key)})})),n.createElement(F,{open:null!==(r=null==f?void 0:f.open)&&void 0!==r&&r,title:(()=>{if(!f)return"";const e=N.find(e=>e.key===f.framework),r=(null==e?void 0:e.label)||f.framework;return"install"===f.action?`Install ${r}`:`Uninstall ${r}`})(),message:(()=>{if(!f)return"";const e=N.find(e=>e.key===f.framework),r=(null==e?void 0:e.label)||f.framework;return"install"===f.action?`This will download and install the latest version of ${r} on your server. The server should be stopped before installing.`:`This will remove ${r} and its files from your server. Any plugins or configurations within ${r} will be lost.`})(),warning:(()=>{var e,r,n,o;if(f){if("install"===f.action&&"counterstrikesharp"===f.framework&&(null===(r=null===(e=null==t?void 0:t.metamod)||void 0===e?void 0:e.installed)||void 0===r||!r))return"Metamod:Source is not installed and will be automatically installed first, as CounterStrikeSharp requires it.";if("uninstall"===f.action&&"metamod"===f.framework&&null!==(o=null===(n=null==t?void 0:t.counterstrikesharp)||void 0===n?void 0:n.installed)&&void 0!==o&&o)return"CounterStrikeSharp is still installed and depends on Metamod. Please uninstall CounterStrikeSharp first."}})(),confirmLabel:"install"===(null==f?void 0:f.action)?"Install":"Uninstall",confirmColor:"install"===(null==f?void 0:f.action)?"#22c55e":"#ef4444",loading:null!==s,onConfirm:k,onCancel:v}))};return function(e){const r=function(e){return"id"in e&&!("config"in e)}(e)?{...e,config:{id:e.id}}:e,{config:t,slots:n=[],routes:a=[],onInit:i,onDestroy:l,cssIsolation:s}=r,d=o(),c=function(e,r){var t,n,o;const a=null===(t=e.extensions)||void 0===t?void 0:t.find(e=>e.id===r.id),i=null!==(n=r.name)&&void 0!==n?n:null==a?void 0:a.name,l=null!==(o=r.version)&&void 0!==o?o:null==a?void 0:a.version;if(!i||!l)throw new Error(`[Notur] Extension ${r.id} is missing name/version. Provide them in createExtension() or in extension.yaml.`);return{id:r.id,name:i,version:l}}(d,t),u=function(e,r,t){var n,o;if(!0===t)return{mode:"root-class"};if(t&&"object"==typeof t)return t;const a=null===(o=null===(n=e.extensions)||void 0===n?void 0:n.find(e=>e.id===r))||void 0===o?void 0:o.cssIsolation;return a&&"object"==typeof a?"class"in a&&!a.className?{...a,className:a.class}:a:void 0}(d,t.id,s);if(d.registry.registerExtension({id:c.id,name:c.name,version:c.version,slots:n.map(e=>({...e,extensionId:t.id})),routes:a.map(e=>({...e,extensionId:t.id})),cssIsolation:u}),l&&d.registry.registerDestroyCallback(t.id,l),i)try{i()}catch(e){console.error(`[Notur] Extension ${t.id} init error:`,e)}console.log(`[Notur] Extension registered: ${c.id} v${c.version}`)}({id:"notur/cs2-modframework",slots:[{slot:"server.subnav.after",component:()=>n.createElement("a",{href:"#",onClick:e=>{e.preventDefault();const r=window.location.pathname.match(/\/server\/([a-f0-9-]+)/);r&&(window.location.href=`/server/${r[1]}/mod-frameworks`)},style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.5rem 0.75rem",color:"var(--notur-text-secondary, #a0a8b4)",textDecoration:"none",fontSize:"0.875rem",borderRadius:"6px",transition:"color 0.15s, background 0.15s"}},n.createElement("span",{style:{fontSize:"1rem"}},"🧩"),"Mod Frameworks"),order:50,when:{server:!0}}],routes:[{area:"server",path:"/mod-frameworks",name:"Mod Frameworks",component:()=>{n.useEffect(()=>{!function(){if(document.getElementById(A))return;const e=document.createElement("style");e.id=A,e.textContent="@keyframes notur-spin { to { transform: rotate(360deg); } }",document.head.appendChild(e)}()},[]);const e=function(){const[e,r]=(0,n.useState)(null);return(0,n.useEffect)(()=>{const e=document.getElementById("app");if(!e)return;const t=e.dataset.server;if(t)try{r(JSON.parse(t))}catch(e){}const n=window.location.pathname.match(/\/server\/([a-f0-9-]+)/);n&&r(e=>e||{uuid:n[1],name:"",node:"",isOwner:!1,status:null,permissions:[]})},[]),e}();return e?n.createElement(J,{serverUuid:e.uuid}):n.createElement("div",{style:O},"Loading server context...")}}]}),{}})()); \ No newline at end of file From 1c9f23aef14c22aca47a0809bd94550faa003ecb Mon Sep 17 00:00:00 2001 From: sak0a Date: Wed, 11 Feb 2026 04:50:00 +0100 Subject: [PATCH 3/7] Enhance error handling during framework installation and uninstallation - Updated the `useModFramework` API to handle status refresh failures separately, ensuring that a failed status refresh does not obscure successful installation or uninstallation results. This improves the robustness of the installation and uninstallation processes. --- .../resources/frontend/src/api/useModFramework.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts b/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts index 48e1ad9e..011e3e7d 100644 --- a/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts +++ b/extensions/cs2-modframework/resources/frontend/src/api/useModFramework.ts @@ -83,7 +83,8 @@ export function useModFramework(serverUuid: string) { setError(null); try { const res = await apiPostRef.current('/install', { framework }) as { data: InstallResult }; - await fetchStatus(); + // Refresh status separately — a refresh failure must not mask a successful install + fetchStatus().catch(() => {}); return res.data; } catch (e: any) { const message = e.message || `Failed to install ${framework}`; @@ -99,7 +100,8 @@ export function useModFramework(serverUuid: string) { setError(null); try { const res = await apiPostRef.current('/uninstall', { framework }) as { data: InstallResult }; - await fetchStatus(); + // Refresh status separately — a refresh failure must not mask a successful uninstall + fetchStatus().catch(() => {}); return res.data; } catch (e: any) { const message = e.message || `Failed to uninstall ${framework}`; From b9c88e6c3f24a44f15ea7b3b1a9238b558c51ea0 Mon Sep 17 00:00:00 2001 From: sak0a Date: Wed, 11 Feb 2026 04:50:16 +0100 Subject: [PATCH 4/7] Update cs2-modframework.notur and its SHA256 checksum for integrity verification --- .../cs2-modframework/cs2-modframework.notur | Bin 37695 -> 37774 bytes .../cs2-modframework.notur.sha256 | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/cs2-modframework/cs2-modframework.notur b/extensions/cs2-modframework/cs2-modframework.notur index c4007fa484e7ec4cc860788618baa25789bf6f78..90b88fcc44b56899aef64c8d9f61f6a5eb47c654 100644 GIT binary patch literal 37774 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 oq0CL!V0hYd)kK88(vNR8jtbo{ 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ɽ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 Date: Wed, 11 Feb 2026 04:50:51 +0100 Subject: [PATCH 5/7] Update cs2-modframework.notur and its SHA256 checksum to reflect recent changes --- .../cs2-modframework/cs2-modframework.notur | Bin 37774 -> 37784 bytes .../cs2-modframework.notur.sha256 | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/cs2-modframework/cs2-modframework.notur b/extensions/cs2-modframework/cs2-modframework.notur index 90b88fcc44b56899aef64c8d9f61f6a5eb47c654..eb5cf799efa72c5f2012dc15db26fd6d58ac5e47 100644 GIT binary patch delta 37308 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 F0|1wMAN>FT delta 37363 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 oq0CLf5Hl{ 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

jx#u>6L_!EV|<*%; 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 E0A6}pIRF3v diff --git a/extensions/cs2-modframework/cs2-modframework.notur.sha256 b/extensions/cs2-modframework/cs2-modframework.notur.sha256 index 6898a710..dfb2b8de 100644 --- a/extensions/cs2-modframework/cs2-modframework.notur.sha256 +++ b/extensions/cs2-modframework/cs2-modframework.notur.sha256 @@ -1 +1 @@ -5a83308ca0ddfa941dc1c4a35b1ca4ae3d1cf68c6075dbdb66887afd06523514 cs2-modframework.notur +6a93af18484e3dd4cc0fada69fca31259d31bf062bbb21d3394f0de0aa9ff61b cs2-modframework.notur From 872538681d7630a009f0763ac03412f6c932b468 Mon Sep 17 00:00:00 2001 From: sak0a Date: Wed, 11 Feb 2026 05:13:43 +0100 Subject: [PATCH 6/7] Refactor NoturArchive to handle .notur file extraction - Introduced a new private method `openArchive` to manage the extraction of .notur files by renaming them to .tar.gz for compatibility with PharData. - Enhanced error handling during extraction to ensure original file names are restored on failure. - Updated existing methods to utilize the new `openArchive` method for improved code clarity and maintainability. --- src/Support/NoturArchive.php | 45 ++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/src/Support/NoturArchive.php b/src/Support/NoturArchive.php index 7b17182e..5c2d1971 100644 --- a/src/Support/NoturArchive.php +++ b/src/Support/NoturArchive.php @@ -133,15 +133,23 @@ public static function unpack(string $archivePath, string $targetPath, bool $ver mkdir($targetPath, 0755, true); } + // PharData infers format from file extension — .notur is not recognised, + // so we rename to .tar.gz, extract, then rename back. try { - $phar = new \PharData($archivePath); + [$phar, $renamedPath] = self::openArchive($archivePath); $phar->extractTo($targetPath, null, true); + } catch (RuntimeException $e) { + throw $e; } catch (\Throwable $e) { throw new RuntimeException( "Failed to extract archive {$archivePath}: {$e->getMessage()}", 0, $e, ); + } finally { + if (isset($renamedPath) && $renamedPath !== null && file_exists($renamedPath)) { + rename($renamedPath, $archivePath); + } } // Read checksums @@ -200,7 +208,7 @@ public static function verifyChecksums(string $basePath, array $checksums): void public static function readChecksums(string $archivePath): ?array { try { - $phar = new \PharData($archivePath); + [$phar, $renamedPath] = self::openArchive($archivePath); if (!isset($phar['checksums.json'])) { return null; @@ -212,6 +220,10 @@ public static function readChecksums(string $archivePath): ?array return is_array($decoded) ? $decoded : null; } catch (\Throwable) { return null; + } finally { + if (isset($renamedPath) && $renamedPath !== null && file_exists($renamedPath)) { + rename($renamedPath, $archivePath); + } } } @@ -293,4 +305,33 @@ private static function relativePath(string $basePath, string $fullPath): string { return ltrim(str_replace($basePath, '', $fullPath), '/\\'); } + + /** + * Open a .notur (or other non-standard extension) archive as PharData. + * + * PharData infers format from the file extension. A .notur file is a + * .tar.gz but PharData doesn't recognise that suffix, so we rename it + * to .tar.gz first and return the new path for the caller to use. + * + * @return array{0: \PharData, 1: string|null} The PharData instance and the renamed path (null if no rename was needed). + */ + private static function openArchive(string $archivePath): array + { + if (preg_match('/\.tar(\.gz|\.bz2)?$/i', $archivePath)) { + return [new \PharData($archivePath), null]; + } + + $renamedPath = $archivePath . '.tar.gz'; + rename($archivePath, $renamedPath); + + try { + $phar = new \PharData($renamedPath); + } catch (\Throwable $e) { + // Restore original name on failure + rename($renamedPath, $archivePath); + throw $e; + } + + return [$phar, $renamedPath]; + } } From 9ce9390e6e68d0e268f3dcbe57656727068c87f4 Mon Sep 17 00:00:00 2001 From: sak0a Date: Sun, 15 Feb 2026 07:36:17 +0100 Subject: [PATCH 7/7] Add Notur logo and update README for visual enhancement - Introduced a new logo image for Notur. - Updated README.md to include the logo, improving the visual presentation of the project. --- README.md | 4 ++++ notur-logo.png | Bin 0 -> 124722 bytes 2 files changed, 4 insertions(+) create mode 100644 notur-logo.png diff --git a/README.md b/README.md index 96fd8734..d1345715 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +

+ Notur +

+ # Notur Extension Library ![Version](https://img.shields.io/badge/version-1.2.2-blue) diff --git a/notur-logo.png b/notur-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f192ecd76980484b0437aae8e58c54aca8be31f4 GIT binary patch literal 124722 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�`Pms|M+U+Nh~SXS>l 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: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 PpGPthZ^X+)_5J@3LrbV} literal 0 HcmV?d00001